summaryrefslogtreecommitdiffstats
path: root/include/linux/elf.h
diff options
context:
space:
mode:
authorGabriel Krisman Bertazi <krisman@collabora.com>2020-10-03 23:25:33 -0400
committerThomas Gleixner <tglx@linutronix.de>2020-10-26 13:46:47 +0100
commit9a29a671902c2be05d636045a4dd365219ca716c (patch)
tree3c9d6f15e1bb6619211073a8cde72cb0d8aeb6b2 /include/linux/elf.h
parent2424b14605c71a7187c14edd525044eb36bdea47 (diff)
downloadlinux-9a29a671902c2be05d636045a4dd365219ca716c.tar.gz
linux-9a29a671902c2be05d636045a4dd365219ca716c.tar.bz2
linux-9a29a671902c2be05d636045a4dd365219ca716c.zip
elf: Expose ELF header on arch_setup_additional_pages()
Like it is done for SET_PERSONALITY with ARM, which requires the ELF header to select correct personality parameters, x86 requires the headers when selecting which VDSO to load, instead of relying on the going-away TIF_IA32/X32 flags. Add an indirection macro to arch_setup_additional_pages(), that x86 can reimplement to receive the extra parameter just for ELF files. This requires no changes to other architectures, who can continue to use the original arch_setup_additional_pages for ELF and non-ELF binaries. Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20201004032536.1229030-8-krisman@collabora.com
Diffstat (limited to 'include/linux/elf.h')
-rw-r--r--include/linux/elf.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/elf.h b/include/linux/elf.h
index 6dbcfe7a3fd7..c9a46c4e183b 100644
--- a/include/linux/elf.h
+++ b/include/linux/elf.h
@@ -27,6 +27,11 @@
start_thread(regs, elf_entry, start_stack)
#endif
+#if defined(ARCH_HAS_SETUP_ADDITIONAL_PAGES) && !defined(ARCH_SETUP_ADDITIONAL_PAGES)
+#define ARCH_SETUP_ADDITIONAL_PAGES(bprm, ex, interpreter) \
+ arch_setup_additional_pages(bprm, interpreter)
+#endif
+
#define ELF32_GNU_PROPERTY_ALIGN 4
#define ELF64_GNU_PROPERTY_ALIGN 8