[PATCH v2] bfd/elfnn-aarch64.c: Fix calculation of DT_RELASZ

Marcus Shawcroft marcus.shawcroft@gmail.com
Mon Mar 24 12:26:00 GMT 2014


On 24 March 2014 08:49, Will Newton <will.newton@linaro.org> wrote:
> On 20 March 2014 17:57, Jiong Wang <jiong.wang@arm.com> wrote:
>> On 20/03/14 15:46, Will Newton wrote:
>>>
>>> The current code subtracts the size of the output section containing
>>> relplt from RELASZ. In some cases this will be the same output
>>> section
>>
>>
>> Hi Will,
>>
>>   I guess you can only trigger this "same output section" issue when using
>> "ld-aarch64/aarch64.ld", right?
>
> Yes, it requires a custom linker script. The problem arose building
> OSv for aarch64:
>
> https://github.com/cloudius-systems/osv
>
> You could say the linker script is incorrect not to lay out the
> dynamic reloc sections explicitly but it seems counter intuitive
> behaviour to set RELASZ to zero when it clearly isn't.
>
> A number of ports base the size on the size of the output sections:
>
> lm32
> m32r
> nds32
> sh-32
> xtensa
> s390-64
> x86_64

which implies these ports are all broken in the same way ? or do they
address this issue in  a different way?

Cheers
/Marcus



More information about the Binutils mailing list