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/41838802a3e6cbf057be72dcb...