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: sta...@vger.kernel.org
> Link: https://bugzilla.redhat.com/show_bug.cgi?id=1922707
> Reported-by: Chris Murphy <li...@colorremedies.com>
> Suggested-by: Fangrui Song <mask...@google.com>
> Reviewed-by: Nathan Chancellor <nat...@kernel.org>
> Tested-by: Sedat Dilek <sedat.di...@gmail.com>
> Signed-off-by: Nick Desaulniers <ndesaulni...@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

Reply via email to