[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: gcc-3.2: miscompilation on powerpc with -O2 or higher
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: gcc-3.2: miscompilation on powerpc with -O2 or higher |
Date: |
Sun, 02 Mar 2003 07:59:51 -0500 |
Greetings! Just a followup note to say that I've reconfirmed this
problem, and have a gdb trace. All is well with 2.95 -O6
-fomit-frame-pointer, but the following happens with gcc-3.2 with -O2
or greater: (For the time being, GCL lowers its gcc optimization to -O
when using powerpc and >=gcc-3.2. )
=============================================================================
address@hidden:~/gcl1/unixport$ gcc-3.2 -v
gcc-3.2 -v
Reading specs from /usr/lib/gcc-lib/powerpc-linux/3.2.3/specs
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,proto,pascal,objc,ada --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.2 --enable-shared --with-system-zlib
--enable-nls --without-included-gettext --enable-__cxa_atexit
--enable-clocale=gnu --enable-java-gc=boehm --enable-objc-gc powerpc-linux
Thread model: posix
gcc version 3.2.3 20030210 (Debian prerelease)
=============================================================================
cpp -I../h new_init.c |grep -5 MACROEXP
{ extern object sLfuncall ; sLfuncall = (1 == 1 ? make_ordinary("FUNCALL") : 1
== 0 ? make_si_ordinary("FUNCALL"): 1 == 2 ? make_keyword("FUNCALL"):
(error("Bad pack variable in DEF_ORDINARY\n"),(object)0));}
{ extern object sLAmacroexpand_hookA; sLAmacroexpand_hookA = (1 == 1 ?
make_special("*MACROEXPAND-HOOK*",sLfuncall) : (1 == 0 ?
make_si_special("*MACROEXPAND-HOOK*",sLfuncall): (error("Bad pack variable in
DEFVAR\n"),(object)0)));}
=============================================================================
gdb raw_gcl
gdb raw_gcl
GNU gdb 5.3-debian
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "powerpc-linux"...
(gdb) r ./ <foo
r ./ <foo
Starting program: /home/camm/gcl1/unixport/raw_gcl ./ <foo
GCL (GNU Common Lisp) April 1994 32768 pages
Building symbol table for /home/camm/gcl1/unixport/raw_gcl ..
loading ./../lsp/export.lsp
Initializing defmacro.o
Initializing evalmacros.o
Initializing top.o
Initializing module.o
loading ./../lsp/autoload.lsp
Program received signal SIGSEGV, Segmentation fault.
IapplyVector (fun=0x0, nargs=3, base=0x10264998) at nfunlink.c:197
197 switch(type_of(fun)) {
(gdb) b make_special
b make_special
Breakpoint 1 at 0x1002d1f4: file symbol.d, line 112.
(gdb) r
r
The program being debugged has been started already.
Start it from the beginning? (y or n) y
y
Starting program: /home/camm/gcl1/unixport/raw_gcl ./ <foo
GCL (GNU Common Lisp) April 1994 32768 pages
Breakpoint 1, make_special (s=0x10249edc "*MACROEXPAND-HOOK*", v=0x0)
at symbol.d:112
112 x = make_ordinary(s);
(gdb)
(gdb) bt
bt
#0 make_special (s=0x10249edc "*MACROEXPAND-HOOK*", v=0x0) at symbol.d:112
#1 0x10006f0c in NewInit () at new_init.c:128
#2 0x100032e8 in initlisp () at main.c:464
#3 0x10002d04 in main (argc=270925824, argv=0x10260000, envp=0x10300000)
at main.c:330
#4 0x0fd08e04 in __libc_start_main () from /lib/libc.so.6
(gdb) p &make_special
p &make_special
$4 = (object (*)(char *, object)) 0x1002d1e0 <make_special>
(gdb) frame 0
frame 0
#0 make_special (s=0x10249edc "*MACROEXPAND-HOOK*", v=0x0) at symbol.d:112
112 x = make_ordinary(s);
(gdb) p &v
p &v
Address requested for identifier "v" which is in register $r29
(gdb) frame 1
frame 1
#1 0x10006f0c in NewInit () at new_init.c:128
128 DEFVAR("*MACROEXPAND-HOOK*",sLAmacroexpand_hookA,LISP,sLfuncall,"")
(gdb) p sLfuncall
p sLfuncall
$5 = 0x10318288
(gdb) p &sLfuncall
p &sLfuncall
$6 = (object *) 0x10262c10
(gdb) i reg
i reg
r0 0x10006f0c 268463884
r1 0x7ffffc50 2147482704
r2 0x0 0
r3 0x10249edc 270835420
r4 0x0 0
r5 0x0 0
r6 0x10249ed4 270835412
r7 0x262f6cd5 640642261
r8 0x1 1
r9 0x10260000 270925824
r10 0x7 7
r11 0x7 7
r12 0x80808080 -2139062144
r13 0x1026a680 270968448
r14 0x0 0
r15 0x0 0
r16 0x0 0
r17 0x0 0
r18 0x0 0
r19 0x0 0
r20 0x10260000 270925824
r21 0xa 10
r22 0x10300000 271581184
r23 0x10260000 270925824
r24 0x10010000 268500992
r25 0x7fffffff 2147483647
r26 0x10290000 271122432
r27 0x10300000 271581184
r28 0x10260000 270925824
r29 0x10300000 271581184
r30 0x10260000 270925824
r31 0x10300000 271581184
pc 0x1002d1f4 268620276
ps 0x2d032 184370
cr 0x48000822 1207961634
lr 0x10006f0c 268463884
ctr 0x1000babc 268483260
xer 0x20000000 536870912
fpscr 0x82024000 -2113781760
vscr 0x0 0
vrsave 0x0 0
(gdb) disassemble
(snip)
0x10006edc <NewInit+2616>: bl 0x10087e5c <LISP_makefun>
0x10006ee0 <NewInit+2620>: lis r3,4133
0x10006ee4 <NewInit+2624>: addi r3,r3,-24876
0x10006ee8 <NewInit+2628>: crclr 4*cr1+eq
0x10006eec <NewInit+2632>: bl 0x1002d0c8 <make_ordinary>
0x10006ef0 <NewInit+2636>: lis r9,4134
0x10006ef4 <NewInit+2640>: mr r0,r3
0x10006ef8 <NewInit+2644>: lwz r4,11280(r9)
0x10006efc <NewInit+2648>: lis r3,4133
0x10006f00 <NewInit+2652>: stw r0,11280(r9)
0x10006f04 <NewInit+2656>: addi r3,r3,-24868
0x10006f08 <NewInit+2660>: bl 0x1002d1e0 <make_special>
---Type <return> to continue, or q <return> to quit---
0x10006f0c <NewInit+2664>: lis r9,4134
0x10006f10 <NewInit+2668>: stw r3,10576(r9)
0x10006f14 <NewInit+2672>: lis r3,4133
0x10006f18 <NewInit+2676>: addi r3,r3,-24848
0x10006f1c <NewInit+2680>: crclr 4*cr1+eq
0x10006f20 <NewInit+2684>: bl 0x1002d258 <make_si_ordinary>
0x10006f24 <NewInit+2688>: lis r9,4134
0x10006f28 <NewInit+2692>: mr r0,r3
0x10006f2c <NewInit+2696>: addi r4,r29,-5488
0x10006f30 <NewInit+2700>: lis r3,4133
0x10006f34 <NewInit+2704>: stw r0,10348(r9)
0x10006f38 <NewInit+2708>: addi r3,r3,-24836
=============================================================================
Take care,
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gcl-devel] Re: gcc-3.2: miscompilation on powerpc with -O2 or higher,
Camm Maguire <=