]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
arm64: vdso32: put ELF related sections in the linker script
authorJoey Gouly <joey.gouly@arm.com>
Tue, 10 May 2022 09:58:33 +0000 (10:58 +0100)
committerWill Deacon <will@kernel.org>
Thu, 23 Jun 2022 14:34:59 +0000 (15:34 +0100)
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>
arch/arm64/kernel/vdso32/vdso.lds.S

index 3348ce5ea306d0fc8bea1f4b178eb8a3d3bab3b9..120cf422036ff30dc341f833f0fb592decaa2aa9 100644 (file)
@@ -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)