Browse Source
In LoongArch psABI v2.30, an offset (-8 for LO20 and -12 for HI12) should be applied on PC for these reloc types to avoid wrong relocation when the instruction sequence crosses a page boundary. The lld linker has already adapted the change. Make it for the bfd linker too. Link: https://github.com/loongson/la-abi-specs/releases/v2.30 Link: https://github.com/loongson-community/discussions/issues/17 Link: https://github.com/llvm/llvm-project/pull/73387 Signed-off-by: Xi Ruoyao <xry111@xry111.site>users/ARM/gcs-binutils-gdb-master
committed by
liuzhensong
4 changed files with 42 additions and 13 deletions
@ -0,0 +1,15 @@ |
|||
#ld: -Ttext=0x180000ff8 -Tdata=0x1000000000 |
|||
#objdump: -d |
|||
|
|||
.*:[ ]+file format .* |
|||
|
|||
|
|||
Disassembly of section .text: |
|||
|
|||
0000000180000ff8 <_start>: |
|||
[ ]+180000ff8:[ ]+1b000004[ ]+pcalau12i[ ]+\$a0,[ ]+-524288 |
|||
[ ]+180000ffc:[ ]+02c0000c[ ]+li.d[ ]+\$t0,[ ]+0 |
|||
[ ]+180001000:[ ]+160001ec[ ]+lu32i.d[ ]+\$t0,[ ]+15 |
|||
[ ]+180001004:[ ]+0300018c[ ]+lu52i.d[ ]+\$t0,[ ]+\$t0,[ ]+0 |
|||
[ ]+180001008:[ ]+0010b084[ ]+add.d[ ]+\$a0,[ ]+\$a0,[ ]+\$t0 |
|||
[ ]+18000100c:[ ]+4c000020[ ]+ret |
|||
@ -0,0 +1,8 @@ |
|||
.text |
|||
.globl _start |
|||
_start: |
|||
la.pcrel $a0, $t0, sym |
|||
jr $ra |
|||
.data |
|||
sym: |
|||
.dword 0 |
|||
Loading…
Reference in new issue