On Mon, Jan 9, 2023 at 2:29 PM Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> wrote: > > Hi! Happy new year all. HNY Segher! :) > > On Mon, Jan 09, 2023 at 01:58:32PM -0800, Nick Desaulniers wrote: > > On Wed, Jan 4, 2023 at 11:55 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > > > > > When clang's -Qunused-arguments is dropped from KBUILD_CPPFLAGS, it > > > warns that ASFLAGS contains '-s', which is a linking phase option, so it > > > is unused. > > > > > > clang-16: error: argument unused during compilation: '-s' [-Werror,-Wunused-command-line-argument] > > > > > > Looking at the GAS sources, '-s' is only useful when targeting Solaris > > > and it is ignored for the powerpc target so just drop the flag > > > altogether, as it is not needed. > > > > Do you have any more info where you found this? I don't see -s > > documented as an assembler flag. > > https://sourceware.org/binutils/docs/as/PowerPC_002dOpts.html > > https://sourceware.org/binutils/docs/as/Invoking.html > > It is required by POSIX (for the c99 command, anyway). It *also* is > required to be supported when producing object files (so when no linking > is done). > > It is a GCC flag, and documented just fine: > https://gcc.gnu.org/onlinedocs/gcc/Link-Options.html#index-s > > (Yes, that says it is for linking; but the option is allowed without > error of any kind always). > > (ASFLAGS sounds like it is for assembler commands, but it really is > for compiler commands that just happen to get .S input files). > > > The patch seems fine to me, but what was this ever supposed to be? > > FWICT it predates git history (looking at > > arch/powerpc/kernel/vdso32/Makefile at fc15351d9d63) > > Yeah, good question. This compiler flag does the moral equivalent of > strip -s (aka --strip-all). Maybe this was needed at some point, or > the symbol or debug info was just annoying (during bringup or similar)? Ah right! Ok then, I think we might keep the patch's diff, but update the commit message to mention this is a linker flag that's unused since the compiler is being invoked but not the linker (the compiler is being used as the driver to assemble a single assembler source without linking it; linking is then driven by the linker in a separate make rule). Then we might want to revisit that s390 patch, too? https://lore.kernel.org/llvm/20221228-drop-qunused-arguments-v1-9-658cbc8fc592@xxxxxxxxxx/ > > > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > Reviewed-by: Segher Boessenkool <segher@xxxxxxxxxxxxxxxxxxx> > > > Segher -- Thanks, ~Nick Desaulniers