Permalink
Browse files

1.0.33.26: enabled threads by default on x86[-64] Linux

 I'll let FreeBSD folks make the judgement if threads should be
 default there as well.

 Also: update INSTALL documentation regarding *FEATURES* a bit, and
 make the documentation clear about availability of threads on
 different builds.
  • Loading branch information...
1 parent e4c97b4 commit 1baab0bfb9538caec57262ed37f693507f6f33ec @nikodemus nikodemus committed Dec 18, 2009
Showing with 36 additions and 17 deletions.
  1. +18 −4 INSTALL
  2. +2 −0 NEWS
  3. +3 −6 base-target-features.lisp-expr
  4. +6 −3 doc/manual/threading.texinfo
  5. +6 −3 make-config.sh
  6. +1 −1 version.lisp-expr
View
22 INSTALL
@@ -25,7 +25,7 @@ INSTALLING SBCL
$ sh run-sbcl.sh
The following command installs SBCL and related documentation under
- the "/usr/local" directory:
+ the "/usr/local" directory (typically run as root):
# INSTALL_ROOT=/usr/local sh install.sh
@@ -159,13 +159,27 @@ INSTALLING SBCL
(pushnew x features))
(disable (x)
(setf features (remove x features))))
- ;; Threading support, available only on x86/x86-64 Linux, x86 Solaris
- ;; and x86 Mac OS X (experimental).
+ ;; Threading support.
(enable :sb-thread)))
This is the preferred way because it lets local changes interact
cleanly with CVS changes to the main, global source tree.
+ Some features of interest:
+
+ :SB-THREAD
+ Native threads. Enabled by default on x86[-64] Linux only, also
+ available on x86[-64] Max OS X, x86[-64] FreeBSD, and x86
+ Solaris.
+
+ :SB-UNICODE
+ Unicode support. Enabled by default. Disabling this feature
+ limits characters to the 8-bit ISO-8859-1 set.
+
+ :SB-XREF-FOR-INTERNALS
+ XREF data for SBCL internals. Not enabled by default, increases
+ core size by 5-6mb.
+
A catalog of available features and their meaning can be found in
"base-target-features.lisp-expr".
@@ -243,7 +257,7 @@ INSTALLING SBCL
Supported operating systems and architectures:
x86 x86-64 PPC Sparc Alpha MIPS MIPSel
- Linux 2.2, 2.4, 2.6 X X X X X X X
+ Linux 2.6 X X X X X X X
Darwin (Mac OS X) X X X
Solaris X X
FreeBSD X X
View
2 NEWS
@@ -1,5 +1,7 @@
;;;; -*- coding: utf-8; fill-column: 78 -*-
changes relative to sbcl-1.0.33:
+ * minor incompatible change: threading support is now enabled by default
+ on x86[-64] Linux.
* enhancement: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST now also works on most
builtin types.
* enhancement: Errors during compile-time-too processing (i.e. EVAL-WHEN)
@@ -216,12 +216,9 @@
;; low-level thread primitives support
;;
- ;; As of SBCL 0.8, this is only supposed to work in x86 Linux with
- ;; NPTL support (usually kernel 2.6, though sme Red Hat distributions
- ;; with older kernels also have it) and is implemented using clone(2)
- ;; and the %fs segment register. Note that no consistent effort to
- ;; audit the SBCL library code for thread safety has been performed,
- ;; so caveat executor.
+ ;; As of SBCL 1.0.33.26, threads are part of the default build on
+ ;; x86oid Linux. Other platforms that support them include
+ ;; x86oid Darwin, FreeBSD, and Solaris.
; :sb-thread
;; lutex support
@@ -9,9 +9,12 @@ multiprocessing on machines that have more than one CPU, but it does
not allow Lisp control of the scheduler. This is found in the
SB-THREAD package.
-This requires Linux (2.6+ or systems with NPTL backports) running on the
-x86 or x86-64 architecture, or SunOS (Solaris) on the x86. Support for
-threading on Darwin (Mac OS X) and FreeBSD on the x86 is experimental.
+Threads are part of the default build on x86[-64] Linux only.
+
+They are also experimentally supported on: x86[-64] Darwin (Mac OS X),
+x86[-64] FreeBSD, and x86 SunOS (Solaris). On these platforms threads
+must be explicitly enabled at build-time, see @file{INSTALL} for
+directions.
@menu
* Threading basics::
View
@@ -160,9 +160,12 @@ case "$sbcl_os" in
# If you add other platforms here, don't forget to edit
# src/runtime/Config.foo-linux too.
case "$sbcl_arch" in
- x86 | x86-64 | mips)
- printf ' :largefile' >> $ltf
- ;;
+ mips)
+ printf ' :largefile' >> $ltf
+ ;;
+ x86 | x86-64)
+ printf ' :sb-thread :largefile' >> $ltf
+ ;;
esac
if [ $sbcl_arch = "x86-64" ]; then
View
@@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.33.25"
+"1.0.33.26"

0 comments on commit 1baab0b

Please sign in to comment.