* enhancement: WITH-COMPILATION-UNIT no longer grabs the world-lock.
(COMPILE and COMPILE-FILE still do.)
* optimization: the SPARC backend now supports the precise generational
- (GENCGC) garbage collection. Enabled by default on Solaris/SPARC.
- Thanks to Raymond Toy (via CMUCL).
+ (GENCGC) garbage collection. Enabled by default on Solaris/SPARC and
+ Linux/SPARC. Thanks to Raymond Toy (via CMUCL).
* enhancement: add experimental support for the SB-THREAD feature and the
timer facility on Windows. Thanks to Dmitry Kalyanov and Anton Kovalenko.
Threads are enabled by default, and this version of SBCL is considered
# FUNCDEF macro for assembler. No harm in running this on sparc-linux
# as well.
sh tools-for-build/sparc-funcdef.sh > src/runtime/sparc-funcdef.h
- if [ "$sbcl_os" = "sunos" ]; then
+ if [ "$sbcl_os" = "sunos" ] || [ "$sbcl_os" = "linux" ]; then
printf ' :gencgc' >> $ltf
else
echo '***'
- echo '*** You are running SPARC on non-SunOS. Since GENCGC is'
- echo '*** untested on this combination, make-config.sh is falling'
- echo '*** back to CHENEYGC. Please consider adjusting parms.lisp'
- echo '*** to build with GENCGC instead.'
+ echo '*** You are running SPARC on non-SunOS, non-Linux. Since'
+ echo '*** GENCGC is untested on this combination, make-config.sh'
+ echo '*** is falling back to CHENEYGC. Please consider adjusting'
+ echo '*** parms.lisp to build with GENCGC instead.'
echo '***'
printf ' :cheneygc' >> $ltf
fi
;;;; Description of the target address space.
;;; Where to put the different spaces. Must match the C code!
-#!+linux
+#!+(and linux cheneygc)
(progn
(def!constant linkage-table-space-start #x0f800000)
(def!constant linkage-table-space-end #x10000000)
(def!constant dynamic-1-space-start #x40000000)
(def!constant dynamic-1-space-end #x48000000))
+#!+(and linux gencgc) ; sensibly small read-only and static spaces
+(progn
+ (def!constant linkage-table-space-start #x0f800000)
+ (def!constant linkage-table-space-end #x10000000)
+
+ (def!constant read-only-space-start #x11000000)
+ (def!constant read-only-space-end #x110ff000)
+
+ (def!constant static-space-start #x11100000)
+ (def!constant static-space-end #x111ff000)
+
+ (def!constant dynamic-space-start #x30000000)
+ (def!constant dynamic-space-end (!configure-dynamic-space-end)))
+
#!+(and sunos cheneygc) ; might as well start by trying the same numbers
(progn
(def!constant linkage-table-space-start #x0f800000)
# provided with absolutely no warranty. See the COPYING and CREDITS
# files for more information.
-ASFLAGS = -g -Wall
+ASFLAGS = -g -Wall -Wa,-xarch=v8plus
LINKFLAGS += -v -rdynamic
NM = ./linux-nm