Article View: gnu.g++.bug
Article #1577G++ 1.31 - bugs
From: Philippe Gautron
Date: Thu, 22 Dec 1988 15:54
Date: Thu, 22 Dec 1988 15:54
264 lines
7903 bytes
7903 bytes
version: G++ 1.31.0, GCC 1.31., libg++ 1.25.0
Machine: SUN 3/260, running SUN 0S 3.4
Configuration: tm.h --> tm-sun3+.h
md --> m68k.md
aux-output.c --> output.m68k.c
Bug fixes: SUN3.README
expr.c (article 244)
stmt.c (article 245)
Symptoms:
- libg++ compiles without -O, aborts with -0 (see also article 247)
- libg++ tests: compilation aborts with test4.cc (signal 11)
- ATT cfront 1.1: compiles (that's new!) but execution fails.
More about
1) libg++ test4.cc
------
[]/u2/gautron/GNU/usr/local/bin/g++ -B/u2/gautron/GNU/usr/local/lib/gcc- -I. -I/u2/gautron/GNU/usr/local/lib/g++-include -v -c test4.cc
g++ version 1.31.0
/u2/gautron/GNU/usr/local/lib/gcc-cpp+ -v -I. -I/u2/gautron/GNU/usr/local/lib/g++-include -undef -D__GNU__ -D__GNUG__ -Dmc68000 -Dsun -Dunix test4.cc /tmp/cca00819.cpp
GNU CPP version 1.31.0
/u2/gautron/GNU/usr/local/lib/gcc-c++ /tmp/cca00819.cpp -quiet -dumpbase test4.cc -noreg -version -o /tmp/cca00819.s
GNU C++ version 1.31.0 (68k, MIT syntax) compiled by GNU C version 1.31.
In function struct Integer fibonacci (struct Integer):
test4.cc:35: Segmentation violation
/u2/gautron/GNU/usr/local/bin/g++: Program c++ got fatal signal 11.
[]gdb+ /u2/gautron/GNU/usr/local/lib/gcc-c++ core
gdb+ /u2/gautron/GNU/usr/local/lib/gcc-c++ core
GDB 2.5.4 (GNU C++ 1.22.0 compatible), Copyright (C) 1988 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /u2/gautron/GNU/usr/local/lib/gcc-c++...done.
Core file is from "gcc-c++".
Program terminated with signal 11, Segmentation fault.
Type "help" for a list of commands.
[gdb] bt
bt
#0 0x11e00 in chainon (op1=(tree) 0x1c98d4, op2=(tree) 0x1ce824) (tree.c line 777)
#1 0x169ae in poplevel (keep=1, reverse=1, functionbody=0) (cplus-decl.c line 735)
#2 0x5171a in expand_inline_function (fndecl=(tree) 0x14f948, parms=(tree) 0x1caa98, target=(rtx) 0x0, ignore=1, type=(tree) 0xd20ce, structure_value_addr=(rtx) 0x0) (integrate.c line 939)
#3 0x36c0c in expand_call (exp=(tree) 0x1cdee4, target=(rtx) 0x0, ignore=1, modifier=EXPAND_NORMAL) (expr.c line 4123)
#4 0x349ca in expand_expr (exp=(tree) 0x1cdee4, target=(rtx) 0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 2720)
#5 0x39c52 in expand_expr_stmt (exp=(tree) 0x1cdee4) (stmt.c line 929)
#6 0xa30b0 in expand_delete (type=(tree) 0x14dfac, addr=(tree) 0x1c6ea4, auto_delete=860270) (cplus-init.c line 2307)
#7 0x35a7e in expand_expr (exp=(tree) 0x1c6f14, target=(rtx) 0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL) (expr.c line 3294)
#8 0x3b08a in expand_cleanups (list=(tree) 0xce4e4, dont_do=(tree) 0x0) (stmt.c line 1902)
#9 0x3b0b6 in fixup_cleanups (list=(tree) 0xce4e4, before_jump=(rtx *) 0x1ca88c) (stmt.c line 1918)
#10 0x3965c in fixup_gotos (stack_level=(rtx) 0x0, cleanup_list=(tree) 0x0, first_insn=(rtx) 0x1c451c, dont_jump_in=0) (stmt.c line 696)
#11 0x3dc5e in fixup_parm_cleanups (after=(rtx) 0x1cd40c, before=(rtx) 0x1c5584, end=(rtx) 0x1cde20) (stmt.c line 3733)
#12 0x2138a in finish_function (call_poplevel=0) (cplus-decl.c line 6451)
#13 0xc790 in yyparse () (cplus-parse.y line 251)
#14 0x34b0 in compile_file (name=(char *) 0xefffde8 "/tmp/cca00819.cpp") (toplev.c line 1010)
#15 0x4d4e in main (argc=9, argv=(char **) 0xefffd78, envp=(char **) 0xefffda0) (toplev.c line 1824)
2) cfront:
gdb+ cfront core
GDB 2.5.4 (GNU C++ 1.22.0 compatible), Copyright (C) 1988 Free Software Foundation, Inc.
There is ABSOLUTELY NO WARRANTY for GDB; type "info warranty" for details.
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "info copying" to see the conditions.
Reading symbol data from /usr.MC68020/corto2/gautron/TMP/cfront...Invalid symbol data: unknown symbol-type code `/' at symtab pos 182.
Core file is from "cfront".
Program terminated with signal 10, Bus error.
Type "help" for a list of commands.
[gdb] quit
[]
[]dbx cfront core
dbx cfront core
Reading symbolic information...
dbx: internal error: unexpected value 47 at line 1903 in file object.c
[]
[]cat table.s
....
.globl _new_key
_new_key:
link a6,#-8
moveb a6@(15),a6@(15)
moveb a6@(19),a6@(19)
movel a6@(8),sp@-
clrl sp@-
jbsr _name_PSname_PQI
movel d0,a6@(-4)
clrl sp@-
movel a6@(-4),sp@-
movel _ktbl,sp@-
jbsr _insert_PStable_PSname_uQI
movel d0,a6@(-8)
movel a6@(-8),a0
moveb a6@(15),a0@
addw #20,sp
movel a6@(-8),a0
tstb a6@(19)
jeq L165
moveb a6@(19),d0
jra L166
L165:
moveb a6@(15),d0
L166:
clrl d1
moveb d0,d1
movel d1,a0@(4)
cmpb #143,a6@(15)
jne L167
moveb a6@(19),d0
jra L168
L167:
moveb a6@(15),d0
L168:
clrl d1
moveb d0,d1
movel d1,d0
asll #2,d0
lea _keys,a0
movel a6@(8),a0@(d0:l)
pea 1:w
movel a6@(-4),sp@-
jbsr __$_name
addqw #8,sp
L164:
unlk a6
rts
LC9:
.ascii "Qr%n'sT missing\0"
...
[] cat norm2.s
...
.globl __$_expr
__$_expr:
link a6,#0
tstl a6@(8)
jeq L77
addql #1,_NFe
movel a6@(8),a0
movel _expr_free,a0@(8)
movel a6@(8),_expr_free
clrl a6@(8)
tstl a6@(12)
jeq L75
movel a6@(8),sp@-
jbsr ___builtin_delete
addqw #4,sp
jra L76
L75:
L76:
L77:
L74:
unlk a6
rts
.even
...
.globl __$_name
__$_name:
link a6,#0
addqw #8,sp
tstl a6@(8)
jeq L138
addql #1,_NFn
movel a6@(8),a0
movel _name_free,a0@(52)
movel a6@(8),_name_free
clrl a6@(8)
movel a6@(12),sp@-
movel a6@(8),sp@-
jbsr __$_expr
L138:
L137:
unlk a6
rts
.even
[]adb cfront core
core file = core -- program ``cfront''
SIGBUS 10: bus error
$C
__$_name() + 38
0x25E8E?
__$_name:
__$_name: 4e560000 = addqw #8,sp
:r
:r
# 1 ""
/* <<ATT cfront by G++>> */
breakpoint _new_key+0x82: pea 1:w
:s
:s
stopped at _new_key+0x86: movl a6@(-4),sp@-
:s
:s
stopped at _new_key+0x8a: bsrl __$_name
:s
:s
stopped at __$_name: linkw a6,#0
:s
:s
stopped at __$_name+4: addqw #8,sp
:s
:s
stopped at __$_name+6: tstl a6@(8)
:s
:s
stopped at __$_name+0xa: beqs __$_name+0x36
:s
:s
stopped at __$_name+0xc: addql #1,_NFn:l
:s
:s
stopped at __$_name+0x12: movl a6@(8),a0
:s
:s
stopped at __$_name+0x16: movl _name_free:l,a0@(0x34)
:s
:s
stopped at __$_name+0x1e: movl a6@(8),_name_free:l
:s
:s
stopped at __$_name+0x26: clrl a6@(8)
:s
:s
stopped at __$_name+0x2a: movl a6@(0xc),sp@-
:s
:s
stopped at __$_name+0x2e: movl a6@(8),sp@-
:s
:s
stopped at __$_name+0x32: bsr __$_expr
:s
:s
stopped at __$_expr: linkw a6,#0
:s
:s
stopped at __$_expr+4: tstl a6@(8)
:s
:s
stopped at __$_expr+8: beqs __$_expr+0x3c
:s
:s
stopped at __$_expr+0x3c: unlk a6
:s
:s
stopped at __$_expr+0x3e: rts
:s
:s
stopped at __$_name+0x36: unlk a6
:s
:s
stopped at __$_name+0x38: rts
:s
:s
SIGBUS 10: bus error
stopped at __$_name+0x38: rts
Have a fun Michael....
-- Philippe Gautron --
Technical Details
Message-ID:
<8812221554.AA01171@corto.inria.fr>Path:
arc1-ca.pugleaf.net!utzoo!telly!ddsw1!lll-winken!uunet!tut.cis.ohio-state.edu!UUNET.UU.NET!mcvax!sor.inria.fr!gautronShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!lll-winken!uunet!tut.cis.ohio-state.edu!UUNET.UU.NET!mcvax!sor.inria.fr!gautron From: mcvax!sor.inria.fr!gautron@UUNET.UU.NET (Philippe Gautron) Newsgroups: gnu.g++.bug Subject: G++ 1.31 - bugs Message-ID: <8812221554.AA01171@corto.inria.fr> Date: 22 Dec 88 15:54:59 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 263