>From 41fb17254b3278eeb888fa23c26acf4f02fa23da Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Fri, 29 Jan 2016 09:49:01 +0100 Subject: [PATCH] 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_PC32_BND): New, but deprecated. (R_X86_64_PLT32_BND): New, but deprecated. (R_X86_64_GOTPCRELX: New. (R_X86_64_REX_GOTPCRELX): New. (R_X86_64_NUM): Update. --- ChangeLog | 10 ++++++++++ elf/elf.h | 15 ++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9cb8df3..ca05793 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2016-01-29 Mark Wielaard + + * elf/elf.h (R_386_GOT32X): New. + (R_386_NUM): Update. + (R_X86_64_PC32_BND): New, but deprecated. + (R_X86_64_PLT32_BND): New, but deprecated. + (R_X86_64_GOTPCRELX: New. + (R_X86_64_REX_GOTPCRELX): New. + (R_X86_64_NUM): Update. + 2016-01-28 Steve Ellcey Joseph Myers diff --git a/elf/elf.h b/elf/elf.h index 15f5a75..f0375fa 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -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 +#define R_X86_64_PC32_BND 39 /* Deprecated. */ +#define R_X86_64_PLT32_BND 40 /* Deprecated. */ +#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. */ -- 1.8.3.1