From cf4f0ce152e488cd96c7963e49d89fdb49adc993 Mon Sep 17 00:00:00 2001 From: Jademalo <386846+Jademalo@users.noreply.github.com> Date: Sun, 22 Mar 2026 13:23:21 +0000 Subject: [PATCH] Sync DWARF debug sections (#728) --- ld_script.ld | 17 +++++++++++++++-- ld_script_modern.ld | 21 +++++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/ld_script.ld b/ld_script.ld index f7e62c922..9a4b45031 100644 --- a/ld_script.ld +++ b/ld_script.ld @@ -1042,11 +1042,24 @@ SECTIONS { data/*.o(.rodata); } > ROM =0 + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ - /* DWARF 2 sections */ + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + + /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_info 0 : { *(.debug_info) } + + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } diff --git a/ld_script_modern.ld b/ld_script_modern.ld index 2b5eb546d..e93024352 100644 --- a/ld_script_modern.ld +++ b/ld_script_modern.ld @@ -65,10 +65,24 @@ SECTIONS { *(.rodata*); } > ROM =0 - /* DWARF 2 sections */ + /* DWARF debug sections. + Symbols in the DWARF debugging sections are relative to the beginning + of the section so we begin them at 0. */ + + /* DWARF 1 */ + .debug 0 : { *(.debug) } + .line 0 : { *(.line) } + + /* GNU DWARF 1 extensions */ + .debug_srcinfo 0 : { *(.debug_srcinfo) } + .debug_sfnames 0 : { *(.debug_sfnames) } + + /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } - .debug_info 0 : { *(.debug_info) } + + /* DWARF 2 */ + .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } @@ -76,6 +90,9 @@ SECTIONS { .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } + /* DWARF 5*/ + .debug_line_str 0 : { *(.debug_line_str) } + /* Discard everything not specifically mentioned above. */ /DISCARD/ : {