Hi Richard, > The following patch ports a refactoring of section/label in it from > the early LTO debug work to trunk. For early LTO debug we need to > be able to emit two sets of debug infos into two sets of different > sections - early LTO into .gnu.debuglto_ prefixed sections and > regular (early + late) debug for the FAT part of the object. > > Thus this preparation splits out the section and label generation > from dwarf2out_init moving the text section related stuff to > dwarf2out_assembly_start and the rest to a new function > init_sections_and_labels which is now called only before we start > outputting dwarf (in dwarf2out_finish). It also removes some > dwarf_split_debug_info checks from the macro section name defines > (in the end I'll have up to four variants - regular, regular LTO, > DWO, DWO LTO). > > And it removes an unused function. > > Bootstrapped on x86_64-unknown-linux-gnu, testing in progress. I've > also bootstrapped with -O2 -g3 to exercise the .debug_macro path. > > Ok? > > Just noticed that DEBUG_STR_OFFSETS_SECTION needs similar massaging > for its dwarf_split_debug_info condition - will followup as obvious > if this one is approved.
this patch introduced many pch assembly comparison failures on Solaris (both sparc and x86, 32 and 64-bit, /bin/as only), like FAIL: gcc.dg/pch/common-1.c -O3 -g assembly comparison FAIL: gcc.dg/pch/common-1.c -O0 -g assembly comparison gcc.log shows this diff: < .long .Letext0 > .long While the .Letext0 label is still in the assembly output, it isn't referenced inside .debug_line, as can be seen in the diff. Unlike the gas case, with as HAVE_AS_DWARF2_DEBUG_LINE isn't defined. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University