[Git][cmucl/cmucl][master] 2 commits: Initial Config for sparc64 build.

Raymond Toy rtoy at common-lisp.net
Sun Dec 4 16:42:35 UTC 2016


Raymond Toy pushed to branch master at cmucl / cmucl


Commits:
f9d62c05 by Raymond Toy at 2016-12-03T13:24:00-08:00
Initial Config for sparc64 build.

Copy Config.sparc_sunc to Config.sparcv9_sunc, removing the -m32
option and updating ASSEM_SRC to sparcv9-assem.S.  Remove that from
Config.sparc_common and put it in Config.sparc_sunc.

- - - - -
0082cee6 by Raymond Toy at 2016-12-04T08:42:19-08:00
Bootstrap file for x86->sparc cross-compile.

Use this with the -B option of cross-build-world.sh when
cross-compiling from x86 to sparc.

- - - - -


4 changed files:

- src/lisp/Config.sparc_common
- src/lisp/Config.sparc_sunc
- + src/lisp/Config.sparcv9_sunc
- + src/tools/cross-scripts/cross-x86-sparc-bootstrap.lisp


Changes:

=====================================
src/lisp/Config.sparc_common
=====================================
--- a/src/lisp/Config.sparc_common
+++ b/src/lisp/Config.sparc_common
@@ -43,7 +43,7 @@ CPPFLAGS += -I. -I$(PATH1) $(CC_V8PLUS) $(CPP_DEFINE_OPTIONS)
 CFLAGS += -g $(CC_V8PLUS)
 
 NM = $(PATH1)/solaris-nm
-ASSEM_SRC = sparc-assem.S
+#ASSEM_SRC = sparc-assem.S
 ARCH_SRC = sparc-arch.c
 
 DEPEND=$(CC) 


=====================================
src/lisp/Config.sparc_sunc
=====================================
--- a/src/lisp/Config.sparc_sunc
+++ b/src/lisp/Config.sparc_sunc
@@ -20,10 +20,11 @@ include Config.sparc_common
 ifdef FEATURE_SPARC_V9
 # For SunStudio 11, use -xarch=v8plus.  For SunStudio 12, that is
 # deprecated; use -m32 -xarch=sparc.
-CC_V8PLUS = -m32 -xarch=sparc
-AS_V8PLUS = -m32 -xarch=sparc
+CC_V8PLUS = -xarch=sparc
+AS_V8PLUS = -xarch=sparc
 endif
 
+ASSEM_SRC = sparcv9-assem.S
 CFLAGS += -xlibmieee -O
 DEPEND_FLAGS = -xM
 ASFLAGS = $(AS_V8PLUS)


=====================================
src/lisp/Config.sparcv9_sunc
=====================================
--- /dev/null
+++ b/src/lisp/Config.sparcv9_sunc
@@ -0,0 +1,31 @@
+# -*- Mode: makefile -*-
+
+# Build cmucl using Sun C compiler.  We assume cc is Sun's C compiler.
+# If you don't have it, why are you using this Config anyway?  You're
+# on your own if you use this Config without Sun C compiler available.
+
+include Config.sparc_common
+
+# For v8plus support (allows 64-bit integer support on V9
+# architectures), uncomment the definitions for CC_V8PLUS and
+# AS_V8PLUS.  The -Wa,xarch=v8plus option tells the assembler to
+# accept v8plus instructions and generate a v8plus object files and
+# executable.
+#
+# However, we should also make sure the binary is marked as v8plus by
+# enabling AS_V8PLUS whenever we have the :sparc-v9 *feature* enabled
+# because we really are a v8plus application by using some of the v9
+# instructions, even if we don't use the 64-bit registers.
+
+ifdef FEATURE_SPARC_V9
+# For SunStudio 11, use -xarch=v8plus.  For SunStudio 12, that is
+# deprecated; use -m32 -xarch=sparc.
+CC_V8PLUS = -xarch=sparc
+AS_V8PLUS = -xarch=sparc
+endif
+
+ASSEM_SRC = sparcv9-assem.S
+CFLAGS += -xlibmieee -O
+DEPEND_FLAGS = -xM
+ASFLAGS = $(AS_V8PLUS)
+OS_LINK_FLAGS = -M /usr/lib/ld/map.noexstk


=====================================
src/tools/cross-scripts/cross-x86-sparc-bootstrap.lisp
=====================================
--- /dev/null
+++ b/src/tools/cross-scripts/cross-x86-sparc-bootstrap.lisp
@@ -0,0 +1,4 @@
+;; Cross bootstrap file for cross-compiling from x86 to sparc.
+;; Use this file with the -B option for bin/cross-build-world.sh
+
+(export 'unix::unix-times "UNIX")
\ No newline at end of file



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/41838802a3e6cbf057be72dcbf70251f446adc28...0082cee611d78cdfa0e9d8bcaa19674ffe37097c
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20161204/4159458e/attachment-0001.html>


More information about the cmucl-cvs mailing list