ld and R_386_GOTOFF relocs
H. J. Lu
hjl@lucon.org
Thu May 12 00:10:00 GMT 2005
On Thu, May 12, 2005 at 12:48:46AM +0200, Peter S. Mazinger wrote:
> Hello!
>
> I have gotten under peculiar circumstances following:
> (sysvinit) init.o: relocation R_386_GOTOFF against protected function
> `main' can not be used when making a shared object
>
> libc.so does not provide a weak 'main', main() is in crt1.o defined in asm
> as '.protected main'.
>
> init is built as -pie executable.
>
> I think this check is valid if a shared lib is created, but not valid for
> a PIE executable.
>
> I think, that a check info->shared should be changed to
> info->shared && !info->pie (or !info->executable), to allow pie to be
> linked, but I can't locate the one needed for this.
>
> Thanks, Peter
This is a gcc bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19520
H.J.
More information about the Gcc
mailing list