testing/sbcl: upgrade to 2.0.3

aarch64 support should be feasible on release 2.0.4, an issue with frlock was addressed here 899d5f2da8/, which should address the only standing issue prevent compilation on that architecture.
This commit is contained in:
Will sinatra 2020-04-11 22:18:50 -05:00 committed by Rasmus Thomsen
parent 27acf85c37
commit 1bb702fb70
6 changed files with 152 additions and 263 deletions

View File

@ -1,66 +1,47 @@
#2020/01/30 Patch has not yet been accepted upstream
From 46e1d8be04a87e6a2cb1c8be14beb99fe3702133 Mon Sep 17 00:00:00 2001
From be70a77e2b06e2442b38093adbe84b15ea065c8f Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
Date: Sun, 2 Dec 2018 14:02:33 -0500
Subject: [PATCH 1/4] Fix sb-bsd-sockets on musl libc
Date: Sat, 1 Feb 2020 15:38:19 -0500
Subject: [PATCH 1/5] Make sb-bsd-sockets robust to the absence of NETDB_*
Musl libc does not define NETDB_INTERNAL or NETDB_SUCCESS. Add a build time test
to determine if these are defined. If they are defined, add the feature
:os-provides-netdb-internal. If this feature is missing, sb-bsd-sockets defaults
NETDB-INTERNAL to -1 and NETDB-SUCCESS to 0.
NETDB_INTERNAL and NETDB_SUCCESS are not defined by all libc
implementations (see: musl libc). If groveling fails for these values, set them
to NIL which effectively disables the corresponding Lisp conditions from being
signaled.
---
contrib/sb-bsd-sockets/constants.lisp | 4 ++--
tools-for-build/grovel-features.sh | 2 ++
tools-for-build/os-provides-netdb-internal-test.c | 12 ++++++++++++
3 files changed, 16 insertions(+), 2 deletions(-)
create mode 100644 tools-for-build/os-provides-netdb-internal-test.c
contrib/sb-bsd-sockets/name-service.lisp | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/contrib/sb-bsd-sockets/constants.lisp b/contrib/sb-bsd-sockets/constants.lisp
index 88f5bb7c4..23fd87277 100644
--- a/contrib/sb-bsd-sockets/constants.lisp
+++ b/contrib/sb-bsd-sockets/constants.lisp
@@ -93,8 +93,8 @@
(:integer EAFNOSUPPORT "EAFNOSUPPORT")
(:integer EINPROGRESS "EINPROGRESS")
diff --git a/contrib/sb-bsd-sockets/name-service.lisp b/contrib/sb-bsd-sockets/name-service.lisp
index 34c7262ea..97b505a5e 100644
--- a/contrib/sb-bsd-sockets/name-service.lisp
+++ b/contrib/sb-bsd-sockets/name-service.lisp
@@ -1,5 +1,16 @@
(in-package :sb-bsd-sockets)
- (:integer NETDB-INTERNAL #+hpux "h_NETDB_INTERNAL" #-hpux "NETDB_INTERNAL" "See errno.")
- (:integer NETDB-SUCCESS #+hpux "h_NETDB_SUCCESS" #-hpux "NETDB_SUCCESS" "No problem.")
+ (:integer-no-check NETDB-INTERNAL #-os-provides-netdb-internal "-1" #+(and os-provides-netdb-internal hpux) "h_NETDB_INTERNAL" #+(and os-provides-netdb-internal (not hpux)) "NETDB_INTERNAL" "See errno.")
+ (:integer-no-check NETDB-SUCCESS #-os-provides-netdb-internal "0" #+(and os-provides-netdb-internal hpux) "h_NETDB_SUCCESS" #+(and os-provides-netdb-internal (not hpux)) "NETDB_SUCCESS" "No problem.")
(:integer HOST-NOT-FOUND "HOST_NOT_FOUND" "Authoritative Answer Host not found.")
(:integer TRY-AGAIN "TRY_AGAIN" "Non-Authoritative Host not found, or SERVERFAIL.")
(:integer NO-RECOVERY "NO_RECOVERY" "Non recoverable errors, FORMERR, REFUSED, NOTIMP.")
diff --git a/tools-for-build/grovel-features.sh b/tools-for-build/grovel-features.sh
index 8f0ee7ffa..4790c0f11 100644
--- a/tools-for-build/grovel-features.sh
+++ b/tools-for-build/grovel-features.sh
@@ -33,6 +33,8 @@ featurep os-provides-getprotoby-r
featurep os-provides-poll
+featurep os-provides-netdb-internal
+;; If we're unable to grovel for NETDB_INTERNAL and NETDB_SUCCESS (not every
+;; libc sets them), set their constants to NIL. This effectively makes their
+;; respective conditions unreachable.
+#-win32
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (unless (constantp 'sockint::netdb-internal)
+ (defconstant sockint::netdb-internal nil "See errno."))
+ (unless (constantp 'sockint::netdb-success)
+ (defconstant sockint::netdb-success nil "No problem.")))
+
if [ $sbcl_arch == arm ] ; then
featurep arm-softfp
fi
diff --git a/tools-for-build/os-provides-netdb-internal-test.c b/tools-for-build/os-provides-netdb-internal-test.c
new file mode 100644
index 000000000..cab08cc41
--- /dev/null
+++ b/tools-for-build/os-provides-netdb-internal-test.c
@@ -0,0 +1,12 @@
+#include <netdb.h>
+
+int main ()
+{
+#if defined NETDB_INTERNAL && defined NETDB_SUCCESS
+ return 104;
+#elif defined h_NETDB_INTERNAL && defined h_NETDB_SUCCESS
+ return 104;
+#else
+ return 0;
+#endif
+}
(defclass host-ent ()
((name :initarg :name :reader host-ent-name
:documentation "The name of the host")
@@ -195,7 +206,7 @@ (defun name-service-error (where &optional errno)
(let ((*name-service-errno* (get-name-service-errno errno)))
;; Comment next to NETDB_INTERNAL in netdb.h says "See errno.".
;; This special case treatment hasn't actually been tested yet.
- (if (and #-win32 (= *name-service-errno* sockint::NETDB-INTERNAL))
+ (if (and #-win32 sockint::netdb-internal #-win32 (= *name-service-errno* sockint::NETDB-INTERNAL))
(socket-error where)
(let ((condition
(condition-for-name-service-errno *name-service-errno*)))
--
2.24.1
2.25.0

View File

@ -1,32 +1,30 @@
#2020/01/30 Patch has not yet been accepted upstream
From c81b8fe3e63b7267ac8f6aeea86811acd888e8e9 Mon Sep 17 00:00:00 2001
From 51ee0c90068ef7d88a23d86579cc1f73c2f6055f Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
Date: Sun, 2 Dec 2018 14:10:23 -0500
Subject: [PATCH 2/4] Fix threads on musl libc
Date: Sat, 1 Feb 2020 17:33:38 -0500
Subject: [PATCH 2/5] Do not require _CS_GNU_LIBPTHREAD_VERSION at runtime
start
Musl libc does not add any content to _CS_GNU_LIBPTHREAD_VERSION, causing the
runtime check to make sure the thread implementation is NPTL to fail. There
seems to be no way to test not NPTL at run time on musl, so if the configuration
value is empty, just assume the thread implementation is good enough.
If there is no content in confstr for _CS_GNU_LIBPTHREAD_VERSION (i.e., on a
non GNU libc) then assume the thread implementation is good enough and let the
user deal with any fallout.
---
src/runtime/linux-os.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
src/runtime/linux-os.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c
index 89244e793..e98c68cc4 100644
index 89244e793..0ff55653d 100644
--- a/src/runtime/linux-os.c
+++ b/src/runtime/linux-os.c
@@ -186,8 +186,15 @@ isnptl (void)
@@ -186,8 +186,13 @@ isnptl (void)
if (strstr (buf, "NPTL")) {
return 1;
}
+ else {
+ return 0;
+ }
+ return 0;
+ }
+ else {
+ /* If the configuration variable is empty, just assume we have a
+ * good enough thread implementation. */
+ /* This libc does not expose the libpthread version. Just assume we have
+ * a good enough thread implementation. */
+ return 1;
}
- return 0;
@ -34,5 +32,5 @@ index 89244e793..e98c68cc4 100644
#endif
--
2.24.1
2.25.0

View File

@ -1,28 +1,74 @@
#2020/01/30 Patch has not yet been accepted upstream
From 30403cfef2327e1df92b5e29201ee1ddf54a8dfd Mon Sep 17 00:00:00 2001
From 87b1eca2b719fb5e2d6f10352dcdb86f4d389ca9 Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
Date: Sun, 2 Dec 2018 14:20:24 -0500
Subject: [PATCH 3/4] Fix foreign tests on musl libc
Date: Sat, 1 Feb 2020 17:33:59 -0500
Subject: [PATCH 3/5] Teach foreign.test.sh about noop dlclose implementations
Musl libc's implementation of dlclose(3) is (intentionally) a noop (see:
https://wiki.musl-libc.org/functional-differences-from-glibc.html). Add a build
time test for this and a new feature :os-dlclose-is-noop. Additionally, use this
feature to skip some regression tests if it is present.
https://wiki.musl-libc.org/functional-differences-from-glibc.html). When
running regression tests, test if dlclose is a noop and if so, skip all tests
that depend on objects being unmapped.
---
tests/foreign.test.sh | 42 +++++++++++--------
tools-for-build/Makefile | 3 ++
tools-for-build/grovel-features.sh | 7 ++++
.../os-dlclose-is-noop-test-helper.c | 1 +
tools-for-build/os-dlclose-is-noop-test.c | 19 +++++++++
5 files changed, 55 insertions(+), 17 deletions(-)
create mode 100644 tools-for-build/os-dlclose-is-noop-test-helper.c
create mode 100644 tools-for-build/os-dlclose-is-noop-test.c
src/code/foreign-load.lisp | 2 +-
tests/foreign.test.sh | 67 ++++++++++++++++++++++++++++----------
2 files changed, 51 insertions(+), 18 deletions(-)
diff --git a/src/code/foreign-load.lisp b/src/code/foreign-load.lisp
index ada107c36..4510f2ccf 100644
--- a/src/code/foreign-load.lisp
+++ b/src/code/foreign-load.lisp
@@ -48,7 +48,7 @@ (defun load-shared-object (pathname &key dont-save)
definitions; if a symbol was previously referenced through the object and
is not present in the reloaded version an error will be signalled. Reloading
may not work as expected if user or library-code has called dlopen(3) on the
-same shared object.
+same shared object or running on a system where dlclose(3) is a noop.
LOAD-SHARED-OBJECT interacts with SB-EXT:SAVE-LISP-AND-DIE:
diff --git a/tests/foreign.test.sh b/tests/foreign.test.sh
index fabba1246..5574b1ef7 100755
index fabba1246..53131bdd2 100755
--- a/tests/foreign.test.sh
+++ b/tests/foreign.test.sh
@@ -250,16 +250,20 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
@@ -140,6 +140,28 @@ echo 'int late_foo = 43;' > $TEST_FILESTEM-c.c
echo 'int late_bar() { return 14; }' >> $TEST_FILESTEM-c.c
build_so $TEST_FILESTEM-c
+cat > $TEST_FILESTEM-noop-dlclose-test.c <<EOF
+#include <dlfcn.h>
+#include <stddef.h>
+
+int dlclose_is_noop () {
+ void * handle = dlopen("./$TEST_FILESTEM-noop-dlclose-test-helper.so", RTLD_NOW | RTLD_GLOBAL);
+ dlclose(handle);
+
+ handle = dlopen("./$TEST_FILESTEM-noop-dlclose-test-helper.so", RTLD_NOW | RTLD_NOLOAD);
+ if (handle != NULL) {
+ return 1;
+ }
+ return 0;
+}
+EOF
+build_so $TEST_FILESTEM-noop-dlclose-test
+
+cat > $TEST_FILESTEM-noop-dlclose-test-helper.c <<EOF
+int sbcl_dlclose_test = 42;
+EOF
+build_so $TEST_FILESTEM-noop-dlclose-test-helper
+
## Foreign definitions & load
cat > $TEST_FILESTEM.base.lisp <<EOF
@@ -246,20 +268,28 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
(note "/initial assertions ok")
+ ;; determine if dlclose is a noop.
+ (load-shared-object (truename "$TEST_FILESTEM-noop-dlclose-test.so"))
+ (define-alien-routine dlclose-is-noop int)
+ (defparameter *dlclose-noop-p* (plusp (dlclose-is-noop)))
+
;; test reloading object file with new definitions
(assert (= 13 foo))
(assert (= 42 (bar)))
(note "/original definitions ok")
@ -36,24 +82,23 @@ index fabba1246..5574b1ef7 100755
- (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
- (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
- (note "/renamed back to originals")
+ #+os-dlclose-is-noop
+ (note "/skipping reloading tests")
+ #-os-dlclose-is-noop
+ (progn
+ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak")
+ (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so")
+ (load-shared-object (truename "$TEST_FILESTEM-b.so"))
+ (note "/reloading ok")
+ (assert (= 42 foo))
+ (assert (= 13 (bar)))
+ (note "/redefined versions ok")
+ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
+ (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
+ (note "/renamed back to originals"))
+ (if *dlclose-noop-p*
+ (note "/skipping reloading tests")
+ (progn
+ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b.bak")
+ (rename-file "$TEST_FILESTEM-b2.so" "$TEST_FILESTEM-b.so")
+ (load-shared-object (truename "$TEST_FILESTEM-b.so"))
+ (note "/reloading ok")
+ (assert (= 42 foo))
+ (assert (= 13 (bar)))
+ (note "/redefined versions ok")
+ (rename-file "$TEST_FILESTEM-b.so" "$TEST_FILESTEM-b2.so")
+ (rename-file "$TEST_FILESTEM-b.bak" "$TEST_FILESTEM-b.so")
+ (note "/renamed back to originals")))
;; test late resolution
#+linkage-table
@@ -276,13 +280,17 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
@@ -276,13 +306,16 @@ cat > $TEST_FILESTEM.test.lisp <<EOF
(load-shared-object (truename "$TEST_FILESTEM-c.so"))
(assert (= 43 late-foo))
(assert (= 14 (late-bar)))
@ -64,81 +109,19 @@ index fabba1246..5574b1ef7 100755
- (multiple-value-bind (val err) (ignore-errors (late-bar))
- (assert (not val))
- (assert (typep err 'undefined-alien-error)))
+ #+os-dlclose-is-noop
+ (note "/skipping unloading tests")
+ #-os-dlclose-is-noop
+ (progn
+ (unload-shared-object (truename "$TEST_FILESTEM-c.so"))
+ (multiple-value-bind (val err) (ignore-errors late-foo)
+ (assert (not val))
+ (assert (typep err 'undefined-alien-error)))
+ (multiple-value-bind (val err) (ignore-errors (late-bar))
+ (assert (not val))
+ (assert (typep err 'undefined-alien-error))))
+ (if *dlclose-noop-p*
+ (note "/skipping linkage table unloading tests")
+ (progn
+ (unload-shared-object (truename "$TEST_FILESTEM-c.so"))
+ (multiple-value-bind (val err) (ignore-errors late-foo)
+ (assert (not val))
+ (assert (typep err 'undefined-alien-error)))
+ (multiple-value-bind (val err) (ignore-errors (late-bar))
+ (assert (not val))
+ (assert (typep err 'undefined-alien-error)))))
(note "/linkage table ok"))
(sb-ext:exit :code $EXIT_LISP_WIN) ; success convention for Lisp program
diff --git a/tools-for-build/Makefile b/tools-for-build/Makefile
index 1be91e9df..434e03081 100644
--- a/tools-for-build/Makefile
+++ b/tools-for-build/Makefile
@@ -16,6 +16,9 @@ LDLIBS:=$(OS_LIBS)
all: grovel-headers determine-endianness where-is-mcontext mmap-rwx
+os-dlclose-is-noop-test-helper.so: os-dlclose-is-noop-test-helper.c
+ @$(CC) $(LDFLAGS) -shared $< -o $@ $(LOADLIBES) $(LDLIBS)
+
clean:
rm -f *.o grovel-headers determine-endianness where-is-mcontext mmap-rwx
rm -f *.exe
diff --git a/tools-for-build/grovel-features.sh b/tools-for-build/grovel-features.sh
index 4790c0f11..7d8e547b4 100644
--- a/tools-for-build/grovel-features.sh
+++ b/tools-for-build/grovel-features.sh
@@ -38,3 +38,10 @@ featurep os-provides-netdb-internal
if [ $sbcl_arch == arm ] ; then
featurep arm-softfp
fi
+
+# We need a helper shared library to test os-dlclose-is-noop
+$GNUMAKE os-dlclose-is-noop-test-helper.so > /dev/null 2>&1
+
+featurep os-dlclose-is-noop
+
+rm -f os-dlclose-is-noop-test-helper.so
diff --git a/tools-for-build/os-dlclose-is-noop-test-helper.c b/tools-for-build/os-dlclose-is-noop-test-helper.c
new file mode 100644
index 000000000..4be7a8e5b
--- /dev/null
+++ b/tools-for-build/os-dlclose-is-noop-test-helper.c
@@ -0,0 +1 @@
+int sbcl_dl_close_test = 42;
diff --git a/tools-for-build/os-dlclose-is-noop-test.c b/tools-for-build/os-dlclose-is-noop-test.c
new file mode 100644
index 000000000..3678870d5
--- /dev/null
+++ b/tools-for-build/os-dlclose-is-noop-test.c
@@ -0,0 +1,19 @@
+/* test to build and run so that we know if we have a noop dlclose
+ */
+
+#include <dlfcn.h>
+#include <stddef.h>
+
+int main ()
+{
+ void * handle = dlopen("./os-dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_GLOBAL);
+ dlclose(handle);
+
+ handle = dlopen("./os-dlclose-is-noop-test-helper.so", RTLD_NOW | RTLD_NOLOAD);
+
+ if (handle != NULL) {
+ return 104;
+ } else {
+ return 0;
+ }
+}
--
2.24.1
2.25.0

View File

@ -1,8 +1,8 @@
#2020/01/30 Patch has not yet been accepted upstream
From 8324ebd0b476dc267f4e315253d799701b04cc0f Mon Sep 17 00:00:00 2001
From 5d7395cbd4eb952d4a988c4ee7ee3f5111a9f5a7 Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
Date: Sun, 24 Feb 2019 17:28:49 -0500
Subject: [PATCH 4/4] Only include old memcpy version on glibc
Date: Sat, 1 Feb 2020 17:34:10 -0500
Subject: [PATCH 4/5] Only include old memcpy version on glibc
---
src/runtime/memcpy.h | 2 ++
@ -23,5 +23,5 @@ index a99c5fb7e..e3d104e3a 100644
#endif
+#endif
--
2.24.1
2.25.0

View File

@ -3,11 +3,11 @@
# Contributor: Will Sinatra <wpsinatra@gmail.com>
# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=sbcl
pkgver=2.0.1
pkgrel=1
pkgver=2.0.3
pkgrel=0
pkgdesc="Steel Bank Common Lisp"
url="http://www.sbcl.org/"
arch="x86_64 armv7" #aarch64 is WIP
arch="x86_64 armv7" #aarch64 support inbound on 2.0.4
license="custom"
options="!check"
checkdepends="ed"
@ -18,36 +18,15 @@ source="$pkgname-$pkgver.tar.bz2::https://prdownloads.sourceforge.net/sbcl/sbcl-
0002-Fix-threads-on-musl-libc.patch
0003-Fix-foreign-tests-on-musl-libc.patch
0004-Only-include-old-memcpy-version-on-glibc.patch
Disable-fcntl.1-POSIX-test.patch
Fix-ARM-build-using-ECL-host.patch
march-armv5-removed.patch"
prepare() {
#TODO: handle this properly
#Patches to build on musl libc, required universally, pending upstream
patch -p1 -i "$srcdir"/0001-Fix-sb-bsd-sockets-on-musl-libc.patch
patch -p1 -i "$srcdir"/0002-Fix-threads-on-musl-libc.patch
patch -p1 -i "$srcdir"/0003-Fix-foreign-tests-on-musl-libc.patch
patch -p1 -i "$srcdir"/0004-Only-include-old-memcpy-version-on-glibc.patch
#Arch specific patches required by platform
case "$CARCH" in
armv7)
patch -p1 -i "$srcdir"/Disable-fcntl.1-POSIX-test.patch
patch -p1 -i "$srcdir"/Fix-ARM-build-using-ECL-host.patch
patch -p1 -i "$srcdir"/march-armv5-removed.patch ;;
aarch64)
patch -p1 -i "$srcdir"/Fix-ARM-build-using-ECL-host.patch ;;
esac
}
build() {
all_arch_conf='--with-sb-test --with-sb-unicode --with-sb-core-compression'
case "$CARCH" in
armv7) conf="$all_arch_conf" ;;
aarch64) conf="--prefix=/usr" ;;
aarch64) ;;
*) conf="$all_arch_conf --with-sb-thread" ;;
esac
@ -69,11 +48,10 @@ package() {
"$pkgdir"/usr/share/info 2>/dev/null || true
}
sha512sums="1d92589033e123c21377f820dbc22e27f2610a372c5545799bec7c247795ba4b8b65102c7fe739f4a15a84579ec72f63fb9f4b197db5c6da1f8d59bd35966bea sbcl-2.0.1.tar.bz2
76ccb2206f0a9abd3f74859c9db3d8622e7006a62f867f6cf2398ce16256800a880111f5ea3911a315f6f82eb4b2b77dbeeb73f609ec065421b11978fd6fe18f 0001-Fix-sb-bsd-sockets-on-musl-libc.patch
4caa863e5e44170b4ca8f9a3199886303e02821edbc0c7866ac1013681cfaeb76153856a28bff632f2f396d39ee05ac0e427393716209db8e3f0bc640f4816ec 0002-Fix-threads-on-musl-libc.patch
7686f3110c1b6920790257d6b938b701afb4ea1710e0057c74f19f107affa0cfaaf2519215df9f9d5b6f326ee9feb1d935ffb8152390560f22e3188db9759065 0003-Fix-foreign-tests-on-musl-libc.patch
02452684bccc200c0117252019679b0cf0403a90e5fb97f0981cb658888e73e7792efc47ae82f01cdaec128b1b3e356b0878fdb07cf04d7c5fdd0b2afd97186f 0004-Only-include-old-memcpy-version-on-glibc.patch
cffecafd3f902d5f2be05fde3c0c5d0e0b0b8bb57d9561296ea9e630490c9a02c79ec616ca9c41de8d8be204e9e019df14e5d621adaa3dc444853f2cb5a6101c Disable-fcntl.1-POSIX-test.patch
sha512sums="c29c115fff0e118e5c05959dd8d73ae876458daeb5ddde67ce485b10e6d1583b1f8a9597b54b45606696ab1b1eea5392dcb09357c83fce31323f2a5a154f2dd1 sbcl-2.0.3.tar.bz2
0f5b3cac8fed2bac1bfa25f4116ef62e7226994318aff26a69bae6e29a7952e16fe930f14bba2a41b0e50c4cc3e30ce2a36dd8d0b85e6090d455ec6712f3a10a 0001-Fix-sb-bsd-sockets-on-musl-libc.patch
36bbe64437763f7963dab7af3bcc26ab92ee10d6b12532be40706ce01a5fe29878d8ef9392037be8f09b357a6527e992d1698ea4cd1048050544b2e653edd5fa 0002-Fix-threads-on-musl-libc.patch
9a1b20c07a1f43ea60d1bd0f4de2474c38441858a7de7351f046943d022c21803bd5d9eb05b5c684519a76dc623d9893af1967c3a26177e7447e05e30e61b18b 0003-Fix-foreign-tests-on-musl-libc.patch
7c7d7b982814435463a7678ff59ab354426bcee62a3b7ba253d8da1391e68c614cd4d90970fbbfd68ea0927c2689b6c16f01b0e0185489329700ce21aaa5a92c 0004-Only-include-old-memcpy-version-on-glibc.patch
6f49d1f1c6bd4e8d839e6b4ab3bb74cbdcce85ee83a0f1c5efab04d97b613a624f8874dadd7f6d981940ff28c468f00b74a56ff2afc53f41884d753ac7a5028f Fix-ARM-build-using-ECL-host.patch
367454a75de122134fdbf1064182a96ee00cf0685db0922134fdbdfc0e0bb2c6a5cfb9878f23409eca48a443e0f19b291f8d380e3475176a4c8cea0c9768c2bd march-armv5-removed.patch"

View File

@ -1,51 +0,0 @@
#2020/01/30 Patch has not yet been accepted upstream
From ffb221ca00fc501dc45afd50b73dbb756bc2c365 Mon Sep 17 00:00:00 2001
From: Eric Timmons <etimmons@mit.edu>
Date: Wed, 11 Dec 2019 09:11:17 -0800
Subject: [PATCH] Disable fcntl.1 POSIX test
Seems to not work as expected on ARM with musl libc
---
contrib/sb-posix/posix-tests.lisp | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/contrib/sb-posix/posix-tests.lisp b/contrib/sb-posix/posix-tests.lisp
index b194aa455..3a72b8fc7 100644
--- a/contrib/sb-posix/posix-tests.lisp
+++ b/contrib/sb-posix/posix-tests.lisp
@@ -432,19 +432,19 @@ (deftest open.error.1
#+win32
#.sb-posix:eacces)
-#-(or (and (or x86-64 arm64 ppc64 alpha) (or linux sunos)) win32)
-(deftest fcntl.1
- (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
- (= (sb-posix:fcntl fd sb-posix::f-getfl) sb-posix::o-nonblock))
- t)
-;; On AMD64/Linux O_LARGEFILE is always set, even though the whole
-;; flag makes no sense.
-#+(and (or x86-64 arm64 ppc64 alpha) (or linux sunos))
-(deftest fcntl.1
- (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
- (/= 0 (logand (sb-posix:fcntl fd sb-posix::f-getfl)
- sb-posix::o-nonblock)))
- t)
+;; #-(or (and (or x86-64 arm64 ppc64 alpha) (or linux sunos)) win32)
+;; (deftest fcntl.1
+;; (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
+;; (= (sb-posix:fcntl fd sb-posix::f-getfl) sb-posix::o-nonblock))
+;; t)
+;; ;; On AMD64/Linux O_LARGEFILE is always set, even though the whole
+;; ;; flag makes no sense.
+;; #+(and (or x86-64 arm64 ppc64 alpha) (or linux sunos))
+;; (deftest fcntl.1
+;; (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
+;; (/= 0 (logand (sb-posix:fcntl fd sb-posix::f-getfl)
+;; sb-posix::o-nonblock)))
+;; t)
#-(or hpux win32 netbsd) ; fix: cant handle c-vargs
(deftest fcntl.flock.1
--
2.24.0