Update missing arch relocations
Change-Id: I2d48b810f5e3143377fa58e1de5801ebf0be82cd Reviewed-on: https://review.haiku-os.org/c/haiku/+/4409 Tested-by: Commit checker robot <[email protected]> Reviewed-by: Adrien Destugues <[email protected]> Reviewed-by: Fredrik Holmqvist <[email protected]>
This commit is contained in:
committed by
Fredrik Holmqvist
parent
3d4afef9cb
commit
e4f758ee83
@@ -25,6 +25,9 @@
|
||||
#define R_ARM_THM_SWI8 14
|
||||
#define R_ARM_XPC25 15
|
||||
#define R_ARM_THM_XPC22 16
|
||||
#define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */
|
||||
#define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */
|
||||
#define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */
|
||||
#define R_ARM_COPY 20 /* Copy symbol at runtime */
|
||||
#define R_ARM_GLOB_DAT 21 /* Create GOT entry */
|
||||
#define R_ARM_JMP_SLOT 22 /* Create PLT entry */
|
||||
|
||||
@@ -5,21 +5,25 @@
|
||||
#ifndef _KERNEL_ARCH_ARM64_ELF_H
|
||||
#define _KERNEL_ARCH_ARM64_ELF_H
|
||||
|
||||
#define R_AARCH64_NONE 0 /* No relocation */
|
||||
#define R_AARCH64_ABS64 257 /* Absolute offset */
|
||||
#define R_AARCH64_ABS32 258 /* Absolute, 32-bit overflow check */
|
||||
#define R_AARCH64_ABS16 259 /* Absolute, 16-bit overflow check */
|
||||
#define R_AARCH64_PREL64 260 /* PC relative */
|
||||
#define R_AARCH64_PREL32 261 /* PC relative, 32-bit overflow check */
|
||||
#define R_AARCH64_PREL16 262 /* PC relative, 16-bit overflow check */
|
||||
#define R_AARCH64_COPY 1024 /* Copy data from shared object */
|
||||
#define R_AARCH64_GLOB_DAT 1025 /* Set GOT entry to data address */
|
||||
#define R_AARCH64_JUMP_SLOT 1026 /* Set GOT entry to code address */
|
||||
#define R_AARCH64_RELATIVE 1027 /* Add load address of shared object */
|
||||
#define R_AARCH64_TLS_DTPREL64 1028
|
||||
#define R_AARCH64_TLS_DTPMOD64 1029
|
||||
#define R_AARCH64_TLS_TPREL64 1030
|
||||
#define R_AARCH64_TLSDESC 1031 /* Identify the TLS descriptor */
|
||||
#define R_AARCH64_IRELATIVE 1032
|
||||
#define R_AARCH64_NONE 0 /* No relocation */
|
||||
#define R_AARCH64_ABS64 257 /* Absolute offset */
|
||||
#define R_AARCH64_ABS32 258 /* Absolute, 32-bit overflow check */
|
||||
#define R_AARCH64_ABS16 259 /* Absolute, 16-bit overflow check */
|
||||
#define R_AARCH64_PREL64 260 /* PC relative */
|
||||
#define R_AARCH64_PREL32 261 /* PC relative, 32-bit overflow check */
|
||||
#define R_AARCH64_PREL16 262 /* PC relative, 16-bit overflow check */
|
||||
#define R_AARCH64_TSTBR14 279 /* TBZ/TBNZ immediate */
|
||||
#define R_AARCH64_CONDBR19 280 /* Conditional branch immediate */
|
||||
#define R_AARCH64_JUMP26 282 /* Branch immediate */
|
||||
#define R_AARCH64_CALL26 283 /* Call immediate */
|
||||
#define R_AARCH64_COPY 1024 /* Copy data from shared object */
|
||||
#define R_AARCH64_GLOB_DAT 1025 /* Set GOT entry to data address */
|
||||
#define R_AARCH64_JUMP_SLOT 1026 /* Set GOT entry to code address */
|
||||
#define R_AARCH64_RELATIVE 1027 /* Add load address of shared object */
|
||||
#define R_AARCH64_TLS_DTPREL64 1028 /* Module-relative offset, 64 bit. */
|
||||
#define R_AARCH64_TLS_DTPMOD64 1029 /* Module number, 64 bit. */
|
||||
#define R_AARCH64_TLS_TPREL64 1030 /* TP-relative offset, 64 bit. */
|
||||
#define R_AARCH64_TLSDESC 1031 /* Identify the TLS descriptor */
|
||||
#define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */
|
||||
|
||||
#endif /* _KERNEL_ARCH_ARM64_ELF_H */
|
||||
|
||||
@@ -7,33 +7,33 @@
|
||||
|
||||
|
||||
#define R_RISCV_NONE 0
|
||||
#define R_RISCV_32 1
|
||||
#define R_RISCV_64 2
|
||||
#define R_RISCV_32 1
|
||||
#define R_RISCV_64 2
|
||||
#define R_RISCV_RELATIVE 3
|
||||
#define R_RISCV_COPY 4
|
||||
#define R_RISCV_JUMP_SLOT 5
|
||||
#define R_RISCV_TLS_DTPMOD32 6
|
||||
#define R_RISCV_TLS_DTPMOD64 7
|
||||
#define R_RISCV_TLS_DTPREL32 8
|
||||
#define R_RISCV_TLS_DTPREL64 9
|
||||
#define R_RISCV_TLS_DTPMOD32 6
|
||||
#define R_RISCV_TLS_DTPMOD64 7
|
||||
#define R_RISCV_TLS_DTPREL32 8
|
||||
#define R_RISCV_TLS_DTPREL64 9
|
||||
#define R_RISCV_TLS_TPREL32 10
|
||||
#define R_RISCV_TLS_TPREL64 11
|
||||
#define R_RISCV_BRANCH 16
|
||||
#define R_RISCV_JAL 17
|
||||
#define R_RISCV_JAL 17
|
||||
#define R_RISCV_CALL 18
|
||||
#define R_RISCV_CALL_PLT 19
|
||||
#define R_RISCV_GOT_HI20 20
|
||||
#define R_RISCV_TLS_GOT_HI20 21
|
||||
#define R_RISCV_TLS_GOT_HI20 21
|
||||
#define R_RISCV_TLS_GD_HI20 22
|
||||
#define R_RISCV_PCREL_HI20 23
|
||||
#define R_RISCV_PCREL_LO12_I 24
|
||||
#define R_RISCV_PCREL_LO12_S 25
|
||||
#define R_RISCV_PCREL_LO12_I 24
|
||||
#define R_RISCV_PCREL_LO12_S 25
|
||||
#define R_RISCV_HI20 26
|
||||
#define R_RISCV_LO12_I 27
|
||||
#define R_RISCV_LO12_S 28
|
||||
#define R_RISCV_TPREL_HI20 29
|
||||
#define R_RISCV_TPREL_LO12_I 30
|
||||
#define R_RISCV_TPREL_LO12_S 31
|
||||
#define R_RISCV_TPREL_LO12_I 30
|
||||
#define R_RISCV_TPREL_LO12_S 31
|
||||
#define R_RISCV_TPREL_ADD 32
|
||||
#define R_RISCV_ADD8 33
|
||||
#define R_RISCV_ADD16 34
|
||||
@@ -43,12 +43,12 @@
|
||||
#define R_RISCV_SUB16 38
|
||||
#define R_RISCV_SUB32 39
|
||||
#define R_RISCV_SUB64 40
|
||||
#define R_RISCV_GNU_VTINHERIT 41
|
||||
#define R_RISCV_GNU_VTINHERIT 41
|
||||
#define R_RISCV_GNU_VTENTRY 42
|
||||
#define R_RISCV_ALIGN 43
|
||||
#define R_RISCV_RVC_BRANCH 44
|
||||
#define R_RISCV_RVC_JUMP 45
|
||||
#define R_RISCV_LUI 46
|
||||
#define R_RISCV_LUI 46
|
||||
#define R_RISCV_GPREL_I 47
|
||||
#define R_RISCV_GPREL_S 48
|
||||
#define R_RISCV_TPREL_I 49
|
||||
@@ -60,6 +60,6 @@
|
||||
#define R_RISCV_SET16 55
|
||||
#define R_RISCV_SET32 56
|
||||
#define R_RISCV_32_PCREL 57
|
||||
|
||||
#define R_RISCV_IRELATIVE 58
|
||||
|
||||
#endif /* _SYSTEM_ARCH_RISCV64_ELF_H */
|
||||
|
||||
@@ -7,19 +7,48 @@
|
||||
|
||||
/* relocation types */
|
||||
|
||||
#define R_386_NONE 0
|
||||
#define R_386_32 1 /* add symbol value */
|
||||
#define R_386_PC32 2 /* add PC relative symbol value */
|
||||
#define R_386_GOT32 3 /* add PC relative GOT offset */
|
||||
#define R_386_PLT32 4 /* add PC relative PLT offset */
|
||||
#define R_386_COPY 5 /* copy data from shared object */
|
||||
#define R_386_GLOB_DAT 6 /* set GOT entry to data address */
|
||||
#define R_386_JMP_SLOT 7 /* set GOT entry to code address */
|
||||
#define R_386_RELATIVE 8 /* add load address of shared object */
|
||||
#define R_386_GOTOFF 9 /* add GOT relative symbol address */
|
||||
#define R_386_GOTPC 10 /* add PC relative GOT table address */
|
||||
#define R_386_TLS_DTPMOD32 35
|
||||
#define R_386_TLS_DTPOFF32 36
|
||||
#define R_386_NONE 0 /* No relocation. */
|
||||
#define R_386_32 1 /* Add symbol value. */
|
||||
#define R_386_PC32 2 /* Add PC-relative symbol value. */
|
||||
#define R_386_GOT32 3 /* Add PC-relative GOT offset. */
|
||||
#define R_386_PLT32 4 /* Add PC-relative PLT offset. */
|
||||
#define R_386_COPY 5 /* Copy data from shared object. */
|
||||
#define R_386_GLOB_DAT 6 /* Set GOT entry to data address. */
|
||||
#define R_386_JMP_SLOT 7 /* Set GOT entry to code address. */
|
||||
#define R_386_RELATIVE 8 /* Add load address of shared object. */
|
||||
#define R_386_GOTOFF 9 /* Add GOT-relative symbol address. */
|
||||
#define R_386_GOTPC 10 /* Add PC-relative GOT table address. */
|
||||
#define R_386_32PLT 11
|
||||
#define R_386_TLS_TPOFF 14 /* Negative offset in static TLS block */
|
||||
#define R_386_TLS_IE 15 /* Absolute address of GOT for -ve static TLS */
|
||||
#define R_386_TLS_GOTIE 16 /* GOT entry for negative static TLS block */
|
||||
#define R_386_TLS_LE 17 /* Negative offset relative to static TLS */
|
||||
#define R_386_TLS_GD 18 /* 32 bit offset to GOT (index,off) pair */
|
||||
#define R_386_TLS_LDM 19 /* 32 bit offset to GOT (index,zero) pair */
|
||||
#define R_386_16 20
|
||||
#define R_386_PC16 21
|
||||
#define R_386_8 22
|
||||
#define R_386_PC8 23
|
||||
#define R_386_TLS_GD_32 24 /* 32 bit offset to GOT (index,off) pair */
|
||||
#define R_386_TLS_GD_PUSH 25 /* pushl instruction for Sun ABI GD sequence */
|
||||
#define R_386_TLS_GD_CALL 26 /* call instruction for Sun ABI GD sequence */
|
||||
#define R_386_TLS_GD_POP 27 /* popl instruction for Sun ABI GD sequence */
|
||||
#define R_386_TLS_LDM_32 28 /* 32 bit offset to GOT (index,zero) pair */
|
||||
#define R_386_TLS_LDM_PUSH 29 /* pushl instruction for Sun ABI LD sequence */
|
||||
#define R_386_TLS_LDM_CALL 30 /* call instruction for Sun ABI LD sequence */
|
||||
#define R_386_TLS_LDM_POP 31 /* popl instruction for Sun ABI LD sequence */
|
||||
#define R_386_TLS_LDO_32 32 /* 32 bit offset from start of TLS block */
|
||||
#define R_386_TLS_IE_32 33 /* 32 bit offset to GOT static TLS offset entry */
|
||||
#define R_386_TLS_LE_32 34 /* 32 bit offset within static TLS block */
|
||||
#define R_386_TLS_DTPMOD32 35 /* GOT entry containing TLS index */
|
||||
#define R_386_TLS_DTPOFF32 36 /* GOT entry containing TLS offset */
|
||||
#define R_386_TLS_TPOFF32 37 /* GOT entry of -ve static TLS offset */
|
||||
#define R_386_SIZE32 38
|
||||
#define R_386_TLS_GOTDESC 39
|
||||
#define R_386_TLS_DESC_CALL 40
|
||||
#define R_386_TLS_DESC 41
|
||||
#define R_386_IRELATIVE 42 /* PLT entry resolved indirectly at runtime */
|
||||
#define R_386_GOT32X 43
|
||||
|
||||
#ifdef _BOOT_MODE
|
||||
# include "../x86_64/arch_elf.h"
|
||||
|
||||
@@ -45,6 +45,12 @@
|
||||
#define R_X86_64_TLSDESC_CALL 35 /* Marker for call through TLS descriptor. */
|
||||
#define R_X86_64_TLSDESC 36 /* TLS descriptor. */
|
||||
#define R_X86_64_IRELATIVE 37 /* Adjust indirectly by program base. */
|
||||
#define R_X86_64_RELATIVE64 38 /* 64-bit adjust by program base */
|
||||
/* 39 and 40 were BND-related, already decomissioned */
|
||||
#define R_X86_64_GOTPCRELX 40 /* Load from 32 bit signed pc relative offset to GOT entry
|
||||
without REX prefix, relaxable. */
|
||||
#define R_X86_64_REX_GOTPCRELX 41 /* Load from 32 bit signed pc relative offset to GOT entry
|
||||
with REX prefix, relaxable. */
|
||||
|
||||
|
||||
#if defined(_BOOT_MODE) || defined(ELF32_COMPAT)
|
||||
|
||||
Reference in New Issue
Block a user