Re: elf: add livepatch-specific elf constants
From: Jessica Yu <hidden>
Date: 2015-11-13 06:49:57
Also in:
lkml
+++ Josh Poimboeuf [12/11/15 09:45 -0600]:On Mon, Nov 09, 2015 at 11:45:51PM -0500, Jessica Yu wrote:quoted
Add livepatch elf reloc section flag, livepatch symbol bind and section index Signed-off-by: Jessica Yu <redacted> --- include/uapi/linux/elf.h | 3 +++ 1 file changed, 3 insertions(+)diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index 71e1d0e..967ce1b 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h@@ -118,6 +118,7 @@ typedef __s64 Elf64_Sxword; #define STB_LOCAL 0 #define STB_GLOBAL 1 #define STB_WEAK 2 +#define STB_LIVEPATCH_EXT 11 #define STT_NOTYPE 0 #define STT_OBJECT 1@@ -286,6 +287,7 @@ typedef struct elf64_phdr { #define SHF_ALLOC 0x2 #define SHF_EXECINSTR 0x4 #define SHF_MASKPROC 0xf0000000 +#define SHF_RELA_LIVEPATCH 0x4000000Writing the value with leading zeros (0x04000000) would it more readable. Also the OS-specific range mask (SHF_MASKOS) is 0x0ff00000. Any reason you went with 0x04000000 as opposed to the first value in the range (0x00100000)? I don't see anybody else using that value.
I don't have any particular reason, I think I just picked any value and ran with it. I'll just change it to the first value in the range since that makes more sense.
quoted
/* special section indexes */ #define SHN_UNDEF 0@@ -295,6 +297,7 @@ typedef struct elf64_phdr { #define SHN_ABS 0xfff1 #define SHN_COMMON 0xfff2 #define SHN_HIRESERVE 0xffff +#define SHN_LIVEPATCH 0xff21Similar question here, why not use 0xff20 (SHN_LOOS)? -- Josh