[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] Axiom ia64
From: |
Camm Maguire |
Subject: |
[Axiom-developer] Axiom ia64 |
Date: |
13 Nov 2006 10:29:20 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings! Please excuse -- I am no longer receiving axiom developer
mail due to some spam blockage somewhere. Have read on the web how
some have difficulty building axiom on ia64.
At present, there are 5 platforms in gcl-2.6.x (hppa, ia64, alpha,
mips, and mipsel) and 2 platforms on gcl-2.7.x (hppa and ia64) which
cannot natively relocate compiled object files. This means that (load
"foo.o")(si::save-system "bar") will give garbage in bar (perhaps in
should simple be an error. This is because loads happen via dlopen
and exist outside the heap. Instead, images must be saved with
compiler::link. Thus, there are some alternate commands which need
issuing in the axiom build to make this all work. These are
summarized in the debian/patch.merge file in the debian axiom package.
With these commands, axiom builds on all 12 Debian platforms.
Here is patch.merge. Note that one can conditionalize the alternate
procedures on #-native-reloc without having to keep track of specific
cpus.
=============================================================================
--- ./lsp/Makefile.pamphlet.~1.5.~ 2005-09-05 18:50:31.000000000 +0000
+++ ./lsp/Makefile.pamphlet 2005-09-20 21:20:10.000000000 +0000
@@ -1012,14 +1012,7 @@
@echo 1 building ${LSP} ${GCLVERSION}
gcldir:
- @echo 2 building ${GCLVERSION}
- @tar -zxf ${ZIPS}/${GCLVERSION}.tgz
-<<gcl-2.6.7.socket.patch>>
-<<gcl-2.6.7.libspad.patch>>
-<<gcl-2.6.7.toploop.patch>>
-<<gcl-2.6.7.tail-recursive.patch>>
-<<gcl-2.6.7.collectfn.fix>>
-<<gclConfigureMake>>
+ echo '(compiler::link nil "${OUT}/lisp" (format nil "(progn (let
((*load-path* (cons ~S *load-path*))(si::*load-types* ~S)) (compiler::emit-fn
t))(when (fboundp (quote si::sgc-on)) (si::sgc-on t))#-native-reloc(setq
compiler::*default-system-p* t))" si::*system-directory* (quote (list
#+native-reloc".o" ".lsp"))) "${OBJ}/${SYS}/lib/cfuns-c.o
${OBJ}/${SYS}/lib/sockio-c.o ${OBJ}/${SYS}/lib/libspad.a")' | gcl
@echo 13 finished system build on `date` | tee >gcldir
ccldir: ${LSP}/ccl/Makefile
--- ./src/algebra/Lattice.pamphlet.orig 2005-01-04 23:45:59.000000000 +0000
+++ ./src/algebra/Lattice.pamphlet 2005-02-14 18:45:10.000000000 +0000
@@ -39620,13 +39620,14 @@
@ cp -p ${SRC}/doc/gloss.text ${LIB}
@ cp -p ${SRC}/doc/topics.data ${MID}
@ echo rebuilding daase files
- @ (cd ${MID} ; \
- echo ')set out le 200' >/tmp/tmp.input ; \
- echo ')fin' >>/tmp/tmp.input ; \
- echo '(make-databases "" (QUOTE ("unix")))' >>/tmp/tmp.input ; \
- echo '(bye)' >>/tmp/tmp.input ; \
- cat /tmp/tmp.input | ${INTERPSYS} ; \
- rm -f /tmp/tmp.input )
+ @ (cd ${MID} ; \
+ echo ')set out le 200' >/tmp/tmp.input ; \
+ echo ')fin' >>/tmp/tmp.input ; \
+ echo "#+native-reloc(make-databases \"\" (QUOTE
(\"unix\")))#-native-reloc(system \"cp ${SRC}/../debian/*.daase ${MID}\")"
>>/tmp/tmp.input ; \
+ echo '(bye)' >>/tmp/tmp.input ; \
+ cat /tmp/tmp.input | ${INTERPSYS} ; \
+ rm -f /tmp/tmp.input )
+# @ (cp ${SRC}/../debian/*.daase ${MID})
@ echo If all went well, go-ahead Mike and do a db-install as well !
db-install:
@@ -39758,7 +39759,8 @@
@ echo rebuilding databases...
@ cp ${SRC}/doc/gloss.text ${MID}
@ cp ${SRC}/doc/topics.data ${MID}
- @ (cd ${MID} ; echo ')lisp (make-databases "" nil)' | ${INTERPSYS} )
+ @ (cd ${MID} ; echo ")lisp (progn #+native-reloc(make-databases \"\"
nil)#-native-reloc(system \"cp ${SRC}/../debian/*.daase ${MID}\"))" |
${INTERPSYS} )
+# @ (cp ${SRC}/../debian/*.daase ${MID})
check:
@ echo Checking that INTERP.EXPOSED and NRLIBs are consistent
--- ./src/etc/Makefile.pamphlet.orig 2005-01-30 12:03:12.000000000 +0000
+++ ./src/etc/Makefile.pamphlet 2005-02-14 18:47:16.000000000 +0000
@@ -33,9 +33,10 @@
@ cp ${SRC}/doc/gloss.text ${INT}/algebra
@ cp ${SRC}/doc/topics.data ${INT}/algebra
@ cp ${SRC}/doc/topics.data ${INT}/algebra
- @ (cd ${INT}/algebra ; \
- echo ')lisp (make-databases "" nil)' | ${INTERPSYS} )
- @ cp ${INT}/algebra/*.daase ${MNT}/${SYS}/algebra
+ @ (cd ${INT}/algebra ; \
+ echo ")lisp (progn #+native-reloc(progn (make-databases \"\"
nil)(system \"cp ${INT}/algebra/*.daase
${MNT}/${SYS}/algebra\"))#-native-reloc(system \"cp ${SRC}/../debian/*.daase
${MNT}/${SYS}/algebra\"))" | ${INTERPSYS} )
+# @ cp ${INT}/algebra/*.daase ${MNT}/${SYS}/algebra
+# @ (cp ${SRC}/../debian/*.daase ${MNT}/${SYS}/algebra)
@
\section{summary}
--- ./src/boot/Makefile.pamphlet.orig 2005-06-05 03:23:35.000000000 +0000
+++ ./src/boot/Makefile.pamphlet 2005-09-20 21:36:15.000000000 +0000
@@ -1173,7 +1173,8 @@
Until this is fixed we need to continue to use the old scheme.
<<environment>>=
-CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1})))
(system::save-system "${SAVESYS}"))
+#CMD0= (progn (mapcar (function (lambda (x) (load x))) (quote (${OBJS1})))
(system::save-system "${SAVESYS}"))
+CMD0= (if (member :native-reloc *features*) (progn (mapcar (function (lambda
(x) (load x))) (quote (${OBJS1}))) (system::save-system "${SAVESYS}"))
(compiler::link (quote (${OBJS1})) "${SAVESYS}" (format nil "(let ((*load-path*
(cons ~S *load-path*))(si::*load-types* ~S)) (compiler::emit-fn t)) (when
(fboundp (quote si::sgc-on)) (si::sgc-on t)) (setq compiler::*default-system-p*
t)" si::*system-directory* (quote (list ".lsp")))))
@
\subsection{boothdr.lisp \cite{1}}
--- ./src/interp/Makefile.pamphlet.orig 2005-09-20 21:48:56.000000000 +0000
+++ ./src/interp/Makefile.pamphlet 2005-09-20 21:49:14.000000000 +0000
@@ -576,7 +576,28 @@
\begin{verbatim}
<<save depsys image>>=
@ (cd ${MNT}/${SYS}/bin ; \
- echo '(progn (load "${OUT}/makedep.lisp") (spad-save "${DEPSYS}"))'
| ${LISPSYS})
+ echo '#+native-reloc(progn (load "${OUT}/makedep.lisp") (spad-save
"${DEPSYS}"))#-native-reloc(progn\
+ (setq si::*collect-binary-modules* t)\
+ (load "${OUT}/makedep.lisp")\
+ (compiler::link\
+ (remove-duplicates si::*binary-modules* :test
(quote equal))\
+ "$(DEPSYS)"\
+ (format nil "\
+ (setq si::*collect-binary-modules* t)\
+ (let ((si::*load-path* (cons ~S
si::*load-path*))\
+ (si::*load-types* ~S))\
+ (compiler::emit-fn t))\
+ (load \"$(OUT)/makedep.lisp\")\
+ (gbc t)\
+ (when si::*binary-modules*\
+ (error si::*binary-modules*))\
+ (setq si::collect-binary-modules* nil
si::*binary-modules* nil)\
+ (gbc t)\
+ (when (fboundp (quote si::sgc-on))
(si::sgc-on t))\
+ (setq compiler::*default-system-p* t)\
+ " si::*system-directory* (quote (list ".lsp")))\
+ ""\
+ nil))' | sed 's,\\$$,,g' | ${LISPSYS})
@
\end{verbatim}
@@ -880,8 +901,36 @@
@ echo '#+:akcl (setq compiler::*suppress-compiler-notes* t)' >>
${OUT}/makeint.lisp
@ echo '#+:akcl (si::gbc-time 0)' >> ${OUT}/makeint.lisp
@ echo '#+:akcl (setq si::*system-directory* "${SPAD}/bin/")' >>
${OUT}/makeint.lisp
+# @ (cd ${OBJ}/${SYS}/bin ; \
+# echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t)
(user::spad-save "${SAVESYS}"))' | ${LISPSYS} )
@ (cd ${OBJ}/${SYS}/bin ; \
- echo '(progn (gbc t) (load "${OUT}/makeint.lisp") (gbc t)
(user::spad-save "${SAVESYS}"))' | ${LISPSYS} )
+ echo '#+native-reloc(progn (gbc t) (setq x
si::*system-directory*)(load "${OUT}/makeint.lisp") (setq
si::*system-directory* x) (unintern (quote x))(gbc t)(user::spad-save
"${SAVESYS}"))#-native-reloc(progn\
+ (setq si::*collect-binary-modules* t)\
+ (setq x si::*system-directory*)\
+ (load "${OUT}/makeint.lisp")\
+ (setq si::*system-directory* x)\
+ (unintern (quote x))\
+ (compiler::link\
+ (remove-duplicates si::*binary-modules* :test
(quote equal))\
+ "$(SAVESYS)"\
+ (format nil "\
+ (let ((si::*load-path* (cons ~S
si::*load-path*))\
+ (si::*load-types* ~S))\
+ (compiler::emit-fn t))\
+ (setq si::*collect-binary-modules* t)\
+ (setq x si::*system-directory*)\
+ (load \"$(OUT)/makeint.lisp\")\
+ (setq si::*system-directory* x)\
+ (unintern (quote x))\
+ (when si::*binary-modules*\
+ (error si::*binary-modules*))\
+ (setq si::collect-binary-modules* nil
si::*binary-modules* nil)\
+ (gbc t)\
+ (when (fboundp (quote si::sgc-on))
(si::sgc-on t))\
+ (setq compiler::*default-system-p* t)\
+ " si::*system-directory* (quote (list ".lsp")))\
+ "$(OBJ)/$(SYS)/lib/sockio-c.o
$(OBJ)/$(SYS)/lib/cfuns-c.o $(OBJ)/$(SYS)/lib/libspad.a" \
+ nil))' | sed 's,\\$$,,g' | $(LISPSYS))
@ echo 6 ${SAVESYS} created
@ cp ${SAVESYS} ${AXIOMSYS}
@ echo 6a ${AXIOMSYS} created
=============================================================================
If anyone would like to help getting bfd support for ia64 and friends,
please look at sfaslbfd_alpha.c and sfaslbfd_mips.c from the HEAD cvs
tree. This should serve as an example for the needed sfaslbfd_ia64.c
Take care,
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, (continued)
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Humberto Ortiz-Zuazaga, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Gabriel Dos Reis, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Gabriel Dos Reis, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Camm Maguire, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Gabriel Dos Reis, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Camm Maguire, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Gabriel Dos Reis, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Camm Maguire, 2006/11/07
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Humberto Ortiz-Zuazaga, 2006/11/06
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Gabriel Dos Reis, 2006/11/09
- [Axiom-developer] Axiom ia64,
Camm Maguire <=
- Re: [Axiom-developer] Axiom ia64, Waldek Hebisch, 2006/11/13
- Re: [Axiom-developer] Axiom ia64, Camm Maguire, 2006/11/14
- Re: [Axiom-developer] Axiom ia64, Richard Harke, 2006/11/14
- Re: [Axiom-developer] Axiom ia64, Camm Maguire, 2006/11/14
- [Axiom-developer] gcl and readline, Camm Maguire, 2006/11/13
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Gabriel Dos Reis, 2006/11/09
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Humberto Ortiz-Zuazaga, 2006/11/09
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Humberto Ortiz Zuazaga, 2006/11/14
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Gabriel Dos Reis, 2006/11/14
- Re: [Axiom-developer] RE: gcl-2.6.8pre on MAC OSX 10.2, Humberto Ortiz Zuazaga, 2006/11/15