[PATCH] Fix SuperH relaxation overriding wrong intruction

Quentin Boswank qubos@outlook.de
Sat May 10 16:33:55 GMT 2025


Added this patch and referenced another one I had.

I can not say for sure if that indeed fixed everything, as I do not all 
the things that were broken to begin with. At least the R_SH_ALIGN 
processing in sh_elf_relax_delete_bytes still seems to be open.


Kind regards,

Quentin Boswank


Am 10.05.2025 um 15:50 schrieb Oleg Endo:
> On Sat, 2025-05-10 at 22:45 +0900, Oleg Endo wrote:
>> On Fri, 2025-05-09 at 16:29 +0200, Quentin Boswank wrote:
>>>  From efcaee7155b26208915e0dc066d168076a4f7ae2 Mon Sep 17 00:00:00 2001
>>>   From: QBos07<qubos@outlook.de>
>>>   Date: Fri, 9 May 2025 13:49:44 +0000
>>>   Subject: [PATCH] Fix SuperH relaxation overriding wrong intruction
>>>    when doing load store switching it wrongly adjusts the address of the
>>>   R_SH_USES reloc and not the actual offset from that instruction. This is
>>>   an issue if the pc-relative function call relaxation gets done in a
>>>   later pass wich will result in overriding the wrong instruction.
>> Wow, somebody actually did have the patience to sit down and go down that
>> rabbit hole.  Thanks!
>>
> BTW, this should be filed under PR 3298.
>
> Does it fully fix the broken -mrelax issue, or are there any remaining
> parts?
>
> Best regards,
> Oleg Endo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sourceware.org/pipermail/binutils/attachments/20250510/3a906649/attachment.htm>


More information about the Binutils mailing list