This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/51778] New: ICE during bootstrap when adding -ftree-loop-if-convert-stores to boo


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]