Thread (28 messages) 28 messages, 7 authors, 2022-01-21

Re: [PATCH 13/14] ARM: use .arch directives instead of assembler command line flags

From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-09-28 18:33:15
Also in: lkml, llvm

On Tue, Sep 28, 2021 at 7:10 PM Nick Desaulniers
[off-list ref] wrote:
On Tue, Sep 28, 2021 at 8:42 AM Arnd Bergmann [off-list ref] wrote:
quoted
From: Nick Desaulniers <redacted>

Similar to commit a6c30873ee4a ("ARM: 8989/1: use .fpu assembler
directives instead of assembler arguments").

GCC and GNU binutils support setting the "sub arch" via -march=,
-Wa,-march, target function attribute, and .arch assembler directive.

Clang's integrated assembler does not support -Wa,-march (and the logic
to overrule one when multiple of the above are used), and this can
cause annoying warnings such as:

clang: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-march=armv6k' [-Wunused-command-line-argument]
Note, the above lack of support was fixed in clang-13. That said, both
Clang and GCC defer to -Wa,-march when -march is also present, so
clang is still correct that -march is ignored.  Thanks for resending;
this is still helpful for earlier releases of clang that we still
support.
The -Wunused-command-line-argument warning also caused a build
failure for me when building with 'make W=1', and I think there are
cases where the flags from the command line are contradictory.

Isn't the patch also needed for LTO? All I know is that with this
applied it all builds, but without it I run into link failures. I can dig
more into the specific failures, but overall I think this is the right
thing to do anyway.

       Arnd

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help