Re: broken local_t on i386

Andi Kleen
2006-06-13T04:04:04Z

On Monday 12 June 2006 22:12, Alan Cox wrote:
> Ar Llu, 2006-06-12 am 20:11 +0200, ysgrifennodd Andi Kleen:
> > The segment register needs an offset. So you need the linker to generate
> > the offset from the base of the per cpu segment somehow. At compile time the
> > address is not known so it cannot be done then.
>
> What happens if you put a section at zero and a section at non-fixed
> address (aligned). In the asm macros you stick the variable in both,
> using the zero based one for linker symbols and the non zero based one
> for data, then discard the zero based one.

Interesting idea. Maybe it'll work.

> That used to work for old binutils which didn't care/spot if you were
> discarding material you actually linked against. Not sure what todays
> binutils does with it.

AFAIK it warns at least. Might get noisy.

-Andi