pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/lang/sbcl



Module Name:    pkgsrc
Committed By:   rjs
Date:           Mon Sep  1 20:32:58 UTC 2025

Modified Files:
        pkgsrc/lang/sbcl: Makefile distinfo
Added Files:
        pkgsrc/lang/sbcl/patches: patch-src_runtime_bsd-os.c

Log Message:
Update to sbcl-2.5.8.

Changes in sbcl-2.5.8 relative to sbcl-2.5.7

    * minor incompatible change: SB-THREAD:MAIN-THREAD-P can only be
      applied to threads, not arbitrary lisp objects.
    * minor incompatible change: the instruction-combining (peephole)
      optimization pass does not run if COMPILATION-SPEED has a higher
      value than SPEED.
    * platform support:
        * on arm64, provide better backtraces in the statistical
          profiler's reporting, along with better detection of
          assembly routines, local functions and callers of foreign
          code.
        * on ppc64le, make --dynamic-space-size behave as
          documented. (#2121255)
        * on x86-64, handle more cases in the ALU+TEST peephole
          optimization.
    * bug fix: for file-streams with :DIRECTION :IO, input and output
      file positions should no longer get out of sync. (#1600610,
      reported by Guillaume le Vaillant, test cases by Brent Benson)
    * bug fix: an infinite loop in SUBTYPEP for types involving
      negations of CONS of specialized ARRAY types. (#2114755)
    * bug fix: miscompilation of a CASE form with small numeric
      keys. (#2119035)
    * bug fix: anonymous alien structs definitions are deduplicated,
      making it harder to overflow internal data
      structures. (#2114943, reported by Brooke Tilley)
    * bug fix: allow ALU+TEST peephole optimizations to fire on
      x86-64. (#2120547, reported by Christoph Breitkopf)
    * bug fix: miscompilation of a LOOP form with rational arithmetic
      on variables involved in termination tests. (#2121178, reported
      by 3b)
    * bug fix: the compiler is better able to associate some forms in
      a macroexpanion with the original sources.
    * optimization: improve array construction with LIST or SEQUENCE
      :INITIAL-CONTENTS.

Changes in sbcl-2.5.7 relative to sbcl-2.5.6

    * enhancement: the encapsulate mechanism can be used to wrap
      functions that are currently not FBOUNDP.
    * bug fix: internal compiler error in a failure of stack analysis
      during propagation of dynamic-extent. (#2113935)
    * bug fix: address regression in type inference for TRUNCATE and
      other division-related operators. (#2115305, reported by Vasiliy
      Postnicov)
    * bug fix: cleanup of the main thread is performed more carefully
      when SBCL is used as a shared library. (#2115669, reported by
      Fedorov Alexander)
    * bug fix: the compiler does not lose track of the types of
      specialized external entry points for user-defined
      functions. (#2115955, reported by Matt Kaufmann)
    * bug fix: adjust compiler template argument acceptability for
      increased usage scope. (#2116150)
    * bug fix: provide a stub for ROTATE-RIGHT-WORD for
      constant-folding during compilation. (#2117080)
    * bug fix: provide a stub for %MAKE-DOUBLE-FLOAT for
      constant-folding during compilation. (reported by Eric Marsden)
    * bug fix: don't loop infinitely in the presence of
      type-mismatching circular #S read syntax. (reported by Bohong
      Huang)
    * optimization: calls to SLOT-VALUE (and related functions) within
      methods, on values that are not a specialized argument to those
      methods, are optimized similarly to calls to SLOT-VALUE in
      non-method code.
    * optimization: calls to REPLACE with VECTOR first argument and
      LIST second argument are improved.
    * optimization: TYPECASE over a set of structure types known not
      to be extensible is converted to an array lookup.

Changes in sbcl-2.5.6 relative to sbcl-2.5.5

    * enhancement: the compiler now recognizes when local functions
      (both named and anonymous) are used only as downward funargs in
      many situations and can stack allocate such closures even
      without explicit dynamic extent declarations. See the updated
      manual entry on stack allocation for more information and how
      user-code can declare funargs as downward.
    * minor incompatible change: optimization notes for a variable
      declared to be of type LIST will not be emitted for various
      transforms which are defined to operate on (OR NULL VECTOR).
    * minor incompatible change: some forms, including a THE form with
      an invalid type specifier, or a CASE form with bad entries, no
      longer produce a runtime error. (They continue to provide a full
      warning at compile-time).
    * platform support
        * on arm64, breakpoint-based stepping is now thread-safe.
        * on arm64, backtraces after interrupts should be more correct.
        * on x86-64 with the immobile-space feature, calling from
          assembly routines to lisp routines is more efficient.
        * if arenas are enabled, users can define a lisp function to
          act as a handler to customize behaviour on arena exhaustion.
    * bug fix: address several bugs related to dynamic-extent
      declarations, inference, and stack allocation.
    * bug fix: the stack return page protection is temporarily
      disabled during GC, so that GC can complete even if it needs to
      write in the return page.
    * bug fix: the compiler generates code to the right entry point
      for specialized functions. (#2111876, reported by Matt Kaufmann)
    * bug fix: the compiler's constraint derivation would sometimes
      not terminate. (#2113747)
    * bug fix: when the runtime structure representing a thread is
      re-used, the stack guard pages are restored.
    * bug fix: type checks for &OPTIONAL arguments are done only once.
    * bug fix: CEILING's docstring was wrong. (reported by Dave Tenny)
    * bug fix: APPLY could be called with too many arguments when
      parsing MEMBER type specifications. (reported by Zach Beane)
    * bug fix: the compiler could allow constant values of bad types
      to trigger optimizations. (#2113977)
    * bug fix: internal compiler error when attempting to write out a
      type check for a value already proved to never exist (i.e. be of
      type NIL). (#2112475)
    * optimization: better division for signed-word dividends and
      unsigned-word divisors on arm64 and x86-64.
    * optimization: improvements to subtraction involving bignums and
      words on x86-64.
    * optimization: perfect-hash-based transformations are applied to
      sequence functions with keys including fixnums and characters as
      well as symbols.


To generate a diff of this commit:
cvs rdiff -u -r1.111 -r1.112 pkgsrc/lang/sbcl/Makefile
cvs rdiff -u -r1.84 -r1.85 pkgsrc/lang/sbcl/distinfo
cvs rdiff -u -r0 -r1.3 pkgsrc/lang/sbcl/patches/patch-src_runtime_bsd-os.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/lang/sbcl/Makefile
diff -u pkgsrc/lang/sbcl/Makefile:1.111 pkgsrc/lang/sbcl/Makefile:1.112
--- pkgsrc/lang/sbcl/Makefile:1.111     Thu Jun 19 22:59:49 2025
+++ pkgsrc/lang/sbcl/Makefile   Mon Sep  1 20:32:58 2025
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.111 2025/06/19 22:59:49 rjs Exp $
+# $NetBSD: Makefile,v 1.112 2025/09/01 20:32:58 rjs Exp $
 
 DISTNAME=              ${PKGNAME_NOREV}-source
-PKGNAME=               sbcl-2.5.5
+PKGNAME=               sbcl-2.5.8
 CATEGORIES=            lang
 MASTER_SITES=          ${MASTER_SITE_SOURCEFORGE:=sbcl/}
 EXTRACT_SUFX=          .tar.bz2

Index: pkgsrc/lang/sbcl/distinfo
diff -u pkgsrc/lang/sbcl/distinfo:1.84 pkgsrc/lang/sbcl/distinfo:1.85
--- pkgsrc/lang/sbcl/distinfo:1.84      Sun Jun  1 18:18:14 2025
+++ pkgsrc/lang/sbcl/distinfo   Mon Sep  1 20:32:58 2025
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.84 2025/06/01 18:18:14 rjs Exp $
+$NetBSD: distinfo,v 1.85 2025/09/01 20:32:58 rjs Exp $
 
-BLAKE2s (sbcl-2.5.5-source.tar.bz2) = c7a3a3127a3540b9bb025e26c5fe1248cd6618e025a1427e4d56144258363b31
-SHA512 (sbcl-2.5.5-source.tar.bz2) = 8736feb6fd23cfdb1c392756b49aada56ab4f1c8a0a1bbec19effebc16295d4480adac2147fed81704a6e5903330584edbb2f73e8851f679d26ad605b7487293
-Size (sbcl-2.5.5-source.tar.bz2) = 8258925 bytes
+BLAKE2s (sbcl-2.5.8-source.tar.bz2) = 2e87b583d67d45d5a08cbf1247910a8ebeed1361492c64d4e6a2ed1002165a5e
+SHA512 (sbcl-2.5.8-source.tar.bz2) = ec7009fba3fdfa0547d7d75a0f85c1619bf9abd8483ab9218f708c81457bba65913f3f011ef0ffb2b39024ef26d20ae35b52e4c8ac3bef97ea783e3993bfb69e
+Size (sbcl-2.5.8-source.tar.bz2) = 8291136 bytes
 SHA1 (patch-ab) = b272bee6fc39ede638cbf71106150044a2977596
 SHA1 (patch-clean.sh) = 8dd795727c2e2cba2c4b5ca8cc4972c89eb6ecaa
 SHA1 (patch-make-config.sh) = bcef514abcd7cc9f08c7440d1fe1ddcca615d230
@@ -12,3 +12,4 @@ SHA1 (patch-make-host-2.sh) = c0ac2f16a6
 SHA1 (patch-make-target-1.sh) = 9064623b0cba2fc6869f3d29ea090d55b7bdaf17
 SHA1 (patch-make-target-2.sh) = 7b288c3c320adb89cefa78a2fc93223ea4b3b66f
 SHA1 (patch-slam.sh) = 2f4d28b2d1572cd624a54f493cc7e30c3c491a3f
+SHA1 (patch-src_runtime_bsd-os.c) = 0c8f9eb0efeae8802af0ed44caa14a576b00d316

Added files:

Index: pkgsrc/lang/sbcl/patches/patch-src_runtime_bsd-os.c
diff -u /dev/null pkgsrc/lang/sbcl/patches/patch-src_runtime_bsd-os.c:1.3
--- /dev/null   Mon Sep  1 20:32:58 2025
+++ pkgsrc/lang/sbcl/patches/patch-src_runtime_bsd-os.c Mon Sep  1 20:32:58 2025
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_runtime_bsd-os.c,v 1.3 2025/09/01 20:32:58 rjs Exp $
+
+Add NetBSD definition for sb_GetTID function.
+
+--- src/runtime/bsd-os.c.orig  2025-09-01 10:59:36.453394531 +0000
++++ src/runtime/bsd-os.c
+@@ -64,6 +64,12 @@ int sb_GetTID()
+ {
+     return getthrid();
+ }
++#elif defined __NetBSD__
++#include <lwp.h>
++int sb_GetTID()
++{
++    return _lwp_self();
++}
+ #endif
+ 
+ #ifdef __NetBSD__



Home | Main Index | Thread Index | Old Index