[Git][cmucl/cmucl][rtoy-amd64-p1] Make cross-x86-amd64 look more like cross-x86-x86
Raymond Toy
gitlab at common-lisp.net
Thu Aug 20 14:38:39 UTC 2020
Raymond Toy pushed to branch rtoy-amd64-p1 at cmucl / cmucl
Commits:
aa7b0b27 by Raymond Toy at 2020-08-20T07:38:21-07:00
Make cross-x86-amd64 look more like cross-x86-x86
Make the cross compiler script look more like the x86-x86 one.
* Don't load float-tran-dd since the x86 script doesn't.
* Forgot to load vm:c-call. Fixes error about make-call-out-tns not
existing.
* Don't load compiler/codegen and compiler/array-tran since the x86
script doesn't. Not sure why these are here, but just comment them
out for now.
Still get this error:
; Compiling DEFUN INT-INIT-XORO-STATE:
Structure for accessor C:TN-OFFSET is not a C:TN:
#<RETURN #x6034AD55
LAMBDA= #<LAMBDA #x603494BD
NAME= (FLET MAKE-DOUBLE INT-INIT-XORO-STATE)
TYPE= #<FUNCTION-TYPE (FUNCTION ((UNSIGNED-BYTE 64))
DOUBLE-FLOAT)>
WHERE-FROM= :DEFINED
VARS= (X)>
RESULT-TYPE= #<NUMERIC-TYPE DOUBLE-FLOAT>>
Aborting...
0: (DEBUG:BACKTRACE 536870911
#<Stream for file "/home/toy/src/clnet/cmucl/dev/cmucl/xtarget-amd64/compile-lisp.log">)
1: ("DEFUN COMF" #<SIMPLE-TYPE-ERROR {60A80CBD}>)
2: (SIGNAL #<SIMPLE-TYPE-ERROR {60A80CBD}>)
3: (ERROR SIMPLE-TYPE-ERROR
:DATUM #<RETURN #x6034AD55
LAMBDA= #<LAMBDA #x603494BD
NAME= #
TYPE= #<FUNCTION-TYPE #>
WHERE-FROM= :DEFINED
VARS= #>
RESULT-TYPE= #<NUMERIC-TYPE DOUBLE-FLOAT>>
:EXPECTED-TYPE ...)
4: ("DEFUN STRUCTURE-SLOT-ACCESSOR" #<unavailable-arg>)
5: (C::DO-CALL #<Code Object "DEFUN INLINE-ALLOCATION" {6171372F}> 11 12 143
...)
6: ("DEFINE-VOP (MOVE-FROM-DOUBLE)"
#<C::VOP #x603C3005
INFO= AMD64::MOVE-FROM-DOUBLE
ARGS= #<C:TN-REF #x603C2FAD
TN= #<TN t1[XMM1]>
WRITE-P= NIL
VOP= AMD64::MOVE-FROM-DOUBLE>
RESULTS= #<C:TN-REF #x603C2FD5
TN= #<TN t2[RSI]>
WRITE-P= T
VOP= AMD64::MOVE-FROM-DOUBLE>>)
7: (C::GENERATE-CODE
#<C:COMPONENT #x603517B5 NAME= "DEFUN INT-INIT-XORO-STATE">)
And then finally in worldbuild, we get:
/home/toy/src/clnet/cmucl/dev/cmucl/xtarget-amd64/code/type.amd64f
End-of-File on #<Stream for file "/home/toy/src/clnet/cmucl/dev/cmucl/xtarget-amd64/code/type.amd64f">
[Condition of type END-OF-FILE]
I'm guessing the fops are not getting written out correctly or the
fasl loader isn't interpreting the lengths correctly. Not sure
exactly what. It would be nice if we had a fasl dumper to print out
the contents of a fasl file in a readable format.
- - - - -
1 changed file:
- src/tools/cross-scripts/cross-x86-amd64.lisp
Changes:
=====================================
src/tools/cross-scripts/cross-x86-amd64.lisp
=====================================
@@ -300,7 +300,7 @@
(load "target:compiler/srctran")
(load "vm:vm-typetran")
(load "target:compiler/float-tran")
-(load "target:compiler/float-tran-dd")
+;;(load "target:compiler/float-tran-dd")
(load "target:compiler/saptran")
(load "vm:macros")
@@ -322,12 +322,16 @@
(load "vm:cell")
(load "vm:subprim")
(load "vm:debug")
+(load "vm:c-call")
(load "vm:sse2-c-call")
+
(load "vm:print")
(load "vm:alloc")
(load "vm:call")
(load "vm:nlx")
(load "vm:values")
+;; These need to be loaded before array because array wants to use
+;; some vops as templates.
(load "vm:sse2-array")
(load "vm:array")
(load "vm:pred")
@@ -343,8 +347,10 @@
(check-move-function-consistency)
-(load "target:compiler/codegen")
-(load "target:compiler/array-tran.lisp")
+;; Aret these necessary?
+;;(load "target:compiler/codegen")
+;;(load "target:compiler/array-tran.lisp")
+
(load "vm:new-genesis")
;;; OK, the cross compiler backend is loaded.
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/aa7b0b276fe865275bfbbad323c30fdf95618191
--
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/-/commit/aa7b0b276fe865275bfbbad323c30fdf95618191
You're receiving this email because of your account on gitlab.common-lisp.net.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20200820/335acf9a/attachment-0001.htm>
More information about the cmucl-cvs
mailing list