On Thu, Sep 14, 2023 at 8:42 AM Omar Sandoval <osan...@osandov.com> wrote: > > Split DWARF files aren't processed by the linker, so DW_MACRO_import > offsets aren't relocated and the .debug_macro.dwo sections aren't > deduplicated and merged. There's no clear way for this to work for > split DWARF, so disable it.
OK. Thanks, Richard. > gcc/ChangeLog: > > PR debug/111409 > * dwarf2out.cc (output_macinfo): Don't call optimize_macinfo_range if > dwarf_split_debug_info. > > gcc/testsuite/ChangeLog: > > PR debug/111409 > * gcc.dg/pr111409.c: New test. > --- > gcc/ChangeLog | 6 ++++++ > gcc/dwarf2out.cc | 1 + > gcc/testsuite/ChangeLog | 5 +++++ > gcc/testsuite/gcc.dg/pr111409.c | 7 +++++++ > 4 files changed, 19 insertions(+) > create mode 100644 gcc/testsuite/gcc.dg/pr111409.c > > diff --git a/gcc/ChangeLog b/gcc/ChangeLog > index b69160b025d..2b0ff902f55 100644 > --- a/gcc/ChangeLog > +++ b/gcc/ChangeLog > @@ -1,3 +1,9 @@ > +2023-09-13 Omar Sandoval <osan...@osandov.com> > + > + PR debug/111409 > + * dwarf2out.cc (output_macinfo): Don't call optimize_macinfo_range if > + dwarf_split_debug_info. > + > 2023-09-12 Juzhe-Zhong <juzhe.zh...@rivai.ai> > > PR target/111337 > diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc > index c4a935d5101..f60a0656d8f 100644 > --- a/gcc/dwarf2out.cc > +++ b/gcc/dwarf2out.cc > @@ -29247,6 +29247,7 @@ output_macinfo (const char *debug_line_label, bool > early_lto_debug) > case DW_MACINFO_define: > case DW_MACINFO_undef: > if ((!dwarf_strict || dwarf_version >= 5) > + && !dwarf_split_debug_info > && HAVE_COMDAT_GROUP > && vec_safe_length (files) != 1 > && i > 0 > diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog > index de0eadc31d7..3534e203a8a 100644 > --- a/gcc/testsuite/ChangeLog > +++ b/gcc/testsuite/ChangeLog > @@ -1,3 +1,8 @@ > +2023-09-13 Omar Sandoval <osan...@osandov.com> > + > + PR debug/111409 > + * gcc.dg/pr111409.c: New test. > + > 2023-09-12 Juzhe-Zhong <juzhe.zh...@rivai.ai> > > * lib/target-supports.exp: Enable vect_int for RVV. > diff --git a/gcc/testsuite/gcc.dg/pr111409.c b/gcc/testsuite/gcc.dg/pr111409.c > new file mode 100644 > index 00000000000..1a79d81444e > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/pr111409.c > @@ -0,0 +1,7 @@ > +/* { dg-do compile } */ > +/* { dg-skip-if "split DWARF unsupported" { *-*-darwin* } } */ > +/* { dg-options "-gsplit-dwarf -g3 -dA" } */ > +/* { dg-final { scan-assembler-times {.section\s+.debug_macro} 1 } } */ > +/* { dg-final { scan-assembler-not {.byte\s+0x7\s*#\s*Import} } } */ > + > +#define foo 1 > -- > 2.41.0 >