summaryrefslogtreecommitdiff
path: root/arch/arm64/kernel/vdso32
diff options
context:
space:
mode:
authorJoey Gouly <joey.gouly@arm.com>2022-05-10 10:58:33 +0100
committerWill Deacon <will@kernel.org>2022-06-23 15:34:59 +0100
commiteeec7223b6977b28dc0ae657a6f56dfef9eb868a (patch)
tree3d23d3baab0ffb29cedb881c27d7ffc5edfbfd99 /arch/arm64/kernel/vdso32
parente0ab20b20a1bb53d61feedb1fd6c23cbbed11d18 (diff)
arm64: vdso32: put ELF related sections in the linker script
Use macros from vmlinux.lds.h to explicitly name sections that are included in the compat VDSO32 output. Signed-off-by: Joey Gouly <joey.gouly@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: Vincenzo Frascino <vincenzo.frascino@arm.com> Cc: Kees Cook <keescook@chromium.org> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Link: https://lore.kernel.org/r/20220510095834.32394-4-joey.gouly@arm.com Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/arm64/kernel/vdso32')
-rw-r--r--arch/arm64/kernel/vdso32/vdso.lds.S22
1 files changed, 21 insertions, 1 deletions
diff --git a/arch/arm64/kernel/vdso32/vdso.lds.S b/arch/arm64/kernel/vdso32/vdso.lds.S
index 3348ce5ea306..120cf422036f 100644
--- a/arch/arm64/kernel/vdso32/vdso.lds.S
+++ b/arch/arm64/kernel/vdso32/vdso.lds.S
@@ -11,6 +11,7 @@
#include <linux/const.h>
#include <asm/page.h>
#include <asm/vdso.h>
+#include <asm-generic/vmlinux.lds.h>
OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
OUTPUT_ARCH(arm)
@@ -37,10 +38,29 @@ SECTIONS
.rodata : { *(.rodata*) } :text
- .text : { *(.text*) } :text =0xe7f001f2
+ .text : {
+ *(.text*)
+ *(.glue_7)
+ *(.glue_7t)
+ *(.vfp11_veneer)
+ *(.v4_bx)
+ } :text =0xe7f001f2
+
+ .rel.dyn : { *(.rel.text) }
.got : { *(.got) }
+ .rel.got : { *(.rel.got) }
+ .got.plt : { *(.got.plt) }
.rel.plt : { *(.rel.plt) }
+ .plt : {
+ *(.plt)
+ *(.rel.iplt)
+ *(.iplt)
+ *(.igot.plt)
+ }
+
+ ELF_DETAILS
+ .ARM.attributes 0 : { *(.ARM.attributes) }
/DISCARD/ : {
*(.note.GNU-stack)