[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 04/12/2013 02:32, Don Slutz ha scritto:
> Any hints or pointers about the bug in RHEL5 binutils?  I can try and
> make a patch to auto detect this.

Actually it's RHEL5 GCC:

$ cat f.c
void *
f(unsigned char *buf, int len)
{
    return (void*)0L;
}


void *
g(unsigned char *buf, int len)
{
    return f(buf, len);
}
$ 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

On RHEL5:
$ gcc -S -o - f.c -fPIE -fPIC |grep call
        call    f

On RHEL6:
$ gcc -S -o - f.c -fPIE -fPIC |grep call
        call    f@PLT

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