[PATCH] alpha: Do not build with -fpic

Florian Weimer fweimer@redhat.com
Mon Mar 2 16:23:00 GMT 2020


* Jeff Law:

> On Mon, 2020-03-02 at 16:58 +0100, Florian Weimer wrote:
>> The combination of GCC 10 and binutils 2.35 (both unreleased) is no
>> longer able to link the dynamic linker, due to a GP16 relocation
>> overflow error:
>> 
>> glibc/alpha-linux-gnu/elf/librtld.os: in function `calloc':
>> glibc/elf/../include/rtld-malloc.h:44:(.text+0xd98): relocation truncated to
>> fit: GPREL16 against symbol `__rtld_calloc' defined in .data.rel.ro section
>> in glibc/alpha-linux-gnu/elf/librtld.os
>> glibc/alpha-linux-gnu/elf/librtld.os: in function `malloc':
>> glibc/elf/../include/rtld-malloc.h:56:(.text+0x2978): relocation truncated to
>> fit: GPREL16 against symbol `__rtld_malloc' defined in .data.rel.ro section
>> in glibc/alpha-linux-gnu/elf/librtld.os
>> 
>> This is arguably a linker bug; the object files and their section size
>> requirements look reasonable enough.
>> 
>> Using -fPIC (the default) works around this issue.
> Thanks.  I was literally just about to start chasing this down.  Everything was
> fine last build (a week ago) and blew up in last night's test:
>
> http://3.14.90.209:8080/job/alpha-linux-gnu/lastFailedBuild/

Credits for spotting this should go to Joseph:

  <https://www.sourceware.org/ml/libc-alpha/2020-02/msg01023.html>

Now we need an alpha maintainer to review the workaround.

Florian



More information about the Libc-alpha mailing list