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