http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51778
Bug #: 51778 Summary: ICE during bootstrap when adding -ftree-loop-if-convert-stores to boo Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: m...@use.net On Ubuntu 11.10/amd64, compiling current trunk (r182963): 1. Add -ftree-loop-if-convert-stores to config/bootstrap-lto.mk: STAGE2_CFLAGS += -flto=jobserver -frandom-seed=1 -ftree-loop-if-convert-stores 2. configure as such: ~/src/gcc-4.7.0/configure --enable-bootstrap --prefix=/home/matt --enable-clocale=gnu --with-system-zlib --enable-shared --with-demangler-in-ld --enable-lto --enable-languages=c,c++,lto --disable-libmudflap --with-build-config=bootstrap-lto 3. build result: Eventually, you'll see this: checking for suffix of object files... configure: error: in `/tmp/gcc-obj/x86_64-unknown-linux-gnu/libgcc': configure: error: cannot compute suffix of object files: cannot compile which gets traced to this command crashing much earlier, but the build continuing further than it should anyway: echo | /tmp/gcc-obj/./gcc/xgcc -B/tmp/gcc-obj/./gcc/ -E -dM - valgrind 3.6.1 reports: ==6419== Invalid read of size 8 ==6419== at 0xA68AC5: lshift_significand(real_value*, real_value const*, unsigned int) (real.c:256) ==6419== by 0xA6C920: normalize(real_value*) (real.c:517) ==6419== by 0xA6FF07: real_from_integer(real_value*, machine_mode, unsigned long, long, int) (real.c:2188) ==6419== by 0xA718FE: real_to_decimal_for_mode(char*, real_value const*, unsigned long, unsigned long, int, machine_mode) (real.c:2314) ==6419== by 0x58EC3A: builtin_define_with_hex_fp_value(char const*, tree_node*, int, char const*, char const*, char const*) (c-cppbuiltin.c:1111) ==6419== by 0x5906C1: builtin_define_float_constants(char const*, char const*, char const*, char const*, tree_node*) (c-cppbuiltin.c:253) ==6419== by 0x5925FA: c_cpp_builtins(cpp_reader*) (c-cppbuiltin.c:767) ==6419== by 0x5A309E: c_finish_options() (c-opts.c:1336) ==6419== by 0x5A3853: c_common_init() (c-opts.c:1093) ==6419== by 0x51F16B: c_objc_common_init() (c-objc-common.c:64) ==6419== by 0xB66C4F: toplev_main(int, char**) (toplev.c:1764) ==6419== by 0x5CC29A: main (main.c:36) ==6419== Address 0x801e5ee60 is not stack'd, malloc'd or (recently) free'd ==6419== <built-in>:0:0: internal compiler error: Segmentation fault I tried reducing it further, but had no luck and ran out of time. If there's something specific/focused I can test, let me know.