[PATCH] alpha: Do not build with -fpic
Adhemerval Zanella
adhemerval.zanella@linaro.org
Tue Mar 3 13:00:00 GMT 2020
On 03/03/2020 09:28, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>> On 02/03/2020 13:31, Adhemerval Zanella wrote:
>>>
>>>
>>> On 02/03/2020 13:22, Florian Weimer wrote:
>>>> * 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.
>>>
>>> I fired up a build/check on a alpha machine, I will post the result
>>> once it is done.
>>>
>>
>> The results are essentially the same as the one I got for 2.31 release [1],
>> so no regression. I used the same toolchain on same kernel (Linux 5.3.6-titan-p1+,
>> gcc 8.3.0, binutils 2.31.1).
>
> Thanks for ding this. Should I push the patch then?
I think it is the simplest solution, I tried built with -fpic -mlarge-text without
success.
More information about the Libc-alpha
mailing list