[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Qemu-devel] [Bug 1257099] [NEW] QEMU fails to build on CentOS 5.10 with relocation R_X86_64_PC32 error



Il 09/12/2013 13:47, Don Slutz ha scritto:
> On 12/05/13 22:20, Don Slutz wrote:
>> On 12/05/13 16:24, Richard Henderson wrote:
>>> On 12/06/2013 04:18 AM, Paolo Bonzini wrote:
>>>> $ gcc -shared -o f.so f.c -fPIE -fPIC
>>>> /usr/bin/ld: /tmp/ccQc9els.o: relocation R_X86_64_PC32 against `f'
>>>> can not be used when making a shared object; recompile with -fPIC
>>>> /usr/bin/ld: final link failed: Bad value
>>>> collect2: ld returned 1 exit status
>>>>
>>>>
>>>> The bug is simply that "-fPIE -fPIC" counts as -fPIE rather than -fPIC:
>>>>
>>>> $ gcc -S -o - f.c -fPIE |grep call
>>>>     call    f                      # PC32 relocation
>>>> $ gcc -S -o - f.c -fPIC |grep call
>>>>     call    f@PLT                  # PLT32 relocation
>>> The easy workaround is to drop -fPIE when we're adding -fPIC.
>>>
>>>
>>> r~
> [snip]
> 
> Attached is a much better version.  It drops -fPIE and adds -fPIC for
> libtool.

It's not much better, because using position-independent code for shared
libraries is really platform-dependent knowledge of the kind that
libtool is supposed to hide.

For example, on Mac OS X everything is position-independent by default.
 And on some platforms you have -fpic instead of -fPIC.

So I prefer the patch you had that disabled libtool if the platform is
buggy.

Paolo

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.