X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=base-target-features.lisp-expr;h=8237b15ef5a6c906dfe6bdb0230d544f327f3427;hb=e0aff99a73d836da0dad4602e5559595fbe5ba5c;hp=770949aba44c91d1b062a1d8d480ac4cac983c11;hpb=49e8403800426f37a54d9b87353a31af36e7af40;p=sbcl.git diff --git a/base-target-features.lisp-expr b/base-target-features.lisp-expr index 770949a..8237b15 100644 --- a/base-target-features.lisp-expr +++ b/base-target-features.lisp-expr @@ -216,23 +216,17 @@ ;; 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 + ;; futex support ;; ;; While on linux we are able to use futexes for our locking - ;; primitive, on other platforms we don't have this luxury. NJF's - ;; lutexes present a locking API similar to the futex-based API that - ;; allows for sb-thread support on x86 OS X, Solaris and - ;; FreeBSD. + ;; primitive, on other platforms we don't have this luxury. ;; - ; :sb-lutex + ; :sb-futex ;; On some operating systems the FS segment register (used for SBCL's ;; thread local storage) is not reliably preserved in signal @@ -240,6 +234,11 @@ ;; local storage. ; :restore-tls-segment-register-from-tls + ;; On some x86oid operating systems (darwin) SIGTRAP is not reliably + ;; delivered for the INT3 instruction, so we use the UD2 instruction + ;; which generates SIGILL instead. + ; :ud2-breakpoints + ;; Support for detection of unportable code (when applied to the ;; COMMON-LISP package, or SBCL-internal pacakges) or bad-neighbourly ;; code (when applied to user-level packages), relating to material @@ -307,6 +306,17 @@ ;; foreign code that uses a 32-bit off_t. ; :largefile + ;; Enabled automatically on platforms that have VOPs to compute the + ;; high half of a full word-by-word multiplication. When disabled, + ;; SB-KERNEL:%MULTIPLY-HIGH is implemented in terms of + ;; SB-BIGNUM:%MULTIPLY. + ; :multiply-high-vops + + ;; SBCL has optional support for zlib-based compressed core files. Enable + ;; this feature to compile it in. Obviously, doing so adds a dependency + ;; on zlib. + ; :sb-core-compression + ;; ;; miscellaneous notes on other things which could have special significance ;; in the *FEATURES* list @@ -388,6 +398,10 @@ ;; :compare-and-swap-vops ;; The backend implements compare-and-swap VOPs. ;; + ;; :memory-barrier-vops + ;; Memory barriers (for multi-threaded synchronization) have been + ;; implemented for this platform. + ;; ;; operating system features: ;; :unix = We're intended to run under some Unix-like OS. (This is not ;; exclusive with the features which indicate which particular