summaryrefslogtreecommitdiffstats
path: root/libelf/elf.h
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2016-01-28 13:59:20 +0100
committerMark Wielaard <mjw@redhat.com>2016-02-19 21:13:23 +0100
commit2f289fa9e34c7cf67403907a354abe8ecaf380d2 (patch)
tree1fb846b82df4a69e984332b3f2bc968f3de46be5 /libelf/elf.h
parent02c48ac64ee068e9a72d987996f3cbf5213ee13a (diff)
Add new i386 and x86_64 relocation types.
Update elf.h from glibc and recognize R_386_GOT32X, R_X86_64_GOTPCRELX and R_x86_64_REX_GOTPCRELX as non-dynamic relocations. Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'libelf/elf.h')
-rw-r--r--libelf/elf.h23
1 files changed, 18 insertions, 5 deletions
diff --git a/libelf/elf.h b/libelf/elf.h
index 0240c3cf..ce96bd5d 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -1,5 +1,5 @@
/* This file defines standard ELF types, structures, and macros.
- Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Copyright (C) 1995-2016 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -1270,8 +1270,10 @@ typedef struct
argument, returning the TLS
offset for the symbol. */
#define R_386_IRELATIVE 42 /* Adjust indirectly by program base */
+#define R_386_GOT32X 43 /* Load from 32 bit GOT entry,
+ relaxable. */
/* Keep this the last entry. */
-#define R_386_NUM 43
+#define R_386_NUM 44
/* SUN SPARC specific definitions. */
@@ -1728,7 +1730,11 @@ typedef struct
PLT is writable. For a non-writable PLT, this is omitted or has a zero
value. */
#define DT_MIPS_RWPLT 0x70000034
-#define DT_MIPS_NUM 0x35
+/* An alternative description of the classic MIPS RLD_MAP that is usable
+ in a PIE as it stores a relative offset from the address of the tag
+ rather than an absolute address. */
+#define DT_MIPS_RLD_MAP_REL 0x70000035
+#define DT_MIPS_NUM 0x36
/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */
@@ -3141,8 +3147,15 @@ enum
#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 */
-
-#define R_X86_64_NUM 39
+ /* 39 Reserved was R_X86_64_PC32_BND */
+ /* 40 Reserved was R_X86_64_PLT32_BND */
+#define R_X86_64_GOTPCRELX 41 /* Load from 32 bit signed pc relative
+ offset to GOT entry without REX
+ prefix, relaxable. */
+#define R_X86_64_REX_GOTPCRELX 42 /* Load from 32 bit signed pc relative
+ offset to GOT entry with REX prefix,
+ relaxable. */
+#define R_X86_64_NUM 43
/* AM33 relocations. */