• Nathan Chancellor's avatar
    powerpc: Remove linker flag from KBUILD_AFLAGS · 31f48f16
    Nathan Chancellor authored
    When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, it
    points out that KBUILD_AFLAGS contains a linker flag, which will be
    unused:
    
      clang: error: -Wl,-a32: 'linker' input unused [-Werror,-Wunused-command-line-argument]
    
    This was likely supposed to be '-Wa,-a$(BITS)'. However, this change is
    unnecessary, as all supported versions of clang and gcc will pass '-a64'
    or '-a32' to GNU as based on the value of '-m'; the behavior of the
    latest stable release of the oldest supported major version of each
    compiler is shown below and each compiler's latest release exhibits the
    same behavior (GCC 12.2.0 and Clang 15.0.6).
    
      $ powerpc64-linux-gcc --version | head -1
      powerpc64-linux-gcc (GCC) 5.5.0
    
      $ powerpc64-linux-gcc -m64 -### -x assembler-with-cpp -c -o /dev/null /dev/null &| grep 'as '
      .../as -a64 -mppc64 -many -mbig -o /dev/null /tmp/cctwuBzZ.s
    
      $ powerpc64-linux-gcc -m32 -### -x assembler-with-cpp -c -o /dev/null /dev/null &| grep 'as '
      .../as -a32 -mppc -many -mbig -o /dev/null /tmp/ccaZP4mF.sg
    
      $ clang --version | head -1
      Ubuntu clang version 11.1.0-++20211011094159+1fdec59bffc1-1~exp1~20211011214622.5
    
      $ clang --target=powerpc64-linux-gnu -fno-integrated-as -m64 -### \
        -x assembler-with-cpp -c -o /dev/null /dev/null &| grep gnu-as
       "/usr/bin/powerpc64-linux-gnu-as" "-a64" "-mppc64" "-many" "-o" "/dev/null" "/tmp/null-80267c.s"
    
      $ clang --target=powerpc64-linux-gnu -fno-integrated-as -m64 -### \
        -x assembler-with-cpp -c -o /dev/null /dev/null &| grep gnu-as
       "/usr/bin/powerpc64-linux-gnu-as" "-a32" "-mppc" "-many" "-o" "/dev/null" "/tmp/null-ab8f8d.s"
    
    Remove this flag altogether to avoid future issues.
    
    Fixes: 1421dc6d ("powerpc/kbuild: Use flags variables rather than overriding LD/CC/AS")
    Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
    Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Tested-by: default avatarLinux Kernel Functional Testing <lkft@linaro.org>
    Tested-by: default avatarAnders Roxell <anders.roxell@linaro.org>
    Acked-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
    31f48f16
Makefile 14.2 KB