[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Profiling options in Franz Lisp. Opus 38.91. UoM Var. 3.5.



Does anyone know how to set up profiling in Franz Lisp ?
We have Franz Lisp of University of Maryland : Opus 38.91, UoM Variation 3.5.

I have already made the following modifications :

1) as stated in the makefile : ../franz/vax/Makefile I have removed the #
   in :
------------------------------------------------------------------------------
ProfFlag = # -XP
ProfFlag2 = # -DPROF
------------------------------------------------------------------------------

giving :

------------------------------------------------------------------------------
ProfFlag =  -XP
ProfFlag2 =  -DPROF
------------------------------------------------------------------------------

2) I've changed in ../franz/vax/Makefile the line :

------------------------------------------------------------------------------
	/lib/cpp $< -I../h |\
------------------------------------------------------------------------------

to :

------------------------------------------------------------------------------
	/lib/cpp ${ProfFlag2} $< -I../h |\
------------------------------------------------------------------------------

3) I've changed in ../franz/vax/Makefile/qfuncl.c the lines :

------------------------------------------------------------------------------
#ifdef PROF
	.set	indx,0
#define Profile \
	movab	prbuf+indx,r0  \
	.set 	indx,indx+4 \
	jsb 	mcount
#define Profile2 \
	movl   r0,r5 \
	Profile	\
	movl   r5,r0 
#else
#define Profile
#define Profile2
#endif
------------------------------------------------------------------------------

to :

------------------------------------------------------------------------------
#ifdef PROF
	.set	indx,0
#define Profile \
	movab	prbuf+indx,r0 ; \
	.set 	indx,indx+4 ; \
	jsb 	mcount
#define Profile2 \
	movl   r0,r5 ; \
	Profile	; \
	movl   r5,r0 
#else
#define Profile
#define Profile2
#endif
------------------------------------------------------------------------------

After all these modifications, we have the following error message when
making it slow :

------------------------------------------------------------------------------
ld -x -o rawlisp -e start ../low.o ../lowaux.o crt0.o ../alloc.o ../data.o  bigmath.o qfuncl.o vax.o ../lisp.o ../eval.o ../eval2.o ../inits.o ../io.o ../error.o  ../sysat.o ../lam1.o ../lam2.o ../lam3.o ../lam4.o ../lam5.o ../lam6.o  ../lam7.o ../lam8.o 




../lam9.o ../lamr.o ../lamp.o  ../fex1.o ../fex2.o ../fex3.o ../fex4.o ../fexr.o ../fpipe.o  ../subbig.o ../pbignum.o ../divbig.o  ../ffasl.o ../fasl.o  ../trace.o ../evalf.o ../frame.o ../lamgc.o  ../lamuom.o ../hash.o  -lm -lc -ltermlib
mcount: ld:/lib/libc.a(mon.o): multiply defined
*** Error code 2

Stop.
*** Error code 1

Stop.
------------------------------------------------------------------------------