qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]