[PATCH v5 1/4] arm64: vdso: put ELF related sections in the linker script

Joey Gouly joey.gouly at arm.com
Tue May 10 02:58:31 PDT 2022


Use macros from vmlinux.lds.h to explicitly name sections that are included
in the VDSO output.

Signed-off-by: Joey Gouly <joey.gouly at arm.com>
Cc: Catalin Marinas <catalin.marinas at arm.com>
Cc: Will Deacon <will at kernel.org>
Cc: Masahiro Yamada <masahiroy at kernel.org>
Cc: Vincenzo Frascino <vincenzo.frascino at arm.com>
Cc: Kees Cook <keescook at chromium.org>
Reviewed-by: Kees Cook <keescook at chromium.org>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino at arm.com>
---
 arch/arm64/kernel/vdso/vdso.lds.S | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm64/kernel/vdso/vdso.lds.S b/arch/arm64/kernel/vdso/vdso.lds.S
index a5e61e09ea92..1cd85258c079 100644
--- a/arch/arm64/kernel/vdso/vdso.lds.S
+++ b/arch/arm64/kernel/vdso/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("elf64-littleaarch64", "elf64-bigaarch64", "elf64-littleaarch64")
 OUTPUT_ARCH(aarch64)
@@ -49,11 +50,26 @@ SECTIONS
 
 	.dynamic	: { *(.dynamic) }		:text	:dynamic
 
+	.rela.dyn	: ALIGN(8) { *(.rela .rela*) }
+
+	.plt		: {
+		*(.plt)
+		*(.plt.*)
+		*(.iplt)
+		*(.igot .igot.plt)
+	}
+
+	.got		: { *(.got) }
+	.got.plt	: { *(.got.plt) }
+
 	.rodata		: { *(.rodata*) }		:text
 
 	_end = .;
 	PROVIDE(end = .);
 
+	DWARF_DEBUG
+	ELF_DETAILS
+
 	/DISCARD/	: {
 		*(.data .data.* .gnu.linkonce.d.* .sdata*)
 		*(.bss .sbss .dynbss .dynsbss)
-- 
2.17.1




More information about the linux-arm-kernel mailing list