http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54795
--- Comment #25 from Richard Biener <rguenth at gcc dot gnu.org> 2012-11-26 12:24:30 UTC --- (In reply to comment #23) > Another problem with revision 191466 is we lost > debug info on cl_options. With revision 191465, > I got > > (gdb) whatis cl_options > type = const struct cl_option [1221] > (gdb) > > After revision 191466, I got > > (gdb) whatis cl_option > type = cl_option > (gdb) This means that somewhere there is a cl_option definition that may prevail that has size 1. lto_symtab_resolve_symbols is supposed to pick the largest one. The cl_options definition that matters is in options.c, created const struct cl_option cl_options[] = { ... } maybe it's size isn't finished? Also || (DECL_SIZE (prevailing->symbol.decl) == DECL_SIZE (e->symbol.decl) is fragile - use tree_int_cst_eq. I suppose we don't have anything like a testcase?