Message ID | 20210205202220.2748551-2-ndesaulniers@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Kbuild: DWARF v5 support | expand |
On Fri, 5 Feb 2021 12:22:18 -0800 Nick Desaulniers <ndesaulniers@google.com> wrote: > 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. > There isn't anything in this changelog which explains why a -stable backport was requested? Or is there? Irritating linker warnings? More than that?
On Fri, Feb 5, 2021 at 4:00 PM Andrew Morton <akpm@linux-foundation.org> wrote: > > On Fri, 5 Feb 2021 12:22:18 -0800 Nick Desaulniers <ndesaulniers@google.com> wrote: > > > 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. > > > > There isn't anything in this changelog which explains why a -stable > backport was requested? Or is there? Irritating linker warnings? > More than that? Users adopting GCC 11 will start to see warnings from the linker due to --orphan-section=warn when building the branches of the stable tree. Stable has IME accepted patches for permitting newer toolchains to continue to compile warning free.
Hi Nick, On Fri, 2021-02-05 at 12:22 -0800, Nick Desaulniers wrote: > 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. I don't think that will be necessary. .debug_sup is for Dwarf Supplemental file producers like dwz. Those would run after the linker. > 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> > Tested-by: Sedat Dilek <sedat.dilek@gmail.com> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> > --- > include/asm-generic/vmlinux.lds.h | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h > index 34b7e0d2346c..1e7cde4bd3f9 100644 > --- a/include/asm-generic/vmlinux.lds.h > +++ b/include/asm-generic/vmlinux.lds.h > @@ -842,8 +842,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 \ Looks good to me. Cheers, Mark
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 34b7e0d2346c..1e7cde4bd3f9 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -842,8 +842,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 \