Hi I plan to apply this as obvious unless there are any comments in the next day or so.
The ICE is caused by missing mach-o section names for the ones introduced for DWARF5. Where possible (i.e. they are currently defined), I’ve synced the Darwin names with the ones emitted by clang. thanks Iain gcc/ config/darwin.h: (DEBUG_STR_OFFSETS_SECTION, DEBUG_LOCLISTS_SECTION, DEBUG_RNGLISTS_SECTION) new macros. (DEBUG_PUBNAMES_SECTION, DEBUG_PUBTYPES_SECTION) update to include GNU variant. --- gcc/config/darwin.h | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 62c2ae8cc0..d49f146338 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -436,18 +436,20 @@ extern GTY(()) int darwin_ms_struct; #define DWARF2_DEBUGGING_INFO 1 -#define DEBUG_FRAME_SECTION "__DWARF,__debug_frame,regular,debug" -#define DEBUG_INFO_SECTION "__DWARF,__debug_info,regular,debug" -#define DEBUG_ABBREV_SECTION "__DWARF,__debug_abbrev,regular,debug" -#define DEBUG_ARANGES_SECTION "__DWARF,__debug_aranges,regular,debug" -#define DEBUG_MACINFO_SECTION "__DWARF,__debug_macinfo,regular,debug" -#define DEBUG_LINE_SECTION "__DWARF,__debug_line,regular,debug" -#define DEBUG_LOC_SECTION "__DWARF,__debug_loc,regular,debug" -#define DEBUG_PUBNAMES_SECTION "__DWARF,__debug_pubnames,regular,debug" -#define DEBUG_PUBTYPES_SECTION "__DWARF,__debug_pubtypes,regular,debug" -#define DEBUG_STR_SECTION "__DWARF,__debug_str,regular,debug" -#define DEBUG_RANGES_SECTION "__DWARF,__debug_ranges,regular,debug" -#define DEBUG_MACRO_SECTION "__DWARF,__debug_macro,regular,debug" +#define DEBUG_FRAME_SECTION "__DWARF,__debug_frame,regular,debug" +#define DEBUG_INFO_SECTION "__DWARF,__debug_info,regular,debug" +#define DEBUG_ABBREV_SECTION "__DWARF,__debug_abbrev,regular,debug" +#define DEBUG_ARANGES_SECTION "__DWARF,__debug_aranges,regular,debug" +#define DEBUG_MACINFO_SECTION "__DWARF,__debug_macinfo,regular,debug" +#define DEBUG_LINE_SECTION "__DWARF,__debug_line,regular,debug" +#define DEBUG_LOC_SECTION "__DWARF,__debug_loc,regular,debug" +#define DEBUG_LOCLISTS_SECTION "__DWARF,__debug_loclists,regular,debug" + +#define DEBUG_STR_SECTION "__DWARF,__debug_str,regular,debug" +#define DEBUG_STR_OFFSETS_SECTION "__DWARF,__debug_str_offs,regular,debug" +#define DEBUG_RANGES_SECTION "__DWARF,__debug_ranges,regular,debug" +#define DEBUG_RNGLISTS_SECTION "__DWARF,__debug_rnglists,regular,debug" +#define DEBUG_MACRO_SECTION "__DWARF,__debug_macro,regular,debug" #define DEBUG_LTO_INFO_SECTION "__GNU_DWARF_LTO,__debug_info,regular,debug" #define DEBUG_LTO_ABBREV_SECTION "__GNU_DWARF_LTO,__debug_abbrev,regular,debug" @@ -457,6 +459,13 @@ extern GTY(()) int darwin_ms_struct; #define DEBUG_LTO_MACRO_SECTION "__GNU_DWARF_LTO,__debug_macro,regular,debug" #define TARGET_WANT_DEBUG_PUB_SECTIONS true +#define DEBUG_PUBNAMES_SECTION ((debug_generate_pub_sections == 2) \ + ? "__DWARF,__debug_gnu_pubn,regular,debug" \ + : "__DWARF,__debug_pubnames,regular,debug") + +#define DEBUG_PUBTYPES_SECTION ((debug_generate_pub_sections == 2) \ + ? "__DWARF,__debug_gnu_pubt,regular,debug" \ + : "__DWARF,__debug_pubtypes,regular,debug") /* When generating stabs debugging, use N_BINCL entries. */ -- 2.17.1