Re: broken local_t on i386

From: Andi Kleen
Date: Tue Jun 13 2006 - 00:03:21 EST


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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/