Path: 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 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 "" /* <> */ 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 --