|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [Bug 1257099] [NEW] QEMU fails to build on CentOS 5.10 with relocation R_X86_64_PC32 error |
Date: | Fri, 06 Dec 2013 10:24:59 +1300 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0 |
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 address@hidden # PLT32 relocation The easy workaround is to drop -fPIE when we're adding -fPIC. r~
[Prev in Thread] | Current Thread | [Next in Thread] |