Merge "Fix arm32/64 dynamic TLS relocations"
This commit is contained in:
commit
5a535d6781
3 changed files with 8 additions and 5 deletions
|
@ -43,7 +43,8 @@
|
||||||
#define R_ARM_THM_PC22 10
|
#define R_ARM_THM_PC22 10
|
||||||
#define R_ARM_THM_PC8 11
|
#define R_ARM_THM_PC8 11
|
||||||
#define R_ARM_AMP_VCALL9 12
|
#define R_ARM_AMP_VCALL9 12
|
||||||
#define R_ARM_SWI24 13
|
#define R_ARM_SWI24 13 /* obsolete static relocation */
|
||||||
|
#define R_ARM_TLS_DESC 13 /* dynamic relocation */
|
||||||
#define R_ARM_THM_SWI8 14
|
#define R_ARM_THM_SWI8 14
|
||||||
#define R_ARM_XPC25 15
|
#define R_ARM_XPC25 15
|
||||||
#define R_ARM_THM_XPC22 16
|
#define R_ARM_THM_XPC22 16
|
||||||
|
|
|
@ -83,8 +83,10 @@
|
||||||
#define R_AARCH64_GLOB_DAT 1025 /* Create GOT entry. */
|
#define R_AARCH64_GLOB_DAT 1025 /* Create GOT entry. */
|
||||||
#define R_AARCH64_JUMP_SLOT 1026 /* Create PLT entry. */
|
#define R_AARCH64_JUMP_SLOT 1026 /* Create PLT entry. */
|
||||||
#define R_AARCH64_RELATIVE 1027 /* Adjust by program base. */
|
#define R_AARCH64_RELATIVE 1027 /* Adjust by program base. */
|
||||||
#define R_AARCH64_TLS_TPREL64 1030
|
#define R_AARCH64_TLS_DTPREL64 1028 /* Module-relative offset. */
|
||||||
#define R_AARCH64_TLS_DTPREL32 1031
|
#define R_AARCH64_TLS_DTPMOD64 1029 /* Module index. */
|
||||||
|
#define R_AARCH64_TLS_TPREL64 1030 /* TP-relative offset. */
|
||||||
|
#define R_AARCH64_TLSDESC 1031 /* 16-byte descriptor: resolver func + arg. */
|
||||||
#define R_AARCH64_IRELATIVE 1032
|
#define R_AARCH64_IRELATIVE 1032
|
||||||
|
|
||||||
#endif /* _AARCH64_ELF_MACHDEP_H_ */
|
#endif /* _AARCH64_ELF_MACHDEP_H_ */
|
||||||
|
|
|
@ -2965,8 +2965,8 @@ bool soinfo::relocate(const VersionTracker& version_tracker, ElfRelIteratorT&& r
|
||||||
TRACE_TYPE(RELO, "RELO TLS_TPREL64 *** %16llx <- %16llx - %16llx\n",
|
TRACE_TYPE(RELO, "RELO TLS_TPREL64 *** %16llx <- %16llx - %16llx\n",
|
||||||
reloc, (sym_addr + addend), rel->r_offset);
|
reloc, (sym_addr + addend), rel->r_offset);
|
||||||
break;
|
break;
|
||||||
case R_AARCH64_TLS_DTPREL32:
|
case R_AARCH64_TLSDESC:
|
||||||
TRACE_TYPE(RELO, "RELO TLS_DTPREL32 *** %16llx <- %16llx - %16llx\n",
|
TRACE_TYPE(RELO, "RELO TLSDESC *** %16llx <- %16llx - %16llx\n",
|
||||||
reloc, (sym_addr + addend), rel->r_offset);
|
reloc, (sym_addr + addend), rel->r_offset);
|
||||||
break;
|
break;
|
||||||
#elif defined(__x86_64__)
|
#elif defined(__x86_64__)
|
||||||
|
|
Loading…
Reference in a new issue