diff --git a/clisp-undefined-behavior.patch b/clisp-undefined-behavior.patch deleted file mode 100644 index 309c8b2..0000000 --- a/clisp-undefined-behavior.patch +++ /dev/null @@ -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. */ diff --git a/clisp.spec b/clisp.spec index 7a5d99b..3f4aa0f 100644 --- a/clisp.spec +++ b/clisp.spec @@ -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 - 2.49.95-4 +- Update to latest git snapshot +- Drop one upstreamed patch to fix undefined behavior + * Fri Feb 14 2025 Jerry James - 2.49.95-3 - Add patches to fix more undefined behavior - Fix misaligned memory accesses on ppc64le diff --git a/sources b/sources index 56851c4..43b7795 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (clisp-c3ec11bab87cfdbeba01523ed88ac2a16b22304d.tar.bz2) = f1f90de3eec144fd2d7bc9a3b482952c4c187f7ec590c41ce20447b4662961ae35290b260fa91d7399f9a4d1806ec7310ee90a77ead63a9d0f529a8627d2fa17 +SHA512 (clisp-f66220939ea7d36fd085384afa4a0ec44597d499.tar.bz2) = 16d6ccba500d60fe36c20b5bd1d6c9403567996020cef406e42813a302a86d94dc0d5e36aae434b5b846d39ec37d6db2b50565a69d24291b973724bcc0874bd0