On Mon, Nov 09, 2015 at 11:45:51PM -0500, Jessica Yu wrote:
Add livepatch elf reloc section flag, livepatch symbol bind
and section index
Signed-off-by: Jessica Yu <jeyu@xxxxxxxxxx>
---
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 0x4000000
Writing 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.
--/* 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 0xff21
Similar question here, why not use 0xff20 (SHN_LOOS)?
--
Josh