> I'm uncomfortable with just the one call into the debug generator, outside of > the other debug_hooks begin/end calls. > > It'll obviously work for stabs, and probably work for sdb, due to how the > debug info is represented. > > But for dwarf2 it probably only works for selected targets. > > For instance, !DWARF2_ASM_LINE_DEBUG_INFO requires a call to dwarf2out_finish > in order to get anything emitted at all. Some targets, like x86, use > final_start_function + final_end_function in the output_mi_thunk hook, and > that would take care of it. However, x86-linux is also going to define > DWARF2_ASM_LINE_DEBUG_INFO making both cases work. And I'm guessing that's > all you tested.
Yep, that's all I tested. But even where output_mi_thunk doesn't call final_start_function or final_end_function, dwarf2out_finish will still be called, won't it? > Try a target like arm-linux (which doesn't use final_end_function), and hack > the generated auto-host.h so that HAVE_AS_DWARF2_DEBUG_LINE is undefined. Trying arm-unknown-linux-gnueabi now... -cary