Re: [PATCH] Makefile: Improve compressed debug info support detection

From: Arvind Sankar
Date: Thu Jun 11 2020 - 17:44:24 EST


On Thu, Jun 11, 2020 at 01:44:53PM -0700, Nick Desaulniers wrote:
> On Wed, Jun 10, 2020 at 4:39 PM Arvind Sankar <nivedita@xxxxxxxxxxxx> wrote:
> >
> > On Wed, Jun 10, 2020 at 07:30:46PM -0400, Arvind Sankar wrote:
> > > On Wed, Jun 10, 2020 at 02:27:55PM -0700, Nick Desaulniers wrote:
> > >
> > > No, as-option does invoke the assembler. The problem here is that with
> > > -Wa, the option is only seen by the assembler, not the gcc driver. So it
> > > will succeed because the assembler supports it, but it will not test
> > > whether the gcc driver also supports it.
> > >
> >
> > I think in theory another way to fix it is to just use -Wa even for
> > CFLAGS, assuming the compiler itself doesn't have to do anything with
> > the option and it's purely an assembler thing. Then you'd just do the as
> > and ld tests.
>
> I don't think the CFLAGS are used for .S source files though. We may
> drive assembler via the compiler, but AFLAGS are used in place of
> CFLAGS IIRC. (eh, maybe not for ARCH=arc, ARCH=sh, ARCH=csky,
> ARCH=mips)
>
> --
> Thanks,
> ~Nick Desaulniers

I meant just replace
KBUILD_CFLAGS += -gz=zlib
with
KBUILD_CFLAGS += -Wa,--compress-debug-sections=zlib
leaving KBUILD_AFLAGS the same as before
KBUILD_AFLAGS += -Wa,--compress-debug-sections=zlib

This would avoid depending on the subtleties in the gcc driver's support
for this option. But -gz=zlib is passed to cc1 as well as the assembler,
so I'm not sure if there would be some loss from not passing it to the
compiler.