This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/51778] New: ICE during bootstrap when adding -ftree-loop-if-convert-stores to boo
- From: "matt at use dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 06 Jan 2012 21:46:47 +0000
- Subject: [Bug middle-end/51778] New: ICE during bootstrap when adding -ftree-loop-if-convert-stores to boo
- Auto-submitted: auto-generated
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: unassigned@gcc.gnu.org
ReportedBy: matt@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.