Problem with AIX-4.1 + patch
Daniel.Veillard at imag.fr
Daniel.Veillard at imag.fr
Wed Mar 26 07:11:29 PST 1997
On an AIX 4.1
/tahiti/diffusion/opera/RS6000/kaffe-0.8.3/kaffe/kaffevm -> uname -a
AIX pukapuka 1 4 001EE544E000
/tahiti/diffusion/opera/RS6000/kaffe-0.8.3/kaffe/kaffevm -> make
gcc -fsigned-char -DAIX -Dunix -DNO_SHARED_LIBRARIES -I.
-I/tahiti/diffusion/opera/kaffe-0.8.3/kaffe/kaffevm
-I/tahiti/diffusion/opera/kaffe-0.8.3/kaffe/kaffevm/../../config
-I../../config -I../../include -DINTERPRETER -I/tahiti/diffusion/opera/kaffe-0.
8.3/kaffe/kaffevm/intrp -DKVER=\"0.83\" -c /tahiti/diffusion/opera/kaffe-0.8
.3/kaffe/kaffevm/thread.c
/tahiti/diffusion/opera/kaffe-0.8.3/kaffe/kaffevm/thread.c:61: warning:
initialization from incompatible pointer type
Assembler:
/tmp/cc3Bu4Ea.s: line 3284: 1252-142 Syntax error.
/tmp/cc3Bu4Ea.s: line 3289: 1252-142 Syntax error.
/tmp/cc3Bu4Ea.s: line 3294: 1252-142 Syntax error.
/tmp/cc3Bu4Ea.s: line 3336: 1252-142 Syntax error.
make: 1254-004 The error code from the last command is 1.
Stop.
The offending assembly instructions are in reschedule :
3284 bl 1f
3285 nop
3286 nop
3287 nop
3288 nop
3289 1: nop
3290 nop
3291 nop
3292 nop
3293 mflr 27
3294 addi 27, 27, 2f-1b
3335 nop
3336 2: nop
3337 nop
I have noticed that all local addresses were L..xxx .
Replacing in the 1, 1b and 1f identifier by L..999 and
2 and 2b by L..1000 , running the assembler by hand
as -u -mpwr -o thread.o thread.s
and finishing the make the normal way produced a valid
(seems so) kaffe interpreter (I was able to compile without
problems jigsaw + amaya classes).
The patch follows at the end of the mail. Note that gcc
calls the native as assembler in my setup with the flags
-mpwr and hence for the original POWER chip set present
in the RS6000 line of machines. Seems that this assembler
don't understand labels beginning with numbers. I hope that
replacing them with L..xxx labels won't broke on the others
PPC environments.
Daniel
----------------------------- patch.aix ---------------------------------------
*** kaffe-0.8.3/config/powerpc/threads.h.orig Wed Mar 26 15:44:17 1997
--- kaffe-0.8.3/config/powerpc/threads.h Wed Mar 26 15:46:41 1997
*************** if((to)->restorePoint) printf("cim: %x\n
*** 71,87 ****
stw 31, 128+%2 \n\
lwz 27, %3 \n\
stw 27, %0 \n\
! bl 1f \n\
nop \n\
nop \n\
nop \n\
nop \n\
! 1: nop \n\
nop \n\
nop \n\
nop \n\
mflr 27 \n\
! addi 27, 27, 2f-1b \n\
stw 27, %2 \n\
lwz 31, %1 \n\
lwz 27, 0(31) \n\
--- 71,87 ----
stw 31, 128+%2 \n\
lwz 27, %3 \n\
stw 27, %0 \n\
! bl L..1000 \n\
nop \n\
nop \n\
nop \n\
nop \n\
! L..1000:nop \n\
nop \n\
nop \n\
nop \n\
mflr 27 \n\
! addi 27, 27, L..1001-L..1000 \n\
stw 27, %2 \n\
lwz 31, %1 \n\
lwz 27, 0(31) \n\
*************** if((to)->restorePoint) printf("cim: %x\n
*** 123,129 ****
nop \n\
nop \n\
nop \n\
! 2: nop \n\
nop \n\
nop \n\
nop \n\
--- 123,129 ----
nop \n\
nop \n\
nop \n\
! L..1001: nop \n\
nop \n\
nop \n\
nop \n\
-------------------------------------------------------------------------------
--
Daniel Veillard at w3.org | W3C / INRIA Rhone-Alpes | Today's Bookmarks :
Daniel.Veillard at inrialpes.fr| 655 av de l'Europe | Linux, WWW, Java,
Tel : +33 04 76 61 53 85 | 38330 Montbonnot | badminton, Kaffe,
Fax : +33 04 76 54 76 15 | France | Amaya and CSS.
Home: +33 04 76 63 05 86 | http://opera.inrialpes.fr/veillard
More information about the kaffe
mailing list