Update to latest git snapshot

- Drop one upstreamed patch to fix undefined behavior
This commit is contained in:
Jerry James 2025-06-02 11:01:50 -06:00
commit 2f58da3a26
3 changed files with 13 additions and 58 deletions

View file

@ -1,46 +0,0 @@
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118779
--- src/package.d.orig 2024-12-28 00:47:59.000000000 -0700
+++ src/package.d 2025-02-07 12:00:00.646094825 -0700
@@ -188,12 +188,12 @@ local maygc object rehash_symtab (object
first process the symbols, that sit in lists
(maybe Conses become free): */
{
- var gcv_object_t* offset = 0; /* offset = sizeof(gcv_object_t)*index */
+ var aint offset = 0; /* offset = sizeof(gcv_object_t)*index */
var uintC count = oldsize;
do {
var object oldentry = /* entry with number index in oldtable */
*(gcv_object_t*)(pointerplus(&TheSvector(STACK_2)->data[0],
- (aint)offset));
+ offset));
if (consp(oldentry)) /* this time process only non-empty symbol-lists */
do {
pushSTACK(Cdr(oldentry)); /* save rest-list */
@@ -205,22 +205,22 @@ local maygc object rehash_symtab (object
newinsert(Car(oldentry),newsize);
oldentry = popSTACK(); /* rest-list */
} while (consp(oldentry));
- offset++;
+ offset += sizeof(gcv_object_t);
} while (--count);
}
{ /* then process symbols, that sit there collision-free: */
- var gcv_object_t* offset = 0; /* offset = sizeof(gcv_object_t)*index */
+ var aint offset = 0; /* offset = sizeof(gcv_object_t)*index */
var uintC count;
dotimespC(count,oldsize, {
var object oldentry = /* entry with number index in oldtable */
*(gcv_object_t*)(pointerplus(&TheSvector(STACK_2)->data[0],
- (aint)offset));
+ offset));
if (!listp(oldentry)) { /* this time process only symbols /= NIL */
pushSTACK(oldentry); /* dummy, so that the stack is fine */
newinsert(oldentry,newsize); /* enter into the new table */
skipSTACK(1);
}
- offset++;
+ offset += sizeof(gcv_object_t);
});
}
/* stack layout: tab, oldtable, free-conses, newtable. */

View file

@ -1,7 +1,7 @@
# Upstream has not made a new release since 2010
%global srcname clisp
%global commit c3ec11bab87cfdbeba01523ed88ac2a16b22304d
%global date 20241228
%global commit f66220939ea7d36fd085384afa4a0ec44597d499
%global date 20250504
%global forgeurl https://gitlab.com/gnu-clisp/clisp
# There is a plus on the end for unreleased versions, not for released versions
@ -24,7 +24,7 @@ Version: 2.49.95
# - src/socket.d and modules/clx/mit-clx/doc.lisp are HPND
# - src/xthread.d and modules/asdf/asdf.lisp are X11
License: GPL-2.0-or-later AND (GPL-2.0-or-later OR GFDL-1.2-or-later) AND LGPL-2.1-or-later AND HPND AND X11
Release: 3%{?dist}
Release: 4%{?dist}
URL: http://www.clisp.org/
VCS: git:%{forgeurl}.git
Source0: %{forgesource}
@ -49,20 +49,17 @@ Patch4: %{name}-iconv-close.patch
# Fix a memory leak in encoding.d
# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/11
Patch5: %{name}-encoding-leak.patch
# Fix undefined behavior in rehash_symtab
# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/12
Patch6: %{name}-undefined-behavior.patch
# Fix undefined behavior in SORT
Patch7: %{name}-undefined-behavior-sort.patch
Patch6: %{name}-undefined-behavior-sort.patch
# Fix undefined behavior in interpret_bytecode_
Patch8: %{name}-undefined-behavior-eval.patch
Patch7: %{name}-undefined-behavior-eval.patch
# Fix undefined behavior in pr_array
Patch9: %{name}-undefined-behavior-io.patch
Patch8: %{name}-undefined-behavior-io.patch
# Fix misaligned memory accesses on ppc64le
Patch10: %{name}-ppc64le-alignment.patch
Patch9: %{name}-ppc64le-alignment.patch
# Fix some mismatched readline function declarations
# https://gitlab.com/gnu-clisp/clisp/-/merge_requests/13
Patch11: %{name}-readline.patch
Patch10: %{name}-readline.patch
# Work around a problem inlining a function on ppc64le
# See https://bugzilla.redhat.com/show_bug.cgi?id=2049371
@ -463,6 +460,10 @@ make -C build base-mod-check
%changelog
* Mon Jun 02 2025 Jerry James <loganjerry@gmail.com> - 2.49.95-4
- Update to latest git snapshot
- Drop one upstreamed patch to fix undefined behavior
* Fri Feb 14 2025 Jerry James <loganjerry@gmail.com> - 2.49.95-3
- Add patches to fix more undefined behavior
- Fix misaligned memory accesses on ppc64le

View file

@ -1 +1 @@
SHA512 (clisp-c3ec11bab87cfdbeba01523ed88ac2a16b22304d.tar.bz2) = f1f90de3eec144fd2d7bc9a3b482952c4c187f7ec590c41ce20447b4662961ae35290b260fa91d7399f9a4d1806ec7310ee90a77ead63a9d0f529a8627d2fa17
SHA512 (clisp-f66220939ea7d36fd085384afa4a0ec44597d499.tar.bz2) = 16d6ccba500d60fe36c20b5bd1d6c9403567996020cef406e42813a302a86d94dc0d5e36aae434b5b846d39ec37d6db2b50565a69d24291b973724bcc0874bd0