Bug 55507 - [4.8 Regression] ICE in vt_expand_var_loc_chain, at var-tracking.c:8020
Summary: [4.8 Regression] ICE in vt_expand_var_loc_chain, at var-tracking.c:8020
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: middle-end (show other bugs)
Version: 4.8.0
: P3 normal
Target Milestone: 4.8.0
Assignee: Not yet assigned to anyone
URL:
Keywords: build, ice-on-valid-code, patch
Depends on:
Blocks:
 
Reported: 2012-11-28 02:12 UTC by John David Anglin
Modified: 2012-11-29 08:10 UTC (History)
3 users (show)

See Also:
Host:
Target: hppa-unknown-linux-gnu, alphaev67-linux
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Preprocessed source (5.92 KB, text/plain)
2012-11-28 02:12 UTC, John David Anglin
Details
preprocessed alpha source (26.33 KB, text/plain)
2012-11-28 18:25 UTC, Richard Henderson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description John David Anglin 2012-11-28 02:12:10 UTC
Created attachment 28811 [details]
Preprocessed source

libtool: compile:  /home/dave/gnu/gcc/objdir/./gcc/xgcc -shared-libgcc -B/home/d
ave/gnu/gcc/objdir/./gcc -nostdinc++ -L/home/dave/gnu/gcc/objdir/hppa-linux-gnu/
libstdc++-v3/src -L/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libstdc++-v3/src/.li
bs -B/home/dave/opt/gnu/gcc/gcc-4.8.0/hppa-linux-gnu/bin/ -B/home/dave/opt/gnu/g
cc/gcc-4.8.0/hppa-linux-gnu/lib/ -isystem /home/dave/opt/gnu/gcc/gcc-4.8.0/hppa-
linux-gnu/include -isystem /home/dave/opt/gnu/gcc/gcc-4.8.0/hppa-linux-gnu/sys-i
nclude -I/home/dave/gnu/gcc/gcc/libstdc++-v3/../libgcc -I/home/dave/gnu/gcc/objd
ir/hppa-linux-gnu/libstdc++-v3/include/hppa-linux-gnu -I/home/dave/gnu/gcc/objdir/hppa-linux-gnu/libstdc++-v3/include -I/home/dave/gnu/gcc/gcc/libstdc++-v3/libsupc++ -D_GLIBCXX_SHARED -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=vec.lo -g -O2 -D_GNU_SOURCE -c ../../../../gcc/libstdc++-v3/libsupc++/vec.cc  -fPIC -DPIC -D_GLIBCXX_SHARED -o vec.o
../../../../gcc/libstdc++-v3/libsupc++/vec.cc: In function ‘void* __cxxabiv1::__cxa_vec_new(std::size_t, std::size_t, std::size_t, __cxxabiv1::__cxa_cdtor_type, __cxxabiv1::__cxa_cdtor_type)’:
../../../../gcc/libstdc++-v3/libsupc++/vec.cc:87:3: internal compiler error: in vt_expand_var_loc_chain, at var-tracking.c:8020
   }
   ^
0xde6693 vt_expand_var_loc_chain
        ../../gcc/gcc/var-tracking.c:8020
0xde727f vt_expand_loc_callback
        ../../gcc/gcc/var-tracking.c:8216
0x5a33b7 cselib_expand_value_rtx_1
        ../../gcc/gcc/cselib.c:1683
0x5a363b cselib_expand_value_rtx_1
        ../../gcc/gcc/cselib.c:1721
0x5a2dd7 cselib_expand_value_rtx_cb(rtx_def*, bitmap_head_def*, int, rtx_def* (*)(rtx_def*, bitmap_head_def*, int, void*), void*)
        ../../gcc/gcc/cselib.c:1530
0xde67cb vt_expand_var_loc_chain
        ../../gcc/gcc/var-tracking.c:8054
0xde727f vt_expand_loc_callback
        ../../gcc/gcc/var-tracking.c:8216
0x5a33b7 cselib_expand_value_rtx_1
        ../../gcc/gcc/cselib.c:1683
0x5a363b cselib_expand_value_rtx_1
        ../../gcc/gcc/cselib.c:1721
0x5a2dd7 cselib_expand_value_rtx_cb(rtx_def*, bitmap_head_def*, int, rtx_def* (*)(rtx_def*, bitmap_head_def*, int, void*), void*)
        ../../gcc/gcc/cselib.c:1530
0xde67cb vt_expand_var_loc_chain
        ../../gcc/gcc/var-tracking.c:8054
0xde727f vt_expand_loc_callback
        ../../gcc/gcc/var-tracking.c:8216
0x5a33b7 cselib_expand_value_rtx_1
        ../../gcc/gcc/cselib.c:1683
0x5a2dd7 cselib_expand_value_rtx_cb(rtx_def*, bitmap_head_def*, int, rtx_def* (*)(rtx_def*, bitmap_head_def*, int, void*), void*)
        ../../gcc/gcc/cselib.c:1530
