This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Bootstrap failure with enable-checking in _Unwind_GetGR (Zack'sfunction.c changes broken?)
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Bootstrap failure with enable-checking in _Unwind_GetGR (Zack'sfunction.c changes broken?)
- From: Andreas Jaeger <aj at suse dot de>
- Date: Sat, 01 Sep 2001 12:27:47 +0200
- Cc: zack at codesourcery dot com
I configured the trunk on i686-linux with glibc 2.2.2 and current
binutils with:
/cvs/gcc/configure --prefix=/opt/gcc-3.1-checking --enable-shared --enable-threads \
--enable-checking=misc,tree,rtl,gc,gcac --with-gnu-as --with-gnu-ld
make bootstrap fails:
gromit:/builds/gcc/gcc-3.1-devel/gcc:[0]$ ./xgcc -B./ -B/opt/gcc-3.1-checking/i686-pc-linux-gnu/bin/ -isystem /opt/gcc-3.1-checking/i686-pc-linux-gnu/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I/cvs/gcc/gcc -I/cvs/gcc/gcc/. -I/cvs/gcc/gcc/config -I/cvs/gcc/gcc/../include -fexceptions -c /cvs/gcc/gcc/unwind-dw2.c -o libgcc/./unwind-dw2.o -v -save-temps
Reading specs from ./specs
Configured with: /cvs/gcc/configure --prefix=/opt/gcc-3.1-checking --enable-shared --enable-threads --enable-checking=misc,tree,rtl,gc,gcac --with-gnu-as --with-gnu-ld
Thread model: posix
gcc version 3.1 20010901 (experimental)
./cpp0 -lang-c -v -I. -I. -I/cvs/gcc/gcc -I/cvs/gcc/gcc/. -I/cvs/gcc/gcc/config -I/cvs/gcc/gcc/../include -iprefix ./../lib/gcc-lib/i686-pc-linux-gnu/3.1/ -isystem ./include -isystem /opt/gcc-3.1-checking/i686-pc-linux-gnu/bin/include -D__GNUC__=3 -D__GNUC_MINOR__=1 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ -D__PIC__ -D__pic__ -DIN_GCC -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -isystem /opt/gcc-3.1-checking/i686-pc-linux-gnu/include -isystem ./include /cvs/gcc/gcc/unwind-dw2.c unwind-dw2.i
ignoring nonexistent directory "/opt/gcc-3.1-checking/i686-pc-linux-gnu/bin/include"
ignoring nonexistent directory "/opt/gcc-3.1-checking/i686-pc-linux-gnu/include"
GNU CPP version 3.1 20010901 (experimental) (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "../lib/gcc-lib/i686-pc-linux-gnu/3.1/include"
ignoring nonexistent directory "../lib/gcc-lib/i686-pc-linux-gnu/3.1/../../../../i686-pc-linux-gnu/include"
ignoring nonexistent directory "/opt/gcc-3.1-checking/i686-pc-linux-gnu/include"
ignoring duplicate directory "."
ignoring duplicate directory "/cvs/gcc/gcc"
ignoring duplicate directory "include"
#include "..." search starts here:
#include <...> search starts here:
.
/cvs/gcc/gcc
/cvs/gcc/gcc/config
/cvs/gcc/include
include
/usr/local/include
/opt/gcc-3.1-checking/lib/gcc-lib/i686-pc-linux-gnu/3.1/include
/usr/include
End of search list.
./cc1 -fpreprocessed unwind-dw2.i -quiet -dumpbase unwind-dw2.c -g1 -O2 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -version -fPIC -fexceptions -o unwind-dw2.s
GNU CPP version 3.1 20010901 (experimental) (cpplib) (i386 Linux/ELF)
GNU C version 3.1 20010901 (experimental) (i686-pc-linux-gnu)
compiled by GNU C version 2.95.3 20010315 (SuSE).
/cvs/gcc/gcc/unwind-dw2.c: In function `_Unwind_GetGR':
/cvs/gcc/gcc/unwind-dw2.c:1182: Internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
Running gdb on cc1 shows:
Program received signal SIGSEGV, Segmentation fault.
0x8158e40 in mark_eh_status (eh=0x40141d98) at /cvs/gcc/gcc/except.c:526
526 struct eh_region *r = eh->region_array[i];
(gdb) bt
#0 0x8158e40 in mark_eh_status (eh=0x40141d98) at /cvs/gcc/gcc/except.c:526
#1 0x82416bd in ggc_mark_struct_function (f=0x8b4a680) at /cvs/gcc/gcc/function.c:7691
#2 0x824bdaf in ggc_mark_trees () at /cvs/gcc/gcc/ggc-common.c:385
#3 0x8249fc5 in ggc_mark_roots () at /cvs/gcc/gcc/ggc-common.c:190
#4 0x8714a07 in ggc_collect () at /cvs/gcc/gcc/ggc-page.c:1400
#5 0x86ec386 in rest_of_compilation (decl=0x402443cc) at /cvs/gcc/gcc/toplev.c:3779
#6 0x858d487 in output_inline_function (fndecl=0x402443cc) at /cvs/gcc/gcc/integrate.c:2903
#7 0x86e8ac3 in wrapup_global_declarations (vec=0x8b7c128, len=1997) at /cvs/gcc/gcc/toplev.c:1984
#8 0x86e9790 in compile_file (name=0x8ac8280 "unwind-dw2.i") at /cvs/gcc/gcc/toplev.c:2356
#9 0x86eeac0 in toplev_main (argc=18, argv=0xbffff5d4) at /cvs/gcc/gcc/toplev.c:4922
#10 0x80bdec6 in main (argc=18, argv=0xbffff5d4) at /cvs/gcc/gcc/main.c:34
#11 0x40048c6f in __libc_start_main () from /lib/libc.so.6
(gdb) p i
$1 = 1075060144
(gdb) p *eh
$3 = {region_tree = 0x8b572f8, region_array = 0x8b7b0f0, cur_region = 0x8b4a678,
try_region = 0x8b4a678, protect_list = 0x8b65618, filter = 0x8b65618, exc_ptr = 0x8b536a0,
built_landing_pads = 146093728, last_region_number = 1075060144, ttype_data = 0x40141db0,
ehspec_data = 0x8b5cf78, action_record_data = 0x8b81418, call_site_data = 0x8b79050,
call_site_data_used = 146247760, call_site_data_size = 1075060168, ehr_stackadj = 0x40141dc8,
ehr_handler = 0x8b5afd0, ehr_label = 0x8b5afd0, sjlj_fc = 0x8b5ef90, sjlj_exit_after = 0x8b5ef90}
The value of last_region_number is wrong IMO.
The first suspect was Zack's function.c changes, reverting it, got me
past this point in bootstrapping.
Zack, can you take a look, please?
This should be easy to reproduce since it occurs during bootstrap. If
not I can send preprocessed sources.
Andreas
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj