Re: [PATCH 02/17] x86, lto: Mark all top level asm statements as .text

From: Thomas Gleixner
Date: Wed Mar 27 2019 - 17:55:53 EST


On Wed, 27 Mar 2019, Andi Kleen wrote:
> >
> > It's static so it's scope is within the file and whatever GCC does with
> > that C function it has to respect that it accesses static data. If that's
> > not true then this really needs to be fixed at the compiler side and not in
> > the kernel.
>
> Ok so you did the statics with undefined size, so kind of an extern static.
> That's a weird construct (not sure if it's even allowed in standard C), but
> somehow it seems to work in gcc with the inline assembler.

Strict C89 does not allow that, but it does not allow a lot of other things
the kernel does.

> I checked the code general and with the .globl in NATIVE_LABEL the

With or without? I removed that as well.

> generated assembler looks like it should work even for LTO yes.
>
> I guess it's an interesting alternative to making them all global.
> Maybe that will work for more cases too.

Pretty much preferred over making static stuff global all over the place.

Thanks,

tglx