public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
@ 2007-06-13 18:04 gcc-bugzilla at gcc dot gnu dot org
2007-06-13 18:35 ` [Bug target/32325] [4.3 Regression] " pinskia at gcc dot gnu dot org
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: gcc-bugzilla at gcc dot gnu dot org @ 2007-06-13 18:04 UTC (permalink / raw)
To: gcc-bugs
During a mainline bootstrap on alpha-dec-osf5.1b, the libstdc++ configure
failed:
checking for exception model to use... configure: error: unable to detect
exception model
make[1]: *** [configure-target-libstdc++-v3] Error 1
config.log reveals:
configure:13794: checking for exception model to use
configure:13838: /vol/gccsrc/obj/gcc-4.3.0-20070612/5.1b-gcc/./gcc/xgcc
-shared-libgcc -B/vol/gccsrc/obj/gcc-4.3.0-20070612/5.1b-gcc/./gcc -nostdinc++
-L/vol/gccsrc/obj/gcc-4.3.0-20070612/5.1b-gcc/alpha-dec-osf5.1b/libstdc++-v3/src
-L/vol/gccsrc/obj/gcc-4.3.0-20070612/5.1b-gcc/alpha-dec-osf5.1b/libstdc++-v3/src/.libs
-B/vol/gcc/alpha-dec-osf5.1b/bin/ -B/vol/gcc/alpha-dec-osf5.1b/lib/ -isystem
/vol/gcc/alpha-dec-osf5.1b/include -isystem
/vol/gcc/alpha-dec-osf5.1b/sys-include -c -S conftest.cc >&5
configure: In function 'void foo()':
configure:13836: error: end insn 27 for block 7 not found in the insn stream
configure:13836: error: head insn 24 for block 7 not found in the insn stream
configure:13836: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
configure:13841: $? = 1
configure:13870: error: unable to detect exception model
This happens with the following conftest.cc:
struct S { ~S(); };
void bar();
void foo()
{
S s;
bar();
}
% ./cc1plus conftest.cc
void foo()
Analyzing compilation unit
Performing interprocedural optimizations
<visibility> <early_local_cleanups> <inline>Assembling functions:
void foo()
conftest.cc: In function 'void foo()':
conftest.cc:7: error: end insn 27 for block 7 not found in the insn stream
conftest.cc:7: error: head insn 24 for block 7 not found in the insn stream
conftest.cc:7: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
Running gdb reveals
Program received signal SIGSEGV, Segmentation fault.
rtl_verify_flow_info () at /vol/gcc/src/gcc-dist/gcc/cfgrtl.c:2005
(gdb) where
#0 rtl_verify_flow_info () at /vol/gcc/src/gcc-dist/gcc/cfgrtl.c:2005
#1 0x0000000120516638 in verify_flow_info () at
/vol/gcc/src/gcc-dist/gcc/cfghooks.c:245
#2 0x0000000120618934 in commit_edge_insertions () at
/vol/gcc/src/gcc-dist/gcc/cfgrtl.c:1467
#3 0x0000000120415bcc in alpha_gp_save_rtx () at
/vol/gcc/src/gcc-dist/gcc/config/alpha/alpha.c:4784
#4 0x00000001206406fc in gen_exception_receiver () at
/vol/gcc/src/gcc-dist/gcc/config/alpha/alpha.md:7019
#5 0x0000000120314dc8 in finish_eh_generation () at
/vol/gcc/src/gcc-dist/gcc/except.c:1633
#6 0x0000000120314f98 in rest_of_handle_eh () at
/vol/gcc/src/gcc-dist/gcc/except.c:3985
#7 0x0000000120421978 in execute_one_pass (pass=0x0) at
/vol/gcc/src/gcc-dist/gcc/passes.c:1124
#8 0x0000000120421c48 in execute_pass_list (pass=0x0) at
/vol/gcc/src/gcc-dist/gcc/passes.c:1177
#9 0x0000000120421c5c in execute_pass_list (pass=0x0) at
/vol/gcc/src/gcc-dist/gcc/passes.c:1178
#10 0x00000001204fef44 in tree_rest_of_compilation (fndecl=0x0) at
/vol/gcc/src/gcc-dist/gcc/tree-optimize.c:406
#11 0x00000001202535c8 in c_expand_body (fndecl=0x140137d80) at
/vol/gcc/src/gcc-dist/gcc/c-common.c:4331
#12 0x00000001201ea958 in expand_body (fn=0x18de60) at
/vol/gcc/src/gcc-dist/gcc/cp/semantics.c:3136
#13 0x0000000120423f60 in cgraph_expand_function (node=0x18de60) at
/vol/gcc/src/gcc-dist/gcc/cgraphunit.c:1073
#14 0x0000000120427400 in cgraph_optimize () at
/vol/gcc/src/gcc-dist/gcc/cgraphunit.c:1142
#15 0x000000012015e054 in cp_write_global_declarations () at
/vol/gcc/src/gcc-dist/gcc/cp/decl2.c:3305
#16 0x00000001204432e0 in toplev_main (argc=1, argv=0x0) at
/vol/gcc/src/gcc-dist/gcc/toplev.c:1064
#17 0x000000012029fe98 in main (argc=1075019136, argv=0x11fffbb30) at
/vol/gcc/src/gcc-dist/gcc/main.c:35
(gdb) p x
$1 = 0x0
I.e. rtl_verify_flow_info dereferences a NULL pointer. This happens only
on alpha-dec-osf5.1b, alpha-dec-osf4.0f is unaffected.
Environment:
System: OSF1 bartok V5.1 2650 alpha
Machine: alpha
host: alpha-dec-osf5.1b
build: alpha-dec-osf5.1b
target: alpha-dec-osf5.1b
configured with: /vol/gcc/src/gcc-dist/configure --prefix=/vol/gcc
--with-local-prefix=/vol/gcc --disable-nls --host alpha-dec-osf5.1b --build
alpha-dec-osf5.1b --target alpha-dec-osf5.1b --with-gmp=/vol/gcc
--with-mpfr=/vol/gcc --enable-languages=c,c++,fortran,java,objc,ada
--disable-libmudflap
How-To-Repeat:
Bootstrap as described above.
--
Summary: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B:
SEGV in rtl_verify_flow_info
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ro at techfak dot uni-bielefeld dot de
GCC build triplet: alpha-dec-osf5.1b
GCC host triplet: alpha-dec-osf5.1b
GCC target triplet: alpha-dec-osf5.1b
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
@ 2007-06-13 18:35 ` pinskia at gcc dot gnu dot org
2007-09-20 14:17 ` ro at techfak dot uni-bielefeld dot de
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-06-13 18:35 UTC (permalink / raw)
To: gcc-bugs
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Severity|critical |normal
Component|c++ |target
Keywords| |build, ice-on-valid-code
Summary|cc1plus ICE configuring |[4.3 Regression] cc1plus ICE
|libstdc++ on Tru64 UNIX |configuring libstdc++ on
|V5.1B: SEGV in |Tru64 UNIX V5.1B: SEGV in
|rtl_verify_flow_info |rtl_verify_flow_info
Target Milestone|--- |4.3.0
Version|unknown |4.3.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
2007-06-13 18:35 ` [Bug target/32325] [4.3 Regression] " pinskia at gcc dot gnu dot org
@ 2007-09-20 14:17 ` ro at techfak dot uni-bielefeld dot de
2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: ro at techfak dot uni-bielefeld dot de @ 2007-09-20 14:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from ro at techfak dot uni-bielefeld dot de 2007-09-20 14:17 -------
Subject: Re: [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX
V5.1B: SEGV in rtl_verify_flow_info
A reghunt revealed that this was caused by the following patch:
2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
entry by means of emit_insn_at_entry.
Since alpha_gp_save_rtx is only used with TARGET_LD_BUGGY_LDGP, which is
only defined in osf5.h, alpha-dec-osf5.1b is affected while
alpha-dec-osf4.0f is not.
Rainer
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
2007-06-13 18:35 ` [Bug target/32325] [4.3 Regression] " pinskia at gcc dot gnu dot org
2007-09-20 14:17 ` ro at techfak dot uni-bielefeld dot de
@ 2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-09-20 20:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from ebotcazou at gcc dot gnu dot org 2007-09-20 20:45 -------
> A reghunt revealed that this was caused by the following patch:
>
> 2007-03-02 Eric Botcazou <ebotcazou@adacore.com>
>
> * config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
> entry by means of emit_insn_at_entry.
Right. Interestingly enough, this is purely a checking failure, i.e. the IL
is correct at the end of the pass. What happens is that in
if (USING_SJLJ_EXCEPTIONS)
sjlj_build_landing_pads ();
else
dw2_build_landing_pads ();
cfun->eh->built_landing_pads = 1;
/* We've totally changed the CFG. Start over. */
find_exception_handler_labels ();
break_superblocks ();
if (USING_SJLJ_EXCEPTIONS)
commit_edge_insertions ();
dw2_build_landing_pads will trigger a CFG verification, which of course is
not the right thing to do given the comment in the code.
The solution is the original patch I posted:
http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01448.html
which was OKed by RTH:
http://gcc.gnu.org/ml/gcc-patches/2007-02/msg01162.html
so I'm going to apply it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
` (2 preceding siblings ...)
2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
@ 2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
2007-09-20 20:48 ` ebotcazou at gcc dot gnu dot org
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-09-20 20:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from ebotcazou at gcc dot gnu dot org 2007-09-20 20:46 -------
Fixing.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |ebotcazou at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2007-09-20 20:46:14
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
` (3 preceding siblings ...)
2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
@ 2007-09-20 20:48 ` ebotcazou at gcc dot gnu dot org
2007-09-22 8:43 ` ebotcazou at gcc dot gnu dot org
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-09-20 20:48 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from ebotcazou at gcc dot gnu dot org 2007-09-20 20:48 -------
Btw, Rainer, would you know whether TARGET_LD_BUGGY_LDGP is still relevant?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
` (4 preceding siblings ...)
2007-09-20 20:48 ` ebotcazou at gcc dot gnu dot org
@ 2007-09-22 8:43 ` ebotcazou at gcc dot gnu dot org
2007-09-22 8:46 ` ebotcazou at gcc dot gnu dot org
2007-10-13 4:14 ` roger at eyesopen dot com
7 siblings, 0 replies; 9+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-09-22 8:43 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from ebotcazou at gcc dot gnu dot org 2007-09-22 08:43 -------
Subject: Bug 32325
Author: ebotcazou
Date: Sat Sep 22 08:42:57 2007
New Revision: 128665
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128665
Log:
PR target/32325
* except.c (finish_eh_generation): Call commit_edge_insertions if
there are insns queued on the entry edge.
* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns on
the entry edge.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/alpha/alpha.c
trunk/gcc/except.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
` (5 preceding siblings ...)
2007-09-22 8:43 ` ebotcazou at gcc dot gnu dot org
@ 2007-09-22 8:46 ` ebotcazou at gcc dot gnu dot org
2007-10-13 4:14 ` roger at eyesopen dot com
7 siblings, 0 replies; 9+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2007-09-22 8:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from ebotcazou at gcc dot gnu dot org 2007-09-22 08:46 -------
Note that libstdc++-v3 didn't build for me without a kludge for EOVERFLOW.
--
ebotcazou at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Bug target/32325] [4.3 Regression] cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
` (6 preceding siblings ...)
2007-09-22 8:46 ` ebotcazou at gcc dot gnu dot org
@ 2007-10-13 4:14 ` roger at eyesopen dot com
7 siblings, 0 replies; 9+ messages in thread
From: roger at eyesopen dot com @ 2007-10-13 4:14 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from roger at eyesopen dot com 2007-10-13 04:14 -------
*** Bug 33545 has been marked as a duplicate of this bug. ***
--
roger at eyesopen dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |roger at eyesopen dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32325
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-10-13 4:14 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-13 18:04 [Bug c++/32325] New: cc1plus ICE configuring libstdc++ on Tru64 UNIX V5.1B: SEGV in rtl_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
2007-06-13 18:35 ` [Bug target/32325] [4.3 Regression] " pinskia at gcc dot gnu dot org
2007-09-20 14:17 ` ro at techfak dot uni-bielefeld dot de
2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
2007-09-20 20:46 ` ebotcazou at gcc dot gnu dot org
2007-09-20 20:48 ` ebotcazou at gcc dot gnu dot org
2007-09-22 8:43 ` ebotcazou at gcc dot gnu dot org
2007-09-22 8:46 ` ebotcazou at gcc dot gnu dot org
2007-10-13 4:14 ` roger at eyesopen dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).