From a8a8944415f2c9abec196a3110a6f674524ffaa8 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Wed, 27 Feb 2019 14:04:18 +0000 Subject: [PATCH] re PR debug/88878 (.debug_pubnames/types empty with -flto) 2019-02-27 Richard Biener PR debug/88878 * dwarf2out.c (use_debug_types): Disable when in_lto_p. From-SVN: r269253 --- gcc/ChangeLog | 5 +++++ gcc/dwarf2out.c | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b164b601ddf..d77e7d20381 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-02-27 Richard Biener + + PR debug/88878 + * dwarf2out.c (use_debug_types): Disable when in_lto_p. + 2019-02-27 Richard Biener * passes.c (should_skip_pass_p): Do not skip cgraph-edge diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index bba4eaeeb9f..17be26fb97d 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -2914,9 +2914,13 @@ const struct gcc_debug_hooks dwarf2_lineno_debug_hooks = separate comdat sections since the linker will then be able to remove duplicates. But not all tools support .debug_types sections yet. For Dwarf V5 or higher .debug_types doesn't exist any more, - it is DW_UT_type unit type in .debug_info section. */ + it is DW_UT_type unit type in .debug_info section. For late LTO + debug there should be almost no types emitted so avoid enabling + -fdebug-types-section there. */ -#define use_debug_types (dwarf_version >= 4 && flag_debug_types_section) +#define use_debug_types (dwarf_version >= 4 \ + && flag_debug_types_section \ + && !in_lto_p) /* Various DIE's use offsets relative to the beginning of the .debug_info section to refer to each other. */ -- 2.30.2