Skip to content

Commit 44f98e0

Browse files
authored
Remove [GT]PREL_[IS] internal binutils relocations (#199)
These have never been emitted by GCC or Clang, nor has there ever been assembly syntax in either toolchain to create them. These are fake internal relocations inside binutils used as part of its implementation of linker relaxation, and so should not be part of the psABI. They should be free to be reallocated for psABI uses (which can include reintroducing them, if there is a need to expose them to assembly and code generation). Closes: #160
1 parent 6ecd27f commit 44f98e0

File tree

1 file changed

+1
-4
lines changed

1 file changed

+1
-4
lines changed

riscv-elf.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -575,10 +575,7 @@ Enum | ELF Reloc Type | Description | Field | C
575575
44 | R_RISCV_RVC_BRANCH | PC-relative branch offset | _CB-Type_ | S + A - P
576576
45 | R_RISCV_RVC_JUMP | PC-relative jump offset | _CJ-Type_ | S + A - P
577577
46 | R_RISCV_RVC_LUI | Absolute address | _CI-Type_ | S + A
578-
47 | R_RISCV_GPREL_I | GP-relative reference | _I-Type_ | S + A - GP
579-
48 | R_RISCV_GPREL_S | GP-relative reference | _S-Type_ | S + A - GP
580-
49 | R_RISCV_TPREL_I | TP-relative TLS LE load | _I-Type_
581-
50 | R_RISCV_TPREL_S | TP-relative TLS LE store | _S-Type_
578+
47-50 | *Reserved* | Reserved for future standard use
582579
51 | R_RISCV_RELAX | Instruction can be relaxed | | | Paired with a normal relocation at the same address
583580
52 | R_RISCV_SUB6 | Local label subtraction | _word6_ | V - S - A
584581
53 | R_RISCV_SET6 | Local label assignment | _word6_ | S + A

0 commit comments

Comments
 (0)