diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2020-07-26 19:36:28 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2020-07-26 19:36:28 +0000 |
commit | cfca06d7963fa0909f90483b42a6d7d194d01e08 (patch) | |
tree | 209fb2a2d68f8f277793fc8df46c753d31bc853b /llvm/include/llvm/BinaryFormat/ELFRelocs | |
parent | 706b4fc47bbc608932d3b491ae19a3b9cde9497b (diff) |
Notes
Diffstat (limited to 'llvm/include/llvm/BinaryFormat/ELFRelocs')
4 files changed, 61 insertions, 0 deletions
diff --git a/llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def b/llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def index c8364133e31f..96a4efe82560 100644 --- a/llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def +++ b/llvm/include/llvm/BinaryFormat/ELFRelocs/AArch64.def @@ -58,6 +58,7 @@ ELF_RELOC(R_AARCH64_LD64_GOTOFF_LO15, 0x136) ELF_RELOC(R_AARCH64_ADR_GOT_PAGE, 0x137) ELF_RELOC(R_AARCH64_LD64_GOT_LO12_NC, 0x138) ELF_RELOC(R_AARCH64_LD64_GOTPAGE_LO15, 0x139) +ELF_RELOC(R_AARCH64_PLT32, 0x13a) ELF_RELOC(R_AARCH64_TLSGD_ADR_PREL21, 0x200) ELF_RELOC(R_AARCH64_TLSGD_ADR_PAGE21, 0x201) ELF_RELOC(R_AARCH64_TLSGD_ADD_LO12_NC, 0x202) @@ -120,6 +121,7 @@ ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12, 0x23a) ELF_RELOC(R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC, 0x23b) ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12, 0x23c) ELF_RELOC(R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC, 0x23d) +// Dynamic relocations start ELF_RELOC(R_AARCH64_COPY, 0x400) ELF_RELOC(R_AARCH64_GLOB_DAT, 0x401) ELF_RELOC(R_AARCH64_JUMP_SLOT, 0x402) @@ -162,6 +164,7 @@ ELF_RELOC(R_AARCH64_P32_GOT_LD_PREL19, 0x019) ELF_RELOC(R_AARCH64_P32_ADR_GOT_PAGE, 0x01a) ELF_RELOC(R_AARCH64_P32_LD32_GOT_LO12_NC, 0x01b) ELF_RELOC(R_AARCH64_P32_LD32_GOTPAGE_LO14, 0x01c) +ELF_RELOC(R_AARCH64_P32_PLT32, 0x01d) ELF_RELOC(R_AARCH64_P32_TLSGD_ADR_PREL21, 0x050) ELF_RELOC(R_AARCH64_P32_TLSGD_ADR_PAGE21, 0x051) ELF_RELOC(R_AARCH64_P32_TLSGD_ADD_LO12_NC, 0x052) @@ -210,6 +213,7 @@ ELF_RELOC(R_AARCH64_P32_TLSDESC_ADR_PAGE21, 0x07c) ELF_RELOC(R_AARCH64_P32_TLSDESC_LD32_LO12, 0x07d) ELF_RELOC(R_AARCH64_P32_TLSDESC_ADD_LO12, 0x07e) ELF_RELOC(R_AARCH64_P32_TLSDESC_CALL, 0x07f) +// Dynamic relocations start ELF_RELOC(R_AARCH64_P32_COPY, 0x0b4) ELF_RELOC(R_AARCH64_P32_GLOB_DAT, 0x0b5) ELF_RELOC(R_AARCH64_P32_JUMP_SLOT, 0x0b6) diff --git a/llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def b/llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def index 8c5b482f0511..e28c9caaefaf 100644 --- a/llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def +++ b/llvm/include/llvm/BinaryFormat/ELFRelocs/PowerPC64.def @@ -26,6 +26,7 @@ #undef R_PPC64_GOT16_LO #undef R_PPC64_GOT16_HI #undef R_PPC64_GOT16_HA +#undef R_PPC64_COPY #undef R_PPC64_GLOB_DAT #undef R_PPC64_JMP_SLOT #undef R_PPC64_RELATIVE @@ -95,6 +96,9 @@ #undef R_PPC64_TPREL16_HIGHA #undef R_PPC64_DTPREL16_HIGH #undef R_PPC64_DTPREL16_HIGHA +#undef R_PPC64_REL24_NOTOC +#undef R_PPC64_PCREL34 +#undef R_PPC64_GOT_PCREL34 #undef R_PPC64_IRELATIVE #undef R_PPC64_REL16 #undef R_PPC64_REL16_LO @@ -119,6 +123,7 @@ ELF_RELOC(R_PPC64_GOT16, 14) ELF_RELOC(R_PPC64_GOT16_LO, 15) ELF_RELOC(R_PPC64_GOT16_HI, 16) ELF_RELOC(R_PPC64_GOT16_HA, 17) +ELF_RELOC(R_PPC64_COPY, 19) ELF_RELOC(R_PPC64_GLOB_DAT, 20) ELF_RELOC(R_PPC64_JMP_SLOT, 21) ELF_RELOC(R_PPC64_RELATIVE, 22) @@ -188,6 +193,9 @@ ELF_RELOC(R_PPC64_TPREL16_HIGH, 112) ELF_RELOC(R_PPC64_TPREL16_HIGHA, 113) ELF_RELOC(R_PPC64_DTPREL16_HIGH, 114) ELF_RELOC(R_PPC64_DTPREL16_HIGHA, 115) +ELF_RELOC(R_PPC64_REL24_NOTOC, 116) +ELF_RELOC(R_PPC64_PCREL34, 132) +ELF_RELOC(R_PPC64_GOT_PCREL34, 133) ELF_RELOC(R_PPC64_IRELATIVE, 248) ELF_RELOC(R_PPC64_REL16, 249) ELF_RELOC(R_PPC64_REL16_LO, 250) diff --git a/llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def b/llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def index 5cc4c0ec3029..9f2f0540bcbd 100644 --- a/llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def +++ b/llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV.def @@ -57,3 +57,4 @@ ELF_RELOC(R_RISCV_SET8, 54) ELF_RELOC(R_RISCV_SET16, 55) ELF_RELOC(R_RISCV_SET32, 56) ELF_RELOC(R_RISCV_32_PCREL, 57) +ELF_RELOC(R_RISCV_IRELATIVE, 58) diff --git a/llvm/include/llvm/BinaryFormat/ELFRelocs/VE.def b/llvm/include/llvm/BinaryFormat/ELFRelocs/VE.def new file mode 100644 index 000000000000..9bfdbf1b0960 --- /dev/null +++ b/llvm/include/llvm/BinaryFormat/ELFRelocs/VE.def @@ -0,0 +1,48 @@ + +#ifndef ELF_RELOC +#error "ELF_RELOC must be defined" +#endif + +// Relocation types defined in following documents. +// +// - System V Application Binary Interface - VE Architecture +// Processor Supplement +// - ELF Handling For Thread-Local Storage - VE Architecture +// Processor Supplement + +ELF_RELOC(R_VE_NONE, 0) +ELF_RELOC(R_VE_REFLONG, 1) +ELF_RELOC(R_VE_REFQUAD, 2) +ELF_RELOC(R_VE_SREL32, 3) +ELF_RELOC(R_VE_HI32, 4) +ELF_RELOC(R_VE_LO32, 5) +ELF_RELOC(R_VE_PC_HI32, 6) +ELF_RELOC(R_VE_PC_LO32, 7) +ELF_RELOC(R_VE_GOT32, 8) +ELF_RELOC(R_VE_GOT_HI32, 9) +ELF_RELOC(R_VE_GOT_LO32, 10) +ELF_RELOC(R_VE_GOTOFF32, 11) +ELF_RELOC(R_VE_GOTOFF_HI32, 12) +ELF_RELOC(R_VE_GOTOFF_LO32, 13) +ELF_RELOC(R_VE_PLT32, 14) +ELF_RELOC(R_VE_PLT_HI32, 15) +ELF_RELOC(R_VE_PLT_LO32, 16) +ELF_RELOC(R_VE_RELATIVE, 17) +ELF_RELOC(R_VE_GLOB_DAT, 18) +ELF_RELOC(R_VE_JUMP_SLOT, 19) +ELF_RELOC(R_VE_COPY, 20) +ELF_RELOC(R_VE_DTPMOD64, 22) +ELF_RELOC(R_VE_DTPOFF64, 23) +// ELF_RELOC(R_VE_TPOFF64, 24) +ELF_RELOC(R_VE_TLS_GD_HI32, 25) +ELF_RELOC(R_VE_TLS_GD_LO32, 26) +// ELF_RELOC(R_VE_TLS_LD_HI32, 27) +// ELF_RELOC(R_VE_TLS_LD_LO32, 28) +// ELF_RELOC(R_VE_DTPOFF32, 29) +// ELF_RELOC(R_VE_TLS_IE_HI32, 30) +// ELF_RELOC(R_VE_TLS_IE_LO32, 31) +ELF_RELOC(R_VE_TPOFF_HI32, 32) +ELF_RELOC(R_VE_TPOFF_LO32, 33) +// ELF_RELOC(R_VE_TPOFF32, 34) +ELF_RELOC(R_VE_CALL_HI32, 35) +ELF_RELOC(R_VE_CALL_LO32, 36) |