0xde67cb vt_expand_var_loc_chain
        ../../gcc/gcc/var-tracking.c:8054
0xde7943 vt_expand_1pvar
        ../../gcc/gcc/var-tracking.c:8331
0xde7c27 emit_note_insn_var_location
        ../../gcc/gcc/var-tracking.c:8385
0x109eb87 htab_traverse_noresize
        ../../gcc/libiberty/hashtab.c:784

193798 was ok.

dave@mx3210:~/gnu/gcc/objdir/gcc$ ./xgcc -B./ -v
Reading specs from ./specs
COLLECT_GCC=./xgcc
COLLECT_LTO_WRAPPER=./lto-wrapper
Target: hppa-linux-gnu
Configured with: ../gcc/configure --with-gnu-as --with-gnu-ld --enable-shared --enable-multiarch --with-multiarch-defaults=hppa-linux-gnu --enable-linker-build-id --build=hppa-linux-gnu --host=hppa-linux-gnu --target=hppa-linux-gnu --prefix=/home/dave/opt/gnu/gcc/gcc-4.8.0 --with-local-prefix=/home/dave/opt/gnu --enable-threads=posix --enable-__cxa_atexit --build=hppa-linux-gnu --enable-clocale=gnu --enable-java-gc=boehm --without-cloog --without-ppl --enable-languages=c,c++,objc,fortran,obj-c++,java,ada,lto : (reconfigured) ../gcc/configure --with-gnu-as --with-gnu-ld --enable-shared --enable-multiarch --with-multiarch-defaults=hppa-linux-gnu --enable-linker-build-id --build=hppa-linux-gnu --host=hppa-linux-gnu --target=hppa-linux-gnu --prefix=/home/dave/opt/gnu/gcc/gcc-4.8.0 --with-local-prefix=/home/dave/opt/gnu --enable-threads=posix --enable-__cxa_atexit --build=hppa-linux-gnu --enable-clocale=gnu --enable-java-gc=boehm --without-cloog --without-ppl --enable-languages=c,c++,objc,fortran,obj-c++,java,ada,lto
Thread model: posix
gcc version 4.8.0 20121128 (experimental) [trunk revision 193878] (GCC)
Comment 1 Richard Henderson 2012-11-28 18:25:03 UTC
Created attachment 28821 [details]
preprocessed alpha source

Looks like the same problem for alpha, occurring elsewhere in the build.

Since this is _powtf2, you probably need --enable-long-double-128 in the
configure line when cross-compiling.
Comment 2 Uroš Bizjak 2012-11-28 18:36:04 UTC
(In reply to comment #1)
> Created attachment 28821 [details]
> preprocessed alpha source
> 
> Looks like the same problem for alpha, occurring elsewhere in the build.

This is fixed by Jakub's patch at [1].

[1] http://gcc.gnu.org/ml/gcc-patches/2012-11/msg02188.html
Comment 3 dave.anglin 2012-11-28 18:50:26 UTC
On 11/28/2012 1:25 PM, rth at gcc dot gnu.org wrote:
> Since this is _powtf2, you probably need --enable-long-double-128 in the
> configure line when cross-compiling.
Actually, it's 64 bits on hppa-linux.  Has the long double default
changed?
Comment 4 Andrew Pinski 2012-11-28 19:40:30 UTC
(In reply to comment #3)
> On 11/28/2012 1:25 PM, rth at gcc dot gnu.org wrote:
> > Since this is _powtf2, you probably need --enable-long-double-128 in the
> > configure line when cross-compiling.
> Actually, it's 64 bits on hppa-linux.  Has the long double default
> changed?

He was saying for his testcase that happens on alpha also you would need to configure with --enable-long-double-128.  Not the original testcase that happens on hppa.
Comment 5 Jakub Jelinek 2012-11-28 23:01:21 UTC
Author: jakub
Date: Wed Nov 28 23:01:03 2012
New Revision: 193911

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193911
Log:
	PR debug/36728
	PR debug/55467
	PR middle-end/55507
	PR bootstrap/55511
	* cselib.c (cselib_process_insn): If cselib_preserve_constants,
	don't reset table and exit early on volatile insns and setjmp.
	Reset table afterwards on setjmp.

	* gcc.dg/guality/pr36728-1.c: Include "../nop.h", make sure the asm
	are non-empty and add dependency between the first and second asm.
	* gcc.dg/guality/pr36728-2.c: Likewise.
	* gcc.dg/guality/pr36728-3.c: New test.
	* gcc.dg/guality/pr36728-4.c: New test.

Added:
    trunk/gcc/testsuite/gcc.dg/guality/pr36728-3.c
    trunk/gcc/testsuite/gcc.dg/guality/pr36728-4.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/cselib.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/guality/pr36728-1.c
    trunk/gcc/testsuite/gcc.dg/guality/pr36728-2.c
Comment 6 Jakub Jelinek 2012-11-29 08:10:57 UTC
Fixed.