forked from OSchip/llvm-project
[ELF][AArch64] Add R_AARCH64_PLT32 relocation type.
The R_AARCH64_PLT32 relocation type will be documented in the next release of ELF for the 64-bit Arm Architecture. It is being added in draft state for the benefit of the position independent vtable feature. R_AARCH64_PLT32 is very similar to R_AARCH64_PREL32. The intention is to provide a signed 32-bit integer representing an offset from the place to a function. - It relocates 32-bit data - The expression is S + A - P - The overflow check for the expression is -2^31 <= X < 2^31 - The relocation generates Thunks/Veneers/Stubs and PLT entries as per R_AArch64_CALL26 - If the symbol S is an undefined weak the ABI does not define its value. The ABI defines a code for ilp32 for completeness, I have added the code but have only added to the existing reloc-types-elf-aarch64.text as there is no ilp32 equivalent. Differential Revision: https://reviews.llvm.org/D77647
This commit is contained in:
parent
916044d819
commit
02cd80e68e
|
@ -132,6 +132,7 @@ ELF_RELOC(R_AARCH64_TLS_DTPREL64, 0x405)
|
|||
ELF_RELOC(R_AARCH64_TLS_TPREL64, 0x406)
|
||||
ELF_RELOC(R_AARCH64_TLSDESC, 0x407)
|
||||
ELF_RELOC(R_AARCH64_IRELATIVE, 0x408)
|
||||
ELF_RELOC(R_AARCH64_PLT32, 0x409)
|
||||
|
||||
// ELF_RELOC(R_AARCH64_P32_NONE, 0)
|
||||
ELF_RELOC(R_AARCH64_P32_ABS32, 0x001)
|
||||
|
@ -219,3 +220,4 @@ ELF_RELOC(R_AARCH64_P32_TLS_DTPMOD, 0x0b9)
|
|||
ELF_RELOC(R_AARCH64_P32_TLS_TPREL, 0x0ba)
|
||||
ELF_RELOC(R_AARCH64_P32_TLSDESC, 0x0bb)
|
||||
ELF_RELOC(R_AARCH64_P32_IRELATIVE, 0x0bc)
|
||||
ELF_RELOC(R_AARCH64_P32_PLT32, 0x0bd)
|
||||
|
|
|
@ -127,6 +127,7 @@
|
|||
# CHECK: Type: R_AARCH64_TLS_TPREL64 (1030)
|
||||
# CHECK: Type: R_AARCH64_TLSDESC (1031)
|
||||
# CHECK: Type: R_AARCH64_IRELATIVE (1032)
|
||||
# CHECK: Type: R_AARCH64_PLT32 (1033)
|
||||
|
||||
--- !ELF
|
||||
FileHeader:
|
||||
|
@ -267,3 +268,4 @@ Sections:
|
|||
- Type: R_AARCH64_TLS_TPREL64
|
||||
- Type: R_AARCH64_TLSDESC
|
||||
- Type: R_AARCH64_IRELATIVE
|
||||
- Type: R_AARCH64_PLT32
|
||||
|
|
Loading…
Reference in New Issue