From a027867dc941c49524a29d22148a937f6e3549ab0478afa07e6d36081dddabd4 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Mon, 19 Feb 2018 09:41:14 +0000 Subject: [PATCH] Next try with BETA clisp-2.49.92 OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/clisp?expand=0&rev=98 --- clisp-2.49.90.tar.bz2 | 3 - clisp-2.49.92.tar.bz2 | 3 + clisp-arm.diff | 28 ------ clisp-link.dif | 8 +- clisp-s390x-address-range.diff | 157 --------------------------------- clisp.spec | 11 +-- 6 files changed, 10 insertions(+), 200 deletions(-) delete mode 100644 clisp-2.49.90.tar.bz2 create mode 100644 clisp-2.49.92.tar.bz2 delete mode 100644 clisp-arm.diff delete mode 100644 clisp-s390x-address-range.diff diff --git a/clisp-2.49.90.tar.bz2 b/clisp-2.49.90.tar.bz2 deleted file mode 100644 index e7394f9..0000000 --- a/clisp-2.49.90.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:47efb9275171a4a469da00bab4935d9d9c9af6892b5c1951cd7d111a4e37e7fa -size 8921458 diff --git a/clisp-2.49.92.tar.bz2 b/clisp-2.49.92.tar.bz2 new file mode 100644 index 0000000..48b3ed6 --- /dev/null +++ b/clisp-2.49.92.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd443a94aa9b02da4c4abbcecfc04ffff1919c0a8b0e7e35649b86198cd6bb89 +size 8919616 diff --git a/clisp-arm.diff b/clisp-arm.diff deleted file mode 100644 index eaad858..0000000 --- a/clisp-arm.diff +++ /dev/null @@ -1,28 +0,0 @@ -diff -r f618e42f6fef src/lispbibl.d ---- a/src/lispbibl.d Mon Feb 12 01:32:02 2018 +0100 -+++ b/src/lispbibl.d Mon Feb 12 20:06:41 2018 +0100 -@@ -2197,9 +2197,10 @@ - MALLOC_ADDRESS_RANGE = 0x00000000UL - SHLIB_ADDRESS_RANGE = 0x40000000UL or 0xF7000000UL - STACK_ADDRESS_RANGE = 0xFF000000UL -- There is room from 0x41000000UL to 0xB6000000UL. */ -- #define MAPPABLE_ADDRESS_RANGE_START 0x41000000UL -- #define MAPPABLE_ADDRESS_RANGE_END 0xB5FFFFFFUL -+ There is room from 0x43000000UL to 0xB6000000UL, but let's keep some -+ distance. */ -+ #define MAPPABLE_ADDRESS_RANGE_START 0x48000000UL -+ #define MAPPABLE_ADDRESS_RANGE_END 0xAFFFFFFFUL - #endif - #if defined(UNIX_LINUX) && defined(HPPA) - /* On Linux/hppa in qemu user-mode emulation: -@@ -3178,7 +3179,9 @@ - #define SINGLEMAP_ADDRESS_BASE 0x40000000UL - #define SINGLEMAP_TYPE_MASK 0x3F000000UL - #define SINGLEMAP_oint_type_shift 24 -- #define SINGLEMAP_WORKS 1 -+ /* This configuration allocates memory outside the MAPPABLE_ADDRESS_RANGE. */ -+ #define IGNORE_MAPPABLE_ADDRESS_RANGE -+ #define SINGLEMAP_WORKS 0 /* does not work on build.opensuse.org machines */ - #endif - #if defined(UNIX_LINUX) && defined(HPPA) /* Linux/hppa */ - #define SINGLEMAP_ADDRESS_BASE 0x08000000UL diff --git a/clisp-link.dif b/clisp-link.dif index 6088bb7..ca822d2 100644 --- a/clisp-link.dif +++ b/clisp-link.dif @@ -4,7 +4,7 @@ 2 files changed, 4 insertions(+), 2 deletions(-) --- src/clisp-link.in -+++ src/clisp-link.in 2018-02-12 08:31:51.215851048 +0000 ++++ src/clisp-link.in 2018-02-19 09:30:11.548748097 +0000 @@ -579,7 +579,7 @@ case "$1" in # when running "CLISP=./clisp ./clisp-link install " # in the build directory, avoid "cp: `...' and `...' are the same file" @@ -15,8 +15,8 @@ for f in ${DYNDIR_FILES}; do cp ${f} ${absdestdir}/${DYNMOD}/ --- src/lispbibl.d -+++ src/lispbibl.d 2018-02-12 08:31:51.219850972 +0000 -@@ -1621,6 +1621,8 @@ typedef SLONG sint32; /* signed 32 bi ++++ src/lispbibl.d 2018-02-19 09:30:11.552748021 +0000 +@@ -1631,6 +1631,8 @@ typedef SLONG sint32; /* signed 32 bi /* Emulate 64-Bit-numbers using two 32-Bit-numbers. */ typedef struct { sintL hi; uintL lo; } sintL2; /* signed 64 Bit integer */ typedef struct { uintL hi; uintL lo; } uintL2; /* unsigned 64 Bit integer */ @@ -25,7 +25,7 @@ #endif /* Use 'uintX' and 'sintX' for Integers with approximately given width and a minumum of storage space. */ -@@ -14278,7 +14280,7 @@ re-enters the corresponding top-level lo +@@ -14397,7 +14399,7 @@ re-enters the corresponding top-level lo #define pushSTACK(obj) (STACK_(-1) = (obj), STACK skipSTACKop -1) /* Almost equivalent with *--STACK = obj resp. *STACK++ = obj , but Careful: first enter the object into STACK_(-1), THEN modify the STACK! */ diff --git a/clisp-s390x-address-range.diff b/clisp-s390x-address-range.diff deleted file mode 100644 index 569856a..0000000 --- a/clisp-s390x-address-range.diff +++ /dev/null @@ -1,157 +0,0 @@ -diff -r 51ceb35b1711 src/lispbibl.d ---- a/src/lispbibl.d Tue Feb 13 18:01:47 2018 +0100 -+++ b/src/lispbibl.d Tue Feb 13 21:16:46 2018 +0100 -@@ -2690,9 +2690,15 @@ - MALLOC_ADDRESS_RANGE = 0x0000000081000000UL ... 0x00000000BE000000UL - SHLIB_ADDRESS_RANGE = 0x000003FFFC000000UL or 0x000003FFFD000000UL - STACK_ADDRESS_RANGE = 0x000003FFFF000000UL -- There is room from 0x000100000000UL to 0x03FF00000000UL. */ -+ On Linux/s390x build.opensuse.org machines: -+ MMAP_FIXED_ADDRESS_HIGHEST_BIT = 62 -+ CODE_ADDRESS_RANGE = 0x0000000001000000UL -+ MALLOC_ADDRESS_RANGE = 0x0000000001000000UL -+ SHLIB_ADDRESS_RANGE = 0x0000020000000000UL -+ STACK_ADDRESS_RANGE = 0x000003FFFF000000UL -+ There is room from 0x000100000000UL to 0x020000000000UL. */ - #define MAPPABLE_ADDRESS_RANGE_START 0x000100000000UL -- #define MAPPABLE_ADDRESS_RANGE_END 0x03FEFFFFFFFFUL -+ #define MAPPABLE_ADDRESS_RANGE_END 0x01FFFFFFFFFFUL - #endif - #if defined(UNIX_LINUX) && defined(SPARC64) - /* On Linux 3.2/sparc64: -@@ -3463,8 +3469,8 @@ - #endif - #if defined(UNIX_LINUX) && defined(S390_64) /* Linux/s390x */ - #define SINGLEMAP_ADDRESS_BASE 0UL -- #define SINGLEMAP_TYPE_MASK 0x03F800000000UL -- #define SINGLEMAP_oint_type_shift 35 -+ #define SINGLEMAP_TYPE_MASK 0x01FC00000000UL -+ #define SINGLEMAP_oint_type_shift 34 - #define SINGLEMAP_WORKS 1 - #endif - #if defined(UNIX_LINUX) && defined(SPARC64) /* Linux/sparc64 */ ---- clisp-2.49.90/src/spvw_calendar.c -+++ clisp-2.49.90/src/spvw_calendar.c 2018-02-14 13:11:00.207400810 +0000 -@@ -9,7 +9,7 @@ - hebrew_calendar_leap_year_p (5763) = true - hebrew_calendar_leap_year_p (5764) = false - */ --local inline bool hebrew_calendar_leap_year_p (int year) -+local inline bool hebrew_calendar_leap_year_p (const int year) - { - return ((7 * year + 1) % 19) < 7; - } -@@ -23,7 +23,7 @@ local inline bool hebrew_calendar_leap_y - - hebrew_calendar_elapsed_months (year) - == (hebrew_calendar_leap_year_p (year) ? 13 : 12). - */ --local inline int hebrew_calendar_elapsed_months (int year) -+local inline int hebrew_calendar_elapsed_months (const int year) - { - return ((year - 1) / 19) * 235 - + ((year - 1) % 19) * 12 -@@ -35,16 +35,16 @@ local inline int hebrew_calendar_elapsed - hebrew_calendar_elapsed_days (5763) = 2104528 - hebrew_calendar_elapsed_days (5764) = 2104913 - */ --local int hebrew_calendar_elapsed_days (int year) -+local int hebrew_calendar_elapsed_days (const int year) - { -- int months_elapsed = hebrew_calendar_elapsed_months (year); -- int parts_elapsed = (months_elapsed % 1080) * 793 + 204; -- int hours_elapsed = -+ const int months_elapsed = hebrew_calendar_elapsed_months (year); -+ const int parts_elapsed = (months_elapsed % 1080) * 793 + 204; -+ const int hours_elapsed = - 5 + months_elapsed * 12 + (months_elapsed / 1080) * 793 - + (parts_elapsed / 1080); -- int parts = (hours_elapsed % 24) * 1080 + (parts_elapsed % 1080); -- int day = 1 + months_elapsed * 29 + (hours_elapsed / 24); -- int day1 = -+ const int parts = (hours_elapsed % 24) * 1080 + (parts_elapsed % 1080); -+ const int day = 1 + months_elapsed * 29 + (hours_elapsed / 24); -+ const int day1 = - (parts >= 19440 - || ((day % 7) == 2 && parts >= 9924 - && !hebrew_calendar_leap_year_p (year)) -@@ -66,32 +66,32 @@ local int hebrew_calendar_elapsed_days ( - Note that the result is in the range 351..357 or 380..386. - Probably (but I cannot prove it) it is in the range 353..355 or 383..385. - */ --local inline int hebrew_calendar_days_in_year (int year) -+local inline int hebrew_calendar_days_in_year (const int year) - { - return hebrew_calendar_elapsed_days (year + 1) - - hebrew_calendar_elapsed_days (year); - } - - /* Test whether in the given year, the Heshvan month is long. */ --local inline bool hebrew_calendar_long_heshvan_p (int year) -+local inline bool hebrew_calendar_long_heshvan_p (const int year) - { - return (hebrew_calendar_days_in_year (year) % 10) == 5; - } - - /* Test whether in the given year, the Kislev month is short. */ --local inline bool hebrew_calendar_short_kislev_p (int year) -+local inline bool hebrew_calendar_short_kislev_p (const int year) - { - return (hebrew_calendar_days_in_year (year) % 10) == 3; - } - - /* Return the number of months of the given year. */ --local inline int hebrew_calendar_months_in_year (int year) -+local inline int hebrew_calendar_months_in_year (const int year) - { - return (hebrew_calendar_leap_year_p (year) ? 13 : 12); - } - - /* Return the number of days in the given month of the given year. */ --local int hebrew_calendar_last_day_of_month (int year, int month) -+local int hebrew_calendar_last_day_of_month (const int year, const int month) - { - /* Note that month 7 is the first month, and month 6 is the last one. */ - switch (month) -@@ -131,7 +131,7 @@ local int hebrew_calendar_last_day_of_mo - hebrew_calendar_to_universal (5763, 6, 29) = 37888 - hebrew_calendar_to_universal (5764, 7, 1) = 37889 - */ --local int hebrew_calendar_to_universal (int year, int month, int day) -+local int hebrew_calendar_to_universal (const int year, const int month, const int day) - { - int days; - int m; -@@ -158,7 +158,7 @@ local int hebrew_calendar_to_universal ( - hebrew_calendar_from_universal (37889) = { 5764, 7, 1 } - */ - struct hebrew_date { int year; int month; int day; }; --local void hebrew_calendar_from_universal (int udate, struct hebrew_date *result) -+local void hebrew_calendar_from_universal (const int udate, struct hebrew_date *__restrict__ result) - { - int year; - int elapsed_days; -@@ -167,6 +167,7 @@ local void hebrew_calendar_from_universa - int month; - - year = (int)((float)udate/(float)365.2422) + 5661; -+#pragma GCC unroll 1 - for (;; year--) { - elapsed_days = hebrew_calendar_elapsed_days (year) - 2067024; - if (udate >= elapsed_days) -@@ -175,6 +176,7 @@ local void hebrew_calendar_from_universa - - remaining_days = udate - elapsed_days; - max_month = hebrew_calendar_months_in_year (year); -+#pragma GCC unroll 1 - for (month = 7; month <= max_month; month++) { - int mlength = hebrew_calendar_last_day_of_month (year, month); - if (remaining_days < mlength) -@@ -198,7 +200,7 @@ local void hebrew_calendar_from_universa - } - - /* Return the number of Hanukka candles for a given universal date. */ --local int hebrew_calendar_hanukka_candles (int udate) -+local int hebrew_calendar_hanukka_candles (const int udate) - { - /* The first day of Hanukka is on 25 Kislev. */ - struct hebrew_date date; diff --git a/clisp.spec b/clisp.spec index 8faee84..24ab8bb 100644 --- a/clisp.spec +++ b/clisp.spec @@ -17,7 +17,7 @@ Name: clisp -Version: 2.49.90 +Version: 2.49.92 Release: 0 Summary: A Common Lisp Interpreter License: GPL-2.0+ @@ -46,10 +46,6 @@ Patch8: clisp-2.49-rpath.dif Patch12: clisp-linux.patch Patch14: clisp-link.dif Patch16: clisp-db6.diff -# PATCH-FIX-UPSTREAM arm -Patch20: clisp-arm.diff -# PATCH-FIX-UPSTREAM s390x -Patch21: clisp-s390x-address-range.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %global vimdir %{_datadir}/vim/site/after/syntax @@ -130,8 +126,6 @@ contains two nice applications. %patch12 -p1 -b .p12 %patch14 -p0 -b .p14 %patch16 -p1 -b .p16 -%patch20 -p1 -b .p20 -%patch21 -p1 -b .p21 %build # @@ -191,7 +185,8 @@ case "$(uname -m)" in i[0-9]86) MYCFLAGS="${MYCFLAGS}" ;; arm*) MYCFLAGS="${MYCFLAGS} ${safety}" ;; - aarch64)MYCFLAGS="${MYCFLAGS} -DSAFETY=3" ;; +# aarch64)MYCFLAGS="${MYCFLAGS} -DSAFETY=3" ;; + aarch64)MYCFLAGS="${MYCFLAGS}" ;; ppc) MYCFLAGS="${MYCFLAGS}" ;; s390) MYCFLAGS="${MYCFLAGS}" ;; x86_64) MYCFLAGS="${MYCFLAGS}" ;;