http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50468
Bug #: 50468 Summary: ICE in force_type_die when compiling binutils with -flto -O[12] Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: lto AssignedTo: unassig...@gcc.gnu.org ReportedBy: m...@use.net Got this when building binutils-2.21.53.20110810 from source using g++-4.6.real (Ubuntu/Linaro 4.6.1-9ubuntu3) or g++-4.7.0 20110914 on Ubuntu 11.10 amd64: g++ -W -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -frandom-seed=ld-new -g -flto -O2 -Wl,-Bsymbolic-functions -o ld-new main.o i386.o x86_64.o sparc.o powerpc.o arm.o arm-reloc-property.o libgold.a ../libiberty/libiberty.a -ldl -lz -lm incremental.o (symbol from plugin): warning: memset used with constant zero length parameter; this could be due to transposed parameters In member function ‘__base_ctor ’: lto1: internal compiler error: in force_type_die, at dwarf2out.c:21022 Interestingly, changing -O2 to -O1 introduces this variation: incremental.o (symbol from plugin): warning: memset used with constant zero length parameter; this could be due to transposed parameters In file included from ../../gold/incremental.h:5152:0, from :4601: ../../gold/icf.h: In member function ‘__base_dtor ’: ../../gold/icf.h:62:5: internal compiler error: in force_type_die, at dwarf2out.c:21022