This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/21916] New: [4.1 Regression] ICE: segmentation fault in stage3
- From: "danglin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 Jun 2005 20:24:55 -0000
- Subject: [Bug c/21916] New: [4.1 Regression] ICE: segmentation fault in stage3
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
./xgcc -B./ -B/home/dave/opt/gnu/gcc/gcc-4.1.0/hppa-linux/bin/ -isystem /home/da
ve/opt/gnu/gcc/gcc-4.1.0/hppa-linux/include -isystem /home/dave/opt/gnu/gcc/gcc-
4.1.0/hppa-linux/sys-include -L/home/dave/gnu/gcc-4.0/objdir/gcc/../ld -O2 -DIN_
GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-s
tyle-definition -isystem ./include -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -
I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include -g0 -finhibit-size
-directive -fno-inline-functions -fno-exceptions -fno-zero-initialized-in-bss -f
no-unit-at-a-time \
-c ../../gcc/gcc/crtstuff.c -DCRT_BEGIN \
-o crtbegin.o
In file included from /usr/include/stdio.h:828,
from ../../gcc/gcc/tsystem.h:90,
from ../../gcc/gcc/crtstuff.c:62:
/usr/include/bits/stdio.h: In function 'vprintf':
/usr/include/bits/stdio.h:36: internal compiler error: Segmentation fault
(gdb) p (char *)$r26
$5 = 0x24 <Address 0x24 out of bounds>
(gdb) p (char *)$r25
$6 = 0x5155f0 "/usr/include/bits/stdio.h"
(gdb) bt
#0 0x4093008c in strcmp () from /lib/libc.so.6
#1 0x002f6044 in annotate_with_file_line (node=0x400094e0,
file=0x5155f0 "/usr/include/bits/stdio.h", line=36)
at ../../gcc/gcc/tree.c:2896
#2 0x002f622c in annotate_with_locus (node=Variable "node" is not available.
) at ../../gcc/gcc/tree.c:2927
#3 0x000749fc in c_parser_statement_after_labels (parser=0x40010078)
at ../../gcc/gcc/c-parser.c:3565
#4 0x00075bc0 in c_parser_compound_statement_nostart (parser=0x40010078)
at ../../gcc/gcc/c-parser.c:3299
#5 0x0007bd5c in c_parser_compound_statement (parser=0x40010078)
at ../../gcc/gcc/c-parser.c:3174
#6 0x00074748 in c_parser_declaration_or_fndef (parser=0x40010078,
fndef_ok=1 '\001', empty_ok=Variable "empty_ok" is not available.
) at ../../gcc/gcc/c-parser.c:1294
#7 0x0007c90c in c_parser_external_declaration (parser=0x40010078)
at ../../gcc/gcc/c-parser.c:1070
#8 0x0007d904 in c_parse_file () at ../../gcc/gcc/c-parser.c:976
#9 0x0006827c in c_common_parse_file (set_yydebug=Variable "set_yydebug" is not
available.
)
at ../../gcc/gcc/c-opts.c:1118
#10 0x002f3c4c in toplev_main (argc=Variable "argc" is not available.
) at ../../gcc/gcc/toplev.c:966
#11 0x408ca51c in __libc_start_main () from /lib/libc.so.6
#12 0x0001a848 in _start () at ../sysdeps/hppa/elf/start.S:67
(gdb)
if (EXPR_LOCUS (node)
&& (EXPR_FILENAME (node) == file
|| ! strcmp (EXPR_FILENAME (node), file))
&& EXPR_LINENO (node) == line)
EXPR_FILENAME (node) is garbage (i.e., the $r26 argument register
points to page 0 in the call to strcmp).
I get a similar error when I try to dump the tree:
Breakpoint 3, annotate_with_file_line (node=0x400094e0,
file=0x5155f0 "/usr/include/bits/stdio.h", line=36)
at ../../gcc/gcc/tree.c:2896
2896 if (EXPR_LOCUS (node)
(gdb) p debug_tree (node)
<return_expr 0x400094e0
type <void_type 0x40018460 void VOID
align 8 symtab 0 alias set -1
pointer_to_this <pointer_type 0x400184d0>>
side-effects
arg 0 <modify_expr 0x40010460
type <integer_type 0x4000e380 int public SI
size <integer_cst 0x400042e8 constant invariant 32>
unit size <integer_cst 0x40004078 constant invariant 4>
align 32 symtab 0 alias set -1 precision 32 min <integer_cst
0x400042a0 -2147483648> max <integer_cst 0x400042b8 2147483647>
pointer_to_this <pointer_type 0x400188c0>>
side-effects
arg 0 <result_decl 0x400c0f50 D.1805 type <integer_type 0x4000e380 int>
ignored in_system_header SI file /usr/include/bits/stdio.h line 35
size <integer_cst 0x400042e8 32> unit size <integer_cst 0x40004078 4>
align 32>
arg 1 <call_expr 0x40010438 type <integer_type 0x4000e380 int>
side-effects
arg 0 <addr_expr 0x400094a0 type <pointer_type 0x400c1070>
constant invariant arg 0 <function_decl 0x4004c380 vfprintf>>
arg 1 <tree_list 0x400bf4f8
value <nop_expr 0x400094c0 type <pointer_type 0x400af930>
arg 0 <var_decl 0x400ac5b0 stdout>>
chain <tree_list 0x400bf510 value <parm_decl 0x400c0bd0 __fmt>
chain <tree_list 0x400bf528 value <parm_decl 0x400c0c40
__arg>>>>>>
Program received signal SIGSEGV, Segmentation fault.
0x40931668 in strlen () from /lib/libc.so.6
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on"
Evaluation of the expression containing the function (debug_tree) will be
abandoned.
Last successful build was updated at Wed Jun 1 22:33:22 UTC 2005.
--
Summary: [4.1 Regression] ICE: segmentation fault in stage3
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: danglin at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: hppa-unknown-linux-gnu
GCC host triplet: hppa-unknown-linux-gnu
GCC target triplet: hppa-unknown-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21916