CPP predefine conflict with getpc thunks
David Miller
davem@davemloft.net
Wed Feb 24 12:54:00 GMT 2010
From: "Carlos O'Donell" <carlos@systemhalted.org>
Date: Tue, 23 Feb 2010 23:40:56 -0500
> I think we should undef it in the source and include a corresponding
> comment, or change all instances of __i686 to something else. Having
> the Makefiles undef a compiler define seems sneaky and bound to bite
> somebody.
>
> Is sysdeps/i386/sysdep.h (SETUP_PIC_REG) the only troublesome spot?
There are also several 10s of *.S assembler files, as well as some
other header files. Anywhere there is a PIC assembler sequence in the
x86 code, there will be one of these thunks and thus this problem.
You also can't use a different name, as this is the symbol name that
the compiler uses for the shared getpc thunks on x86. If we use a
different name, the instances glibc's assembler uses won't be sharable
with those emitted by the compiler.
I can't see a way around this other than getting it at the compiler
command line.
More information about the Libc-alpha
mailing list