Re: [PATCH v4 14/17] arm/build: Warn on orphan section placement
From: Nick Desaulniers <hidden>
Date: 2020-06-29 19:48:04
Also in:
linux-arch, linux-efi, lkml
On Sun, Jun 28, 2020 at 11:18 PM Kees Cook [off-list ref] wrote:
We don't want to depend on the linker's orphan section placement heuristics as these can vary between linkers, and may change between versions. All sections need to be explicitly named in the linker script. Specifically, this would have made a recently fixed bug very obvious: ld: warning: orphan section `.fixup' from `arch/arm/lib/copy_from_user.o' being placed in section `.fixup' Discard unneeded sections .iplt, .rel.iplt, .igot.plt, and .modinfo. Add missing text stub sections .vfp11_veneer and .v4_bx. Add debug sections explicitly. Finally enable orphan section warning. Signed-off-by: Kees Cook <redacted>
Thanks for following up on the previous suggestion regarding .glu_7 / .glu_7t ordering. LGTM Reviewed-by: Nick Desaulniers <redacted>
quoted hunk ↗ jump to hunk
--- arch/arm/include/asm/vmlinux.lds.h | 6 +++++- arch/arm/kernel/vmlinux-xip.lds.S | 1 + arch/arm/kernel/vmlinux.lds.S | 1 + 3 files changed, 7 insertions(+), 1 deletion(-)diff --git a/arch/arm/include/asm/vmlinux.lds.h b/arch/arm/include/asm/vmlinux.lds.h index c66b16cd8837..d44fae722e7a 100644 --- a/arch/arm/include/asm/vmlinux.lds.h +++ b/arch/arm/include/asm/vmlinux.lds.h@@ -39,6 +39,8 @@ __idmap_text_end = .; \ #define ARM_COMMON_DISCARD \ + *(.iplt) *(.rel.iplt) *(.igot.plt) \ + *(.modinfo) \ *(.discard) \ *(.discard.*)@@ -63,7 +65,9 @@ #define ARM_STUBS_TEXT \ *(.gnu.warning) \ *(.glue_7) \ - *(.glue_7t) + *(.glue_7t) \ + *(.vfp11_veneer) \ + *(.v4_bx) #define ARM_TEXT \ IDMAP_TEXT \diff --git a/arch/arm/kernel/vmlinux-xip.lds.S b/arch/arm/kernel/vmlinux-xip.lds.S index 57fcbf55f913..11ffa79751da 100644 --- a/arch/arm/kernel/vmlinux-xip.lds.S +++ b/arch/arm/kernel/vmlinux-xip.lds.S@@ -150,6 +150,7 @@ SECTIONS _end = .; STABS_DEBUG + DWARF_DEBUG ARM_DETAILS }diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 1d3d3b599635..dc672fe35de3 100644 --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S@@ -149,6 +149,7 @@ SECTIONS _end = .; STABS_DEBUG + DWARF_DEBUG ARM_DETAILS } --2.25.1 -- You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20200629061840.4065483-15-keescook%40chromium.org.
-- Thanks, ~Nick Desaulniers _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel