Hello, With the recent work for PR debug/65549, we observed a regression in the generated debugging information. Take the attached reproducer, build it and look at the output DWARF: $ gcc -c -O1 -g foo.c $ objdump --dwarf=info foo.o [...] <2><4e>: Abbrev Number: 3 (DW_TAG_GNU_call_site) <4f> DW_AT_low_pc : 0x9 <2><57>: Abbrev Number: 0 There is no DW_AT_abstract_origin attribute anymore, whereas there used to be one. On PowerPC with -mlongcall, for instance, call instructions are indirect and we (at AdaCore) rely on this attribute to determine what function is actually called (it's easier this way than interpreting machine code...). The DWARF proposal for call sites also say debuggers should be able to use this attribute (to build virtual call stacks in the presence of tail calls), but I could not observe this in practice with GDB. The attached patch is an attempt to restore this attribute. The logic behind it is: this is what we used to do previously for contexts that are alien translation unit (through the call to force_decl_die), so this should not harm. Bootstrapped and regtested on x86_64-linux. Ok to commit? Thank you in advance! gcc/ChangeLog * dwarf2out.c (lookup_context_die): Return the DIE for the current compilation unit when the input context is a TRANSLATION_UNIT_DECL. -- Pierre-Marie de Rodat