| From 3c4fa46b30c551b1df2fb1574a684f68bc22067c Mon Sep 17 00:00:00 2001 |
| From: Nick Desaulniers <ndesaulniers@google.com> |
| Date: Fri, 5 Feb 2021 12:22:18 -0800 |
| Subject: vmlinux.lds.h: add DWARF v5 sections |
| |
| From: Nick Desaulniers <ndesaulniers@google.com> |
| |
| commit 3c4fa46b30c551b1df2fb1574a684f68bc22067c upstream. |
| |
| We expect toolchains to produce these new debug info sections as part of |
| DWARF v5. Add explicit placements to prevent the linker warnings from |
| --orphan-section=warn. |
| |
| Compilers may produce such sections with explicit -gdwarf-5, or based on |
| the implicit default version of DWARF when -g is used via DEBUG_INFO. |
| This implicit default changes over time, and has changed to DWARF v5 |
| with GCC 11. |
| |
| .debug_sup was mentioned in review, but without compilers producing it |
| today, let's wait to add it until it becomes necessary. |
| |
| Cc: stable@vger.kernel.org |
| Link: https://bugzilla.redhat.com/show_bug.cgi?id=1922707 |
| Reported-by: Chris Murphy <lists@colorremedies.com> |
| Suggested-by: Fangrui Song <maskray@google.com> |
| Reviewed-by: Nathan Chancellor <nathan@kernel.org> |
| Reviewed-by: Mark Wielaard <mark@klomp.org> |
| Tested-by: Sedat Dilek <sedat.dilek@gmail.com> |
| Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> |
| Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| include/asm-generic/vmlinux.lds.h | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| --- a/include/asm-generic/vmlinux.lds.h |
| +++ b/include/asm-generic/vmlinux.lds.h |
| @@ -828,8 +828,13 @@ |
| /* DWARF 4 */ \ |
| .debug_types 0 : { *(.debug_types) } \ |
| /* DWARF 5 */ \ |
| + .debug_addr 0 : { *(.debug_addr) } \ |
| + .debug_line_str 0 : { *(.debug_line_str) } \ |
| + .debug_loclists 0 : { *(.debug_loclists) } \ |
| .debug_macro 0 : { *(.debug_macro) } \ |
| - .debug_addr 0 : { *(.debug_addr) } |
| + .debug_names 0 : { *(.debug_names) } \ |
| + .debug_rnglists 0 : { *(.debug_rnglists) } \ |
| + .debug_str_offsets 0 : { *(.debug_str_offsets) } |
| |
| /* Stabs debugging sections. */ |
| #define STABS_DEBUG \ |