Re: broken local_t on i386

Alan Cox
2006-06-12T19:56:57Z

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.

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.

Alan