summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2015-01-21 01:07:58 +0000
committeremaste <emaste@FreeBSD.org>2015-01-21 01:07:58 +0000
commitb0c7bd39a20a4d8cfcb56c20be0428c1a6474ae8 (patch)
tree750e9e3b9be4532588ade041656db719ab6af581 /contrib
parent03fe27a77383de96ee608557018620836fe5cb12 (diff)
downloadFreeBSD-src-b0c7bd39a20a4d8cfcb56c20be0428c1a6474ae8.zip
FreeBSD-src-b0c7bd39a20a4d8cfcb56c20be0428c1a6474ae8.tar.gz
redelf: Add missing R_X86_64_ relocation types
PR: 196918 Reviewed by: dim Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D1570
Diffstat (limited to 'contrib')
-rw-r--r--contrib/elftoolchain/common/elfdefinitions.h8
-rw-r--r--contrib/elftoolchain/readelf/readelf.c14
2 files changed, 21 insertions, 1 deletions
diff --git a/contrib/elftoolchain/common/elfdefinitions.h b/contrib/elftoolchain/common/elfdefinitions.h
index f63dc7f..8b28aeb 100644
--- a/contrib/elftoolchain/common/elfdefinitions.h
+++ b/contrib/elftoolchain/common/elfdefinitions.h
@@ -1948,11 +1948,17 @@ _ELF_DEFINE_RELOC(R_X86_64_TPOFF32, 23) \
_ELF_DEFINE_RELOC(R_X86_64_PC64, 24) \
_ELF_DEFINE_RELOC(R_X86_64_GOTOFF64, 25) \
_ELF_DEFINE_RELOC(R_X86_64_GOTPC32, 26) \
+_ELF_DEFINE_RELOC(R_X86_64_GOT64, 27) \
+_ELF_DEFINE_RELOC(R_X86_64_GOTPCREL64, 28) \
+_ELF_DEFINE_RELOC(R_X86_64_GOTPC64, 29) \
+_ELF_DEFINE_RELOC(R_X86_64_GOTPLT64, 30) \
+_ELF_DEFINE_RELOC(R_X86_64_PLTOFF64, 31) \
_ELF_DEFINE_RELOC(R_X86_64_SIZE32, 32) \
_ELF_DEFINE_RELOC(R_X86_64_SIZE64, 33) \
_ELF_DEFINE_RELOC(R_X86_64_GOTPC32_TLSDESC, 34) \
_ELF_DEFINE_RELOC(R_X86_64_TLSDESC_CALL, 35) \
-_ELF_DEFINE_RELOC(R_X86_64_TLSDESC, 36)
+_ELF_DEFINE_RELOC(R_X86_64_TLSDESC, 36) \
+_ELF_DEFINE_RELOC(R_X86_64_IRELATIVE, 37)
#define _ELF_DEFINE_RELOCATIONS() \
_ELF_DEFINE_386_RELOCATIONS() \
diff --git a/contrib/elftoolchain/readelf/readelf.c b/contrib/elftoolchain/readelf/readelf.c
index 6e1e52a..a8c15c4 100644
--- a/contrib/elftoolchain/readelf/readelf.c
+++ b/contrib/elftoolchain/readelf/readelf.c
@@ -1480,6 +1480,20 @@ r_type(unsigned int mach, unsigned int type)
case 21: return "R_X86_64_DTPOFF32";
case 22: return "R_X86_64_GOTTPOFF";
case 23: return "R_X86_64_TPOFF32";
+ case 24: return "R_X86_64_PC64";
+ case 25: return "R_X86_64_GOTOFF64";
+ case 26: return "R_X86_64_GOTPC32";
+ case 27: return "R_X86_64_GOT64";
+ case 28: return "R_X86_64_GOTPCREL64";
+ case 29: return "R_X86_64_GOTPC64";
+ case 30: return "R_X86_64_GOTPLT64";
+ case 31: return "R_X86_64_PLTOFF64";
+ case 32: return "R_X86_64_SIZE32";
+ case 33: return "R_X86_64_SIZE64";
+ case 34: return "R_X86_64_GOTPC32_TLSDESC";
+ case 35: return "R_X86_64_TLSDESC_CALL";
+ case 36: return "R_X86_64_TLSDESC";
+ case 37: return "R_X86_64_IRELATIVE";
default: return "";
}
default: return "";
OpenPOWER on IntegriCloud