annotated tag sbcl-2.6.4: created. sbcl-2.6.4

crhodes via Sbcl-commits <[email protected]>
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The annotated tag "sbcl-2.6.4" has been created in SBCL:
        at  dd00ba68c82c29e9aafb9f48cb3ffd74d4f77142 (tag)
   tagging  1a0e4afd51c0d6e5c608ddae7fd154e2b5045619 (commit)
  replaces  sbcl-2.6.3
 tagged by  Christophe Rhodes
        on  Wed Apr 29 20:26:57 2026 +0100

- Log -----------------------------------------------------------------
changes in sbcl-2.6.4 relative to sbcl-2.6.3:
  * minor incompatible change: when DEFSETF is called on a name that was
    previously used as a (presumed) call to a function, it issues a single
    STYLE-WARNING (like DEFMACRO).
  * minor incompatible change: SB-EXT:PROCESS-KILL no longer supports the
    :PTY-PROCESS-GROUP option (which was never correctly implemented).
  * minor incompatible change: the :INITIAL-OFFSET argument for typed
    DEFSTRUCT, if given, no longer accepts NIL.
  * platform support:
    ** more likely to support 32-bit linux's struct timeval with 64-bit time_t.
    ** the runtime's main function is now defined as a weak symbol for
       platform/compiler combinations that support it.
    ** on Windows, individual empty arguments for RUN-PROGRAM are escaped.
    ** add input/output speed fields for our definition of the termios
       structure, addressing a crash in sb-posix:tcsetattr on OpenBSD.
       (lp#2150499, thanks to Robert Palm)
  * bug fix: address infinite loops in the compiler.  (lp#2144911, lp#2148056)
  * bug fix: if an FTYPE has been proclaimed for a function, don't mix NULL
    with explicitly-typed keyword arguments.  (lp#2147050, reported by Vasily
    Postnicov)
  * bug fix: compiler error from treatment of unused results.  (lp#2147383)
  * bug fix: compiler error from invalid dimension arguments to MAKE-ARRAY.
    (lp#2147384)
  * bug fix: compiler error arising from continuing to optimize deleted nodes.
    (lp#2147385)
  * bug fix: make sure linkage-table alien entries have base-string names.
    (lp#2147646, thanks to Seokjun Lee)
  * bug fix: make sure CHECK-TYPE's expansion does not include internal
    non-externalizable objects.  (lp#2148777, reported by Willem Broekema)
  * bug fix: alien calls involving passing structs by value are less likely to
    read or write wrong areas of memory.  (thanks to Jesse Bouwman)
  * bug fix: lowering EQUALP to EQUAL handles constant dotted lists correctly.
  * bug fix: a number of standard functions perform more explicit type checks
    on their arguments.
  * bug fix: only return the primary value from (LIST*/APPEND/NCONC <values>).
  * bug fix: correct treatment of escaped closing brackets in pathname
    patterns.
  * bug fix: escape dots in pathnames more correctly.
  * bug fix: the hash set for function names will incur collisions less
    frequently.  (reported by Andrew Wolven)
  * bug fix: the system is now capable of expressing select() on the whole
    range of possible file descriptors.
  * optimization: compiler optimizations for (REPLACE vector list) now apply
    given :START1 and/or :END1 keyword arguments.
  * optimization: CONCATENATE is faster for concatenating list arguments to a
    VECTOR.
  * optimization: ROUND for integers is more compact.
  * optimization: on 64-bit x86, implement TRUNCATE using the Lemire, Kaser,
    Kurz transform.
-----BEGIN PGP SIGNATURE-----

iQFFBAABCgAvFiEE1oOcoKZ/dNnftwki69WVqRANY80FAmnyW4ERHGNzcjIxQGNh
bnRhYi5uZXQACgkQ69WVqRANY80b7wgAmfNZpy/csu4ZtC8DqTpMDzebgT/m5JGJ
bpyHufRc6iv+UpV13niDs/0z8QcFoi88Nbxt7Bk10JnIT98Fsy7kTKNmDdMBMMGV
OAF4PgvG5tjj91Hg/fFqq8VVe90L5/Jk7sEH+H7DvyCCqcAT2w0Eyy7Zlql4sG1C
Q3dAOvSjdYFiZ3//kuUze4illd4C8dzmBeXD9RYTP2875RlaUJMuTtqRrxwuF7Je
Pg56KjOponlfk5nnU/NarKaf7rWAiRR4xJLiBQDiIPm/T/yrZjlSwRGE8KrOYzA9
GcEBqeW+2jOv6q2UIVQmRXxGPmoRNu0ZvJo8kOTQH9FniPmcdE1Mzw==
=EB8q
-----END PGP SIGNATURE-----

Christophe Rhodes (4):
      Persist the :ucrt feature, if present, into the final image
      First draft of NEWS for sbcl-2.6.4
      fixes to NEWS
      2.6.4: will be tagged as "sbcl-2.6.4"

Douglas Katzman (65):
      build-all-cores
      Factor out a subtraction that appears too many places
      Change :accessor to :reader in a define-condition
      Remove hash slot from PATTERN
      Clean up apply_absolute_fixups
      Fix comment
      Improve local var name
      Show number of stored fixups if *show-new-code*
      Get relocation.test.sh working for x86-64-darwin
      Try a different implementation of reader/writer lock
      x86-64: Implement tls-load-indirect for mark-region-gc
      Remove unused lines of code
      x86-64: always enable tls-load-indirect
      Compute STATIC-FDEFN-OFFSET more concisely
      Remove subcritical FIXMEs at pad-data-block
      Make c-callable-fdefns non-static
      Move print-object on sb-pcl::cache near its defstruct
      Enable a test file for mark-region which passes now
      Enable sb-profile test for mark-region
      Avoid calling cache-statistics function
      Rename call-static-fun to call-lisp-fun
      Expose a much simplified utf8-to-string decoder
      Decode utf8 from C
      Remove dump-segment, fold it into dump-code-object
      Implement a SIGSEGV mitigation strategy for tls-load-indirect
      Mostly combine all definitions of arch_get_bad_address into one
      Rename DSD-READER to DSD-PRIMITIVES
      Change HW to SW card marking on immobile layout pages
      Correct some obsolete bit-masking steps
      Move some things
      Fix mark-region with permgen
      Use soft card marking on all fixedobj pages
      Remove stray line noticed by reviewer
      Put back DSD-READER but only for structure-object
      Remove another misuse of (DECLARE SPECIAL) for #+tls-load-indirect
      Optimize (BOUNDP 'known-symbol) if #+tls-load-indirect
      Remove ENABLE_PAGE_PROTECTION choice from immobile-space
      Halve the size of immobile cards
      Cons nothing for alien linkage entries that exist
      Remove a hack from src/code/signal
      Avoid certain TLS load traps
      Tidy up the definition of *FINITE-SBS*
      x86-64: Rearrange CAS vops for SYMBOL-[GLOBAL-]VALUE
      Remove cold-fixup function
      Clean up sap-foreign-symbol
      Do some more renaming
      x86-64: Rearrange the alien linkage table
      Use a global list to hold disassembler instructions
      Mention foreign-symbol-address less
      Delete alien-linkage-value macro
      Make fun-name-hashset more hashy
      Remove unnecessary WHEN and LET
      Transform delete-if-not
      Permute FDEFN slots for #+linkage-space
      Undo a couple lines of prior change
      Accept immediate sc in symbol-global-value
      Show raw constants of :DWORD or :QWORD size
      Don't forget NIL
      x86-64: TRUNCATE using the Lemire, Kaser, Kurz transform
      Defensively code in type-width-in-bits
      Implement choice of using fastrem in IR1 transform
      Delete immobile space sigsegv handler
      Improve RELEASE-MUTEX docstring
      Fix strange comment
      Fix input-manifest

Gabor Melis (2):
      Improve SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME error handling
      Make DEFSETF warn a bit more like DEFMACRO

Jesse Bouwman (7):
      tests: struct-by-value parameter overread
      x86-64, struct-by-value: don't read past input struct
      tests: failing overwrite cases
      struct-by-value: don't overwrite when copying values from registers to memory
      x86-64, struct-by-value: prevent overwrites when copying during callbacks
      x86-64, struct-by-value: correct ABI classification for nested structs
      x86-64, struct-by-value: coordinate arglist transforms

Seokjun Lee (2):
      Base-stringize alien linkage table names
      Make main() a weak symbol for linkable runtime

Stas Boukarev (111):
      Avoid looping in join-equality-constraints
      inherit-equality-p: don't treat sets specially
      Simplify join-type-constraints
      Don't add equality constraints for types without bounds
      find-or-create-equality-constraint: more normalization
      Add a transform for (sqrt rational)
      (float (/ int1 int2)) => (/ (float int1) (float int2))
      Don't add equality constraints with offsets for types
      Remove redundant float coercions
      join-equality-constraints: set the amount to 0 instead of removing
      Don't redefine a macro
      Typo
      join-equality-constraints: better growth termination
      Better groveling of struct timeval on 32-bit linux with 64-bit time
      Don't mix in NULL for proclaimed &key types
      Smaller type testing of function for call-symbol
      x86-64: smaller (funcall (or null function))
      Maybe fix join-equality-constraints
      find-or-create-equality-constraint: use vector-length as a key
      Unroll more things for (equal x '(y))
      Fix ppc64 build
      Transform (replace simple-vector list) with :start1/:end1
      map-refs: protect against unused results
      check-array-dimensions: be ready for a mv-combination
      ir1-optimize-combination: stop if the node is deleted in derive-type
      Faster (concatenate 'vector ..) for list arguments
      Don't create an extra cons in (concatenate 'list ...)
      Tidy up some type specifiers
      Better type derivation (truncate x integer-union-with-zero)
      Fix EQUALP to EQUAL lowering for constant dotted lists
      Fix coerce compile-time checking
      x86-64: fix dynbind for -sb-thread
      Don't put bounds into the complex type for (complex float)
      Lower more things to from EQUALP to EQUAL
      Better types for (floor/ceiling (integer -5 5) integer)
      Exclude zeros when deriving truncate types
      Handle division by zero when deriving (/ integer integer)
      Warn about integer division by zero
      Fix a test
      Don't return the data vector from (replace complex-vector list)
      Fix ash-modfx constant folding
      Propagate that after (/= (rem n d) 0) D is (not (integer -1 1))
      Narrow the type of (truncate n d) based on the remainder
      More compact ROUND for integers
      Fix win32 build
      Check types for standalone byte, byte-size, byte-position
      Check for characters in unread-char
      Check types in broadcast-stream output routines
      Check for integers in array-in-bounds-p
      Ensure the types are checked in the set functions
      Actually fix check-coerce
      Better ftype for compiler-macro-function
      Return one value from (list* (values 1 2))
      find-class: check that the name is a symbol even when errorp is nil
      /=: check all arguments for NUMBER before returning NIL
      Return one value from (append/nconc (values 1 2))
      More type checks for the stream functions
      Out of line some/every: check if the function is defined early
      char/=: check all arguments for CHARACTER before returning NIL
      Return early from set-exclusive-or if one of the arguments is NIL
      Don't endlessly bounce between ash and logand transforms
      sb-ext:process-kill: remove the option to use :pty-process-group
      Remove closed processes from *active-processes*
      run-program: escape empty strings on windows
      pathnames: mind escape-char when processing []
      pathnames: fix dot escaping with multiple preceding escapes
      pathnames: correctly escape dots in the middle of a pattern
      sb-vm:new-arena: move the docstring to the right place
      constant-fold-call: call lvar-value with ignore-types=t
      Check that fd-set/fd-clr don't overflow fd-setsize
      unix-fast-select: allow select on FD_SETSIZE - 1
      Fix an error message from DEFSTRUCT
      Better predicates for named list structures
      defstruct: disallow (:initial-offset nil)
      alloc-buffer: check the type of size once
      (setf readtable-base-char-preference): assert-not-standard-readtable
      Don't lose :character-set when changing pathname case
      Remove a redundant check from unparse-physical-enough
      Warn about bad subseq ranges after transforming (concatenate .. (subseq ..))
      arm64: fix undefined restarts for call-symbol
      check-type: don't include ctypes in the expansion
      x86-64/truncate-c: correctly determine if the quotient is unused
      Transform floor/ceiling to truncate when used as a divisibility test
      let-lvar-dest: ignore NIL lvars
      Typos
      Address a FIXME in emit-inline-add-sub
      x86-64: fix mask-signed-field-integer for 64 and any-reg result
      arm64: fix a potential issue with fast-ash-c/signed=>signed
      arm64: use the right register in ash-inverted
      Typos in arm64/float.lisp
      x86-64: use xorps for conjugate/complex-single-float
      Fix logtest on ppc64
      arm64: fix alien-struct-by-value copying
      arm64, struct-by-value: look at the stack when running out of GPRs
      arm64, struct-by-value: correctly pass small structs on the stack
      x86-64, struct-by-value: correctly pass small structs on the stack
      arm64, struct-by-value: don't split stack/registers in callbacks
      arm64, struct-by-value: don't consume gprs when running out of fprs
      arm64, struct-by-value: don't read past the input struct
      arm64, callbacks: return float results in the right register
      arm64: don't do (ldrsw (32-bit-reg x) ..)
      x86-64, struct-by-value: correctly pass small structs on the stack
      x86-64, struct-by-value: fix record-arg-tn for win32
      Resolve a loop in constraints
      x86-64, struct-by-value: leave registers if a struct doesn't fit
      x86-64, struct callbacks: leave registers if a struct doesn't fit
      Revert "Persist the :ucrt feature, if present, into the final image"
      Disable a test
      Add c_ispeed and c_ospeed fields to sb-posix:termios
      Skip a test
      Spell-check NEWS

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.