[PATCH v2] LoongArch: Add bad static relocation check and output more information to user
mengqinggang
mengqinggang@loongson.cn
Wed Jun 19 06:53:14 GMT 2024
在 2024/6/18 下午5:45, Xi Ruoyao 写道:
> On Fri, 2024-04-19 at 17:59 +0800, Lulu Cai wrote:
>> case R_LARCH_ABS_HI20:
>> case R_LARCH_SOP_PUSH_ABSOLUTE:
>> + if (bfd_link_pic (info))
>> + return bad_static_reloc (abfd, rel, sec, r_type, h,
>> isym);
> Hi,
>
> This has broken linking the object files created by gas-2.38 with ld
> from Binutils trunk. In the era of gas-2.38 we used
> R_LARCH_SOP_PUSH_ABSOLUTE heavily even with -fPIC:
>
> 0000000000000000 <_start>:
> 0: 1c000004 pcaddu12i $a0, 0
> 0: R_LARCH_SOP_PUSH_PCREL _start+0x800
> 0: R_LARCH_SOP_PUSH_ABSOLUTE *ABS*+0xc
> 0: R_LARCH_SOP_SR *ABS*
> 0: R_LARCH_SOP_POP_32_S_5_20 *ABS*
> 4: 02c00084 addi.d $a0, $a0, 0
> 4: R_LARCH_SOP_PUSH_PCREL _start+0x4
> 4: R_LARCH_SOP_PUSH_PCREL _start+0x804
> 4: R_LARCH_SOP_PUSH_ABSOLUTE *ABS*+0xc
> 4: R_LARCH_SOP_SR *ABS*
> 4: R_LARCH_SOP_PUSH_ABSOLUTE *ABS*+0xc
> 4: R_LARCH_SOP_SL *ABS*
> 4: R_LARCH_SOP_SUB *ABS*
> 4: R_LARCH_SOP_POP_32_S_10_12 *ABS*
> 8: 4c000020 jirl $zero, $ra, 0
> c: 03400000 andi $zero, $zero, 0x0
>
> Now to me maintaining the support of those stack-based reloc types has
> been a burden. Should we just remove the support in the upcoming 2.43
> release, or make them deprecated (with a warning) in 2.43 and remove the
> support in 2.44?
>
More information about the Binutils
mailing list