Re: [PATCH v3 0/4] pass -march= only to compiler

Nick Desaulniers
2022-05-16T21:14:54Z

+ Ard (I messed up my command line invocation of git send-email, sorry
for more noise)
https://lore.kernel.org/llvm/20220516210954.1660716-1-ndesaulniers@google.com/

On Mon, May 16, 2022 at 2:10 PM Nick Desaulniers
<ndesaulniers@google.com> wrote:
>
> When both -march= and -Wa,-march= are specified for assembler or
> assembler-with-cpp sources, GCC and Clang will prefer the -Wa,-march=
> value but Clang will warn that -march= is unused.
>
> warning: argument unused during compilation: '-march=armv6k'
> [-Wunused-command-line-argument]
>
> This is the top group of warnings we observe when using clang to
> assemble the kernel via `ARCH=arm make LLVM=1`.
>
> Arnd sent a v2 of my previous patch
> https://lore.kernel.org/linux-arm-kernel/20210928154143.2106903-14-arnd@kernel.org/
> I added yet a few more instances I found since then.
>
> Fixing this will allow us to enable
> -Werror=unused-command-line-argument for clang builds.
>
> Nick Desaulniers (4):
> ARM: remove lazy evaluation in Makefile
> ARM: use .arch directives instead of assembler command line flags
> ARM: only use -mtp=cp15 for the compiler
> ARM: pass -march= only to compiler
>
> arch/arm/Makefile | 76 ++++++++++++++++-------------
> arch/arm/boot/compressed/Makefile | 1 -
> arch/arm/common/Makefile | 2 -
> arch/arm/common/mcpm_head.S | 2 +
> arch/arm/common/vlock.S | 2 +
> arch/arm/kernel/Makefile | 2 -
> arch/arm/kernel/hyp-stub.S | 2 +
> arch/arm/kernel/swp_emulate.c | 1 +
> arch/arm/lib/Makefile | 4 --
> arch/arm/lib/delay-loop.S | 4 ++
> arch/arm/mach-at91/Makefile | 3 --
> arch/arm/mach-at91/pm_suspend.S | 4 ++
> arch/arm/mach-imx/Makefile | 3 --
> arch/arm/mach-imx/headsmp.S | 2 +
> arch/arm/mach-imx/resume-imx6.S | 2 +
> arch/arm/mach-imx/suspend-imx6.S | 2 +
> arch/arm/mach-mvebu/Makefile | 3 --
> arch/arm/mach-mvebu/coherency_ll.S | 1 +
> arch/arm/mach-mvebu/pmsu.c | 1 +
> arch/arm/mach-npcm/Makefile | 2 -
> arch/arm/mach-npcm/headsmp.S | 2 +
> arch/arm/mach-tegra/Makefile | 2 -
> arch/arm/mach-tegra/reset-handler.S | 2 +
> arch/arm/mach-tegra/sleep-tegra20.S | 2 +
> arch/arm/mach-tegra/sleep-tegra30.S | 2 +
> arch/arm/mm/Makefile | 15 ------
> arch/arm/mm/abort-ev6.S | 1 +
> arch/arm/mm/abort-ev7.S | 1 +
> arch/arm/mm/cache-v6.S | 2 +
> arch/arm/mm/cache-v7.S | 2 +
> arch/arm/mm/cache-v7m.S | 2 +
> arch/arm/mm/copypage-feroceon.c | 1 +
> arch/arm/mm/proc-v6.S | 2 +
> arch/arm/mm/proc-v7-2level.S | 2 +
> arch/arm/mm/proc-v7.S | 2 +
> arch/arm/mm/tlb-v6.S | 2 +
> arch/arm/mm/tlb-v7.S | 2 +
> drivers/memory/Makefile | 2 -
> drivers/memory/ti-emif-sram-pm.S | 1 +
> drivers/soc/bcm/brcmstb/pm/Makefile | 1 -
> drivers/soc/bcm/brcmstb/pm/s2-arm.S | 1 +
> 41 files changed, 94 insertions(+), 74 deletions(-)
>
>
> base-commit: 0ac824f379fba2c2b17b75fd5ada69cd68c66348
> --
> 2.36.0.550.gb090851708-goog
>

--
Thanks,
~Nick Desaulniers