Comment # 5 on bug 919819 from
(In reply to Richard Biener from comment #3)
> Confirmed.  The issue is combining -pie -fPIE and -static.  On x86_64 you
> instead get
> 
> > gcc -o ct  -fPIE -pie -static t.c
> /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld:
> /usr/lib64/gcc/x86_64-suse-linux/4.8/crtbeginT.o: relocation R_X86_64_32
> against `__TMC_END__' can not be used when making a shared object; recompile
> with -fPIC
> /usr/lib64/gcc/x86_64-suse-linux/4.8/crtbeginT.o: error adding symbols: Bad
> value
> collect2: error: ld returned 1 exit status
> 
> that's because there isn't a PIE static crtbegin.o.  On i?86 you are just
> lucky.  Combining PIE and -static is simply not supported.

Tha fact that it is not supported is just fine. The problem is that configure
hangs and do not complete on 32-bit. That's because ld does not terminate with
an error but it hangs. You need to kill the ld process in order to let
configure continue. 

> New linker from Factory seems to handle this fine (in some sense - it
> produces
> a shared object with no dependencies).
> 
> What is the configure test testing?

checking if gcc -std=gnu99 static flag -static works.
The answer should be no, but on 32-bit it never gets there.


You are receiving this mail because: