public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/42628]  New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold
@ 2010-01-05 23:03 matt at use dot net
  2010-01-05 23:11 ` [Bug bootstrap/42628] " matt at use dot net
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: matt at use dot net @ 2010-01-05 23:03 UTC (permalink / raw)
  To: gcc-bugs

X-Bugzilla-Reason: CC

doing a profiledbootstrap with trunk revision 155656, I ran into this crash:
/home/matt/src/gcc-obj/./gcc/xgcc -shared-libgcc -B/home/matt/src/gcc-obj/./gcc
-nostdinc++ -L/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include
-I/home/matt/src/gcc-trunk/libstdc++-v3/../gcc
-I/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/matt/src/gcc-trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall
-Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -g -O0 -Wuninitialized -Warray-bounds
-D_GNU_SOURCE -c ../gcc-trunk/libstdc++-v3/libsupc++/dyncast.cc  -fPIC -DPIC -o
~/crashmatt@hargett-755:~/src/gcc-obj$ /home/matt/src/gcc-obj/./gcc/xgcc
-shared-libgcc -B/home/matt/src/gcc-obj/./gcc -nostdinc++
-L/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/usr/local/x86_64-unknown-linux-gnu/bin/
-B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/local/x86_64-unknown-linux-gnu/include -isystem
/usr/local/x86_64-unknown-linux-gnu/sys-include
-I/home/matt/src/gcc-trunk/libstdc++-v3/../gcc
-I/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/matt/src/gcc-trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall
-Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -g -O1 -Wuninitialized -Warray-bounds
-D_GNU_SOURCE -c ../gcc-trunk/libstdc++-v3/libsupc++/dyncast.cc  -fPIC -DPIC -o
~/crash      
../gcc-trunk/libstdc++-v3/libsupc++/dyncast.cc: In function ‘void*
__cxxabiv1::__dynamic_cast(const void*, const __cxxabiv1::__class_type_info*,
const __cxxabiv1::__class_type_info*, ptrdiff_t)’:                        
../gcc-trunk/libstdc++-v3/libsupc++/dyncast.cc:86:1: internal compiler error:
fold check: original tree changed by fold

valgrind 3.5.0 doesn't find anything worth reporting.

Note that I used BOOT_CFLAGS and CFLAGS of -O3 -g, but in the commandline above
I reduced it to -O1 as that still evoked the crash. -O0 works fine. Curiously,
I couldn't reproduce when I manually added all the individual options listed
for -O1 in the 4.5 man page. (Maybe the man page is missing one of the
options?)

I didn't see this issue when I did a profiledbootstrap about 4 weeks ago.
Compiling the same file and same options with GCC 4.4 and 4.3 doesn't crash,
and neither provides any notable valgrind output.


-- 
           Summary: [4.4 regression] ICE during bootstrap when compiling
                    dyncast.cc: original tree changed by fold
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: matt at use dot net
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
@ 2010-01-05 23:11 ` matt at use dot net
  2010-01-05 23:29 ` [Bug bootstrap/42628] [4.4 regression] ICE during bootstrap when compiling several libsupc++ files: " matt at use dot net
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: matt at use dot net @ 2010-01-05 23:11 UTC (permalink / raw)
  To: gcc-bugs

X-Bugzilla-Reason: CC



------- Comment #1 from matt at use dot net  2010-01-05 23:10 -------
Created an attachment (id=19479)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=19479&action=view)
pre-processed source of the file that evokes the crash during bootstrap


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.4 regression] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
  2010-01-05 23:11 ` [Bug bootstrap/42628] " matt at use dot net
@ 2010-01-05 23:29 ` matt at use dot net
  2010-01-06 11:42 ` [Bug bootstrap/42628] [4.5 " rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: matt at use dot net @ 2010-01-05 23:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from matt at use dot net  2010-01-05 23:28 -------
dyncast.cc, eh_call.cc, eh_personality.cc, guard.cc, and vmi_class_type_info.cc
all exhibit the same problem.


-- 

matt at use dot net changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.4 regression] ICE during |[4.4 regression] ICE during
                   |bootstrap when compiling    |bootstrap when compiling
                   |dyncast.cc: original tree   |several libsupc++ files:
                   |changed by fold             |original tree changed by
                   |                            |fold


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.5 regression] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
  2010-01-05 23:11 ` [Bug bootstrap/42628] " matt at use dot net
  2010-01-05 23:29 ` [Bug bootstrap/42628] [4.4 regression] ICE during bootstrap when compiling several libsupc++ files: " matt at use dot net
@ 2010-01-06 11:42 ` rguenth at gcc dot gnu dot org
  2010-01-07 14:54 ` rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-01-06 11:42 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.4 regression] ICE during |[4.5 regression] ICE during
                   |bootstrap when compiling    |bootstrap when compiling
                   |several libsupc++ files:    |several libsupc++ files:
                   |original tree changed by    |original tree changed by
                   |fold                        |fold
   Target Milestone|---                         |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.5 regression] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
                   ` (2 preceding siblings ...)
  2010-01-06 11:42 ` [Bug bootstrap/42628] [4.5 " rguenth at gcc dot gnu dot org
@ 2010-01-07 14:54 ` rguenth at gcc dot gnu dot org
  2010-01-08 19:33 ` matt at use dot net
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-01-07 14:54 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from rguenth at gcc dot gnu dot org  2010-01-07 14:54 -------
We have to rule out miscompilation of stage3 here.  Does the error reproduce
if you configure with --disable-bootstrap or just use CLFAGS="-g -O3"?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.5 regression] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
                   ` (3 preceding siblings ...)
  2010-01-07 14:54 ` rguenth at gcc dot gnu dot org
@ 2010-01-08 19:33 ` matt at use dot net
  2010-01-09  0:22 ` matt at use dot net
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: matt at use dot net @ 2010-01-08 19:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from matt at use dot net  2010-01-08 19:32 -------
The crash doesn't happen with:
CFLAGS="-g -O3" CXXFLAGS="-g -O3" ../gcc-trunk/configure --prefix=/home/matt
--enable-gold --enable-build-with-cxx --enable-lto --enable-stage1-checking=all
--disable-werror --disable-bootstrap --enable-languages=c,c++,lto 
make -j6

When that build succeeded, I then tried to reproduce the previous problem using
the newly compiled GCC instead of the system's GCC 4.4.1. The problem
reproduces, so it appears to be independent of the compiler used for stage 1.

Should I test with individual options that make up -O3 to try and narrow it
down? I'll start doing that while I wait for further debugging instructions. 
You can track me down on freenode IRC as syke, if need be.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.5 regression] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
                   ` (4 preceding siblings ...)
  2010-01-08 19:33 ` matt at use dot net
@ 2010-01-09  0:22 ` matt at use dot net
  2010-01-09  1:32 ` matt at use dot net
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: matt at use dot net @ 2010-01-09  0:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from matt at use dot net  2010-01-09 00:22 -------
This also happens with CFLAGS="-O2 -g" and CXXFLAGS="-O2 -g". I'll try
disabling the as-cxx configure option to see if that is the culprit, as odd as
that would be.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.5 regression] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
                   ` (5 preceding siblings ...)
  2010-01-09  0:22 ` matt at use dot net
@ 2010-01-09  1:32 ` matt at use dot net
  2010-01-09  9:06 ` ubizjak at gmail dot com
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: matt at use dot net @ 2010-01-09  1:32 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from matt at use dot net  2010-01-09 01:32 -------
Yup, the problem appears to be brought about when configuring with
--enable-build-with-cxx. I tried to work through the c++-compat warnings to try
and figure out which one could be the culprit (if any), but didn't see anything
obvious after an hour.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] [4.5 regression] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
                   ` (6 preceding siblings ...)
  2010-01-09  1:32 ` matt at use dot net
@ 2010-01-09  9:06 ` ubizjak at gmail dot com
  2010-01-13 22:29 ` [Bug bootstrap/42628] " rguenth at gcc dot gnu dot org
  2010-01-14 20:05 ` matt at use dot net
  9 siblings, 0 replies; 11+ messages in thread
From: ubizjak at gmail dot com @ 2010-01-09  9:06 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from ubizjak at gmail dot com  2010-01-09 09:06 -------
Can you please provide exact command lines in order to reproduce the bug?
--enable-checking=fold is not enabled by default and -O3 is also not default
optimization flag for bootstrap.

So, we need:

- configure command
- make command
- compile command which fails with attached "bootstrap-crash.pre".


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
                   ` (7 preceding siblings ...)
  2010-01-09  9:06 ` ubizjak at gmail dot com
@ 2010-01-13 22:29 ` rguenth at gcc dot gnu dot org
  2010-01-14 20:05 ` matt at use dot net
  9 siblings, 0 replies; 11+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-01-13 22:29 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from rguenth at gcc dot gnu dot org  2010-01-13 22:28 -------
Not a regression.  Bootstrap with C++ is new in 4.5.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.5 regression] ICE during |ICE during bootstrap when
                   |bootstrap when compiling    |compiling several libsupc++
                   |several libsupc++ files:    |files: original tree changed
                   |original tree changed by    |by fold
                   |fold                        |
   Target Milestone|4.5.0                       |---


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Bug bootstrap/42628] ICE during bootstrap when compiling several libsupc++ files: original tree changed by fold
  2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
                   ` (8 preceding siblings ...)
  2010-01-13 22:29 ` [Bug bootstrap/42628] " rguenth at gcc dot gnu dot org
@ 2010-01-14 20:05 ` matt at use dot net
  9 siblings, 0 replies; 11+ messages in thread
From: matt at use dot net @ 2010-01-14 20:05 UTC (permalink / raw)
  To: gcc-bugs

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2182 bytes --]



------- Comment #9 from matt at use dot net  2010-01-14 20:05 -------
The configure command:
../gcc-trunk/configure --prefix=/home/matt --enable-gold
--enable-build-with-cxx --enable-lto --enable-stage1-checking=all
--disable-werror --enable-bootstrap --enable-languages=c,c++,lto

I then adjust the HAVE_DECL_BASENAME define to be "1" in the config.h files to
work around the documented limitation in autotools' detection of the overloaded
basename() declaration in the headers.

The make command:
make profiledbootstrap

The compilation command that fails (run from the
x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++ directory):
/home/matt/src/gcc-obj/./gcc/xgcc -shared-libgcc -B/home/matt/src/gcc-obj/./gcc
-nostdinc++ -L/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src
-L/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/home/matt/x86_64-unknown-linux-gnu/bin/
-B/home/matt/x86_64-unknown-linux-gnu/lib/ -isystem
/home/matt/x86_64-unknown-linux-gnu/include -isystem
/home/matt/x86_64-unknown-linux-gnu/sys-include
-I/home/matt/src/gcc-trunk/libstdc++-v3/../gcc
-I/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include/x86_64-unknown-linux-gnu
-I/home/matt/src/gcc-obj/x86_64-unknown-linux-gnu/libstdc++-v3/include
-I/home/matt/src/gcc-trunk/libstdc++-v3/libsupc++ -fno-implicit-templates -Wall
-Wextra -Wwrite-strings -Wcast-qual -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -g -O2 -D_GNU_SOURCE -c
../../../../gcc-trunk/libstdc++-v3/libsupc++/eh_alloc.cc  -fPIC -DPIC -o
eh_alloc.o

How it fails:
../../../../gcc-trunk/libstdc++-v3/libsupc++/eh_call.cc: In function ‘void
__cxa_call_terminate(_Unwind_Exception*)’:
../../../../gcc-trunk/libstdc++-v3/libsupc++/eh_call.cc:60:1: internal compiler
error: fold check: original tree changed by fold

Potential reductions:
In the failing commandline above, the crash does not happen at -O0; the crash
starts happening at -O1. Configuring with --disable-bootstrap instead of
--enable-bootstrap, with all other options being the same, also avoids the
crash.

This still happens with r155867.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42628


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2010-01-14 20:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-05 23:03 [Bug bootstrap/42628] New: [4.4 regression] ICE during bootstrap when compiling dyncast.cc: original tree changed by fold matt at use dot net
2010-01-05 23:11 ` [Bug bootstrap/42628] " matt at use dot net
2010-01-05 23:29 ` [Bug bootstrap/42628] [4.4 regression] ICE during bootstrap when compiling several libsupc++ files: " matt at use dot net
2010-01-06 11:42 ` [Bug bootstrap/42628] [4.5 " rguenth at gcc dot gnu dot org
2010-01-07 14:54 ` rguenth at gcc dot gnu dot org
2010-01-08 19:33 ` matt at use dot net
2010-01-09  0:22 ` matt at use dot net
2010-01-09  1:32 ` matt at use dot net
2010-01-09  9:06 ` ubizjak at gmail dot com
2010-01-13 22:29 ` [Bug bootstrap/42628] " rguenth at gcc dot gnu dot org
2010-01-14 20:05 ` matt at use dot net

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).