http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56593



--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-13 
08:53:29 UTC ---

(In reply to comment #2)

> The ICE in output_die is a known issue: when LTO puts nested and parent

> functions in different partitions, implicit assumptions made in dwarf2out.c 
> are

> no longer valid and DIEs end up with no parent.  We use this patch internally:

> 

>     * dwarf2out.c (fixup_limbo_list): New function extracted from...

>     In LTO mode, iterate until the list is fully drained.

>     (dwarf2out_finish): ...here.  Call it both after regular processing

>     and after the call to resolve_addr in LTO mode.

> lto/

>     * lto.c (lto_register_var_decl_in_symtab): Do not change the assembler

>     name in LTRANS mode.

> 

> to make -g sort of work in LTO mode.  The other issue is new I think.



Btw, I agree with you that restricting partitioning of nested functions

would be arbitrary.



As of the above - did you figure out which construct confuses dwarf2out.c?

We might as well strip that confusing information during streaming

(much like we do with almost all abstract origins).

Reply via email to