[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Bug 1257099] [NEW] QEMU fails to build on CentOS 5.10
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [Bug 1257099] [NEW] QEMU fails to build on CentOS 5.10 with relocation R_X86_64_PC32 error |
Date: |
Thu, 05 Dec 2013 16:18:11 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
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 address@hidden # 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 address@hidden
Paolo
[Prev in Thread] |
Current Thread |
[Next in Thread] |