lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 8 Nov 2022 11:30:39 -0700
From:   Nathan Chancellor <nathan@...nel.org>
To:     Russell King <rmk+kernel@...linux.org.uk>,
        Nick Desaulniers <ndesaulniers@...gle.com>
Cc:     Arnd Bergmann <arnd@...db.de>, Ard Biesheuvel <ardb@...nel.org>,
        Masahiro Yamada <masahiroy@...nel.org>,
        Linus Walleij <linus.walleij@...aro.org>,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
        llvm@...ts.linux.dev
Subject: Re: [PATCH v4 2/4] ARM: use .arch directives instead of assembler
 command line flags

Hi Russell,

On Fri, Oct 14, 2022 at 01:13:52PM -0700, Nick Desaulniers wrote:
> 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 was missing support for -Wa,-march=, but this was implemented in
> clang-13.
> 
> The behavior of both GCC and Clang is to
> prefer -Wa,-march= over -march= for assembler and assembler-with-cpp
> sources, but Clang will warn about the -march= being unused.
> 
> clang: warning: argument unused during compilation: '-march=armv6k'
> [-Wunused-command-line-argument]
> 
> Since most assembler is non-conditionally assembled with one sub arch
> (modulo arch/arm/delay-loop.S which conditionally is assembled as armv4
> based on CONFIG_ARCH_RPC, and arch/arm/mach-at91/pm-suspend.S which is
> conditionally assembled as armv7-a based on CONFIG_CPU_V7), prefer the
> .arch assembler directive.
> 
> Add a few more instances found in compile testing as found by Arnd and
> Nathan.
> 
> Link: https://github.com/llvm/llvm-project/commit/1d51c699b9e2ebc5bcfdbe85c74cc871426333d4
> Link: https://bugs.llvm.org/show_bug.cgi?id=48894
> Link: https://github.com/ClangBuiltLinux/linux/issues/1195
> Link: https://github.com/ClangBuiltLinux/linux/issues/1315
> Suggested-by: Arnd Bergmann <arnd@...db.de>
> Suggested-by: Nathan Chancellor <nathan@...nel.org>
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
> Signed-off-by: Nick Desaulniers <ndesaulniers@...gle.com>
> ---
> Changes v3 -> v4:
> * Add .arch armv7-a to arch/arm/mach-tegra/sleep.S as per Nathan.
>   https://github.com/ClangBuiltLinux/linux/issues/1315#issuecomment-1255646893
> * Add Nathan's SB tag.

I noticed that this series appears to be partially applied in
next-20221108:

59247fe730db ARM: 9265/1: pass -march= only to compiler
bc21212c5564 ARM: 9264/1: only use -mtp=cp15 for the compiler
5aa4860eb50f ARM: 9262/1: remove lazy evaluation in Makefile

This patch (submitted as 9263/1) is needed by 9265/1; without it, builds
are going to break:

https://builds.tuxbuild.com/2HGSpQMAKxJuaMAz2ZZc1UgUvvu/build.log

Was there a problem with applying this patch or just an oversight? It
would be great to get this whole series applied so that we can turn
-Wunused-command-line-argument into a hard error.

Cheers,
Nathan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