diff options
author | Mark Wielaard <mjw@redhat.com> | 2016-01-29 09:49:01 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2016-02-19 20:48:22 +0100 |
commit | 7aa5adfbc30de5d5e6cc02ec3fada50de4880ef4 (patch) | |
tree | 260f88e837e5eb5d5227245f31689281f2b423d6 /elf | |
parent | a28605b22946c708f0a5c4f06307e1a17650ced8 (diff) | |
download | glibc-7aa5adfbc30de5d5e6cc02ec3fada50de4880ef4.tar glibc-7aa5adfbc30de5d5e6cc02ec3fada50de4880ef4.tar.gz glibc-7aa5adfbc30de5d5e6cc02ec3fada50de4880ef4.tar.bz2 glibc-7aa5adfbc30de5d5e6cc02ec3fada50de4880ef4.zip |
elf/elf.h: Add new 386 and X86_64 relocations from binutils.
The following new 386 and X86_64 were added to binutils. They are
non-dynamic relocations, so don't need direct handling in glibc.
But other programs, like elfutils, use the glibc elf.h definitions
for the names and numbers when inspecting ET_REL files.
R_386_GOT32X was proposed in
https://groups.google.com/forum/#!topic/ia32-abi/GbJJskkid4I
X86_64_GOTPCRELX and R_X86_64_REX_GOTPCRELX were proposed in
https://groups.google.com/forum/#!topic/x86-64-abi/n9AWHogmVY0
There also used to be R_X86_64_PC32_BND and R_X86_64_PLT32_BND
but those already got deprecated in
https://groups.google.com/d/msg/x86-64-abi/-hdQyMixt8Y/XFDOvioG85cJ
* elf/elf.h (R_386_GOT32X): New.
(R_386_NUM): Update.
(R_X86_64_GOTPCRELX: New.
(R_X86_64_REX_GOTPCRELX): New.
(R_X86_64_NUM): Update.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/elf.h | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -1269,8 +1269,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. */ @@ -3144,8 +3146,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. */ |