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

Re: [Xen-devel] xen 4.4.0 dependency lzo fails to build from source due to fPIC



>>> On 29.07.14 at 22:21, <dslutz@xxxxxxxxxxx> wrote:

> On 07/29/14 02:46, Jan Beulich wrote:
>>>>> On 28.07.14 at 23:02, <anthony@xxxxxxxxxxxxxxx> wrote:
>>> If xen detects lzo, it tries to build tools/xclib/libxenguest.so.4.4.0
>>> with lzo support but fails with the error:
>>>
>>> /usr/bin/ld:
>>> /usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.2/../../../../lib64/liblzo2.a(lzo_ini
>>> t.o):
>>> relocation R_X86_64_PC32 against symbol '_lzo_config_check' can not be
>>> used when making a shared object; recompile with -fPIC
>>>
>>> reading around the subject it would seem to be a problem with the lzo
>>> library (2.08) which has been built without using the -fPIC option.
>>> However, when I look at the lzo package there is no standard way to
>>> build it with -fPIC. My workaround has been simply to remove the lzo
>>> package, but I'm not sure this is a good solution, and I don't
>>> understand why this problem doesn't seem to have been encountered before.
>>>
>>> Should I be building Xen with LZO support? (does everybody else build
>>> without LZO support?)
>>>
>>> Should I be adding fPIC to the LZO options and rebuilding LZO?
>>>
>>> Is there something else I'm doing wrong that is causing the problem?
> 
> This could also be "broken toolchain" as:
> 
> 
>   Subject: Re: [Xen-devel] [Qemu-devel] [Bug 1257099] [NEW]
>   QEMU fails to build on CentOS 5.10 with relocation
>   R_X86_64_PC32 error - msg#00032
> 
> 
> On 12/14/13 15:21, Don Slutz wrote:
> On 12/09/13 08:22, Paolo Bonzini wrote:
> 
> 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.

Question is - where did you spot us using -fPIE outside any of the
external trees? I didn't find any instance.

Jan


_______________________________________________
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®.