summaryrefslogtreecommitdiffstats
path: root/arch/x86/tools/relocs_64.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2013-04-16 16:02:58 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2013-04-16 16:02:58 -0700
commitc889ba801dc3b3a0155fa77d567f2c3a6097de1c (patch)
tree257878e1eb565fc9765dd8fed20815f7781d116a /arch/x86/tools/relocs_64.c
parent17c961f7702ff6037b66bb2e5f3ddd58de4ce7e5 (diff)
downloadlinux-c889ba801dc3b3a0155fa77d567f2c3a6097de1c.tar.gz
linux-c889ba801dc3b3a0155fa77d567f2c3a6097de1c.tar.bz2
linux-c889ba801dc3b3a0155fa77d567f2c3a6097de1c.zip
x86, relocs: Refactor the relocs tool to merge 32- and 64-bit ELF
Refactor the relocs tool so that the same tool can handle 32- and 64-bit ELF. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com> Cc: Kees Cook <keescook@chromium.org> Link: http://lkml.kernel.org/r/1365797627-20874-5-git-send-email-keescook@chromium.org
Diffstat (limited to 'arch/x86/tools/relocs_64.c')
-rw-r--r--arch/x86/tools/relocs_64.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/x86/tools/relocs_64.c b/arch/x86/tools/relocs_64.c
new file mode 100644
index 000000000000..56b61b743c4c
--- /dev/null
+++ b/arch/x86/tools/relocs_64.c
@@ -0,0 +1,17 @@
+#include "relocs.h"
+
+#define ELF_BITS 64
+
+#define ELF_MACHINE EM_X86_64
+#define ELF_MACHINE_NAME "x86_64"
+#define SHT_REL_TYPE SHT_RELA
+#define Elf_Rel Elf64_Rela
+
+#define ELF_CLASS ELFCLASS64
+#define ELF_R_SYM(val) ELF64_R_SYM(val)
+#define ELF_R_TYPE(val) ELF64_R_TYPE(val)
+#define ELF_ST_TYPE(o) ELF64_ST_TYPE(o)
+#define ELF_ST_BIND(o) ELF64_ST_BIND(o)
+#define ELF_ST_VISIBILITY(o) ELF64_ST_VISIBILITY(o)
+
+#include "relocs.c"