Bug ID | 1170376 |
---|---|
Summary | Enable -moutline-atomics flag for GCC in Tumbleweed |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | aarch64 |
OS | Linux |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Other |
Assignee | screening-team-bugs@suse.de |
Reporter | guillaume.gardet@arm.com |
QA Contact | qa-bugs@suse.de |
CC | afaerber@suse.com, dleuenberger@suse.com, dmueller@suse.com |
Found By | --- |
Blocker | --- |
GCC 10 and GCC 9.3.1+ support '-moutline-atomics' [0], so we could enable this flag in Tumbleweed to improve LSE atomic operations on armv8.1+ hardware, with very small overhead for armv8.0 hardware. The problem is llvm does not support this flag and returns an error if used: clang-10.0: error: unknown argument: '-moutline-atomics' The problem is optflags in Tumbleweed PrjConf targets both GCC and LLVM, so adding '-moutline-atomics' would break LLVM builds. I can see few solutions: 1) Enable '-moutline-atomics' by default in GCC packages [1] 2) Add '-moutline-atomics' to the list of ignored flags in LLVM 3) Split optflags to optflags_common, optflags_gcc and optflags_llvm [0]: https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html#AArch64-Options [1]: https://gcc.gnu.org/legacy-ml/gcc-patches/2019-09/msg01035.html