<pre style='margin:0'>
Mark Evenson (easye) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/217bba0a4780db4ed3fb505b2cf53845d03c8aa6">https://github.com/macports/macports-ports/commit/217bba0a4780db4ed3fb505b2cf53845d03c8aa6</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 217bba0 lang/sbcl: update to sbcl-1.5.8
</span>217bba0 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 217bba0a4780db4ed3fb505b2cf53845d03c8aa6
</span>Author: Mark Evenson <evenson.not.org@gmail.com>
AuthorDate: Wed Nov 13 10:56:49 2019 +0100
<span style='display:block; white-space:pre;color:#404040;'> lang/sbcl: update to sbcl-1.5.8
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> This port now uses the official SBCL macOS Catalina code rather than
</span><span style='display:block; white-space:pre;color:#404040;'> the previous patches.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Remove unused patchfiles.
</span>---
lang/sbcl/Portfile | 14 +-
lang/sbcl/files/patch-1.5.7-1-07d135b0.diff | 193 ---------------------
lang/sbcl/files/patch-1.5.7-2-5cefb850.diff | 98 -----------
lang/sbcl/files/patch-base-target-features.diff | 17 --
lang/sbcl/files/patch-posix-tests.diff | 56 ------
lang/sbcl/files/patch-restore-build.diff | 65 -------
lang/sbcl/files/patch-svref-1.1.6.diff | 43 -----
.../files/patch-use-mach-exception-handler.diff | 9 -
math/maxima/Portfile | 4 +-
9 files changed, 7 insertions(+), 492 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/Portfile b/lang/sbcl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 33306aa..601eb88 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/sbcl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -8,7 +8,7 @@ name sbcl
</span> #
# Please bump the revision of math/maxima and math/maxima-devel when
# this port changes.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.5.7
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.5.8
</span> revision 0
categories lang
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,21 +32,17 @@ master_sites sourceforge:project/sbcl/sbcl/${version}:sbcl
</span>
use_bzip2 yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# NOTE: patches patch-1.5.7-1-07d135b0.diff patch-1.5.7-2-5cefb850.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# are incorporated in the SBCL git repo already, and must be removed when
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# the port is updated from 1.5.7
</span> patchfiles \
patch-contrib-sb-posix-posix-tests.lisp.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-use-right-gcc.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- patch-1.5.7-1-07d135b0.diff patch-1.5.7-2-5cefb850.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-use-right-gcc.diff
</span>
distfiles ${name}-${version}-source${extract.suffix}:sbcl
worksrcdir ${name}-${version}
checksums ${name}-${version}-source${extract.suffix} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 850176b451d83daf52e7b0d2f6095015c5122494 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 54742fb5e2f3f350fbafd72bc73662fca21382b5553ed6a146098950d2409485 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 6438048
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rmd160 273d77b1e3580066272383b812f2e9f44127d4b1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 84572f9133d13c982db13d1768d38331421204bc0ca083dacc5364e46796ff4c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 6409837
</span>
# Since SBCL is written in lisp, it requires a running lisp binary to
# bootstrap from.
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-1.5.7-1-07d135b0.diff b/lang/sbcl/files/patch-1.5.7-1-07d135b0.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 963cce3..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-1.5.7-1-07d135b0.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,193 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/bsd-os.c b/src/runtime/bsd-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 03dd40840..317124f23 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/bsd-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/bsd-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -125,8 +125,10 @@ os_context_sigmask_addr(os_context_t *context)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--os_validate(int movable, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int protection = attributes & IS_GUARD_PAGE ? OS_VM_PROT_NONE : OS_VM_PROT_ALL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ attributes &= ~IS_GUARD_PAGE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int flags = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* FIXME: use of MAP_FIXED here looks decidedly wrong! (and not what we do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -144,7 +146,7 @@ os_validate(int movable, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * OpenBSD says:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Except for MAP_FIXED mappings, the system will never replace existing mappings. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- switch (movable) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ switch (attributes) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- case MOVABLE_LOW:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef MAP_32BIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags = MAP_32BIT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -180,7 +182,7 @@ os_validate(int movable, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t resaddr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_size_t curlen = MIN(max_allocation_size, len);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- resaddr = mmap(curaddr, curlen, OS_VM_PROT_ALL, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ resaddr = mmap(curaddr, curlen, protection, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (resaddr == (os_vm_address_t) - 1) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perror("mmap");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -199,7 +201,7 @@ os_validate(int movable, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- addr = mmap(addr, len, OS_VM_PROT_ALL, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ addr = mmap(addr, len, protection, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* FIXME: if MAP_FIXED and MOVABLE_LOW, probe for other possible addresses,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/haiku-os.c b/src/runtime/haiku-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 14f222498..72c8150b8 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/haiku-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/haiku-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11,6 +11,8 @@ size_t os_vm_page_size;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int protection = attributes & IS_GUARD_PAGE ? OS_VM_PROT_NONE : OS_VM_PROT_ALL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ attributes &= ~IS_GUARD_PAGE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // There's no MAP_NORESERVE flag? How do we inform the OS not to commit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // the whole range to swap?
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int flags = MAP_PRIVATE | MAP_ANONYMOUS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -20,7 +22,7 @@ os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (attributes & ALLOCATE_LOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags |= MAP_32BIT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- actual = mmap(addr, len, OS_VM_PROT_ALL, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ actual = mmap(addr, len, protection, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (actual == MAP_FAILED) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perror("mmap");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0; /* caller should check this */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/hpux-os.c b/src/runtime/hpux-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index aaa59658e..ed420d64a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/hpux-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/hpux-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -34,13 +34,15 @@ os_init(char *argv[], char *envp[])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--os_validate(int movable, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int protection = attributes & IS_GUARD_PAGE ? OS_VM_PROT_NONE : OS_VM_PROT_ALL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ attributes &= ~IS_GUARD_PAGE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t actual;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int flags = MAP_PRIVATE | MAP_ANONYMOUS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (addr) flags |= MAP_FIXED;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- actual = mmap(addr, len, OS_VM_PROT_ALL, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ actual = mmap(addr, len, protection, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (actual == MAP_FAILED) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perror("mmap");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/linux-mman.c b/src/runtime/linux-mman.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index ddb51731c..b8e3ec807 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/linux-mman.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/linux-mman.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -27,6 +27,8 @@ os_set_cheneygc_spaces(uword_t space0_start, uword_t space1_start)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int protection = attributes & IS_GUARD_PAGE ? OS_VM_PROT_NONE : OS_VM_PROT_ALL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ attributes &= ~IS_GUARD_PAGE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int flags = MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t actual;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -39,7 +41,7 @@ os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (attributes & ALLOCATE_LOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags |= MAP_32BIT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- actual = mmap(addr, len, OS_VM_PROT_ALL, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ actual = mmap(addr, len, protection, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (actual == MAP_FAILED) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perror("mmap");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return 0; /* caller should check this */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/os.h b/src/runtime/os.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 64bfbcc9d..85c334f8c 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/os.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/os.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -104,6 +104,7 @@ extern void os_zero(os_vm_address_t addr, os_vm_size_t length);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define ALLOCATE_LOW 2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define IS_THREAD_STRUCT 4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MOVABLE_LOW (MOVABLE|ALLOCATE_LOW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define IS_GUARD_PAGE 8
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- extern os_vm_address_t os_validate(int movable,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t addr,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_size_t len);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/sunos-os.c b/src/runtime/sunos-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 412b09650..dc3b1a756 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/sunos-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/sunos-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -47,13 +47,15 @@ os_init(char *argv[], char *envp[])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_page_size = BACKEND_PAGE_BYTES;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--os_vm_address_t os_validate(int movable, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+os_vm_address_t os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int protection = attributes & IS_GUARD_PAGE ? OS_VM_PROT_NONE : OS_VM_PROT_ALL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ attributes &= ~IS_GUARD_PAGE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int flags = MAP_PRIVATE | MAP_NORESERVE | MAP_ANON;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (addr)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags |= MAP_FIXED;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- addr = mmap(addr, len, OS_VM_PROT_ALL, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ addr = mmap(addr, len, protection, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (addr == MAP_FAILED) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perror("mmap");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/validate.c b/src/runtime/validate.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 5fc00b5cc..725c2333a 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/validate.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/validate.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -68,9 +68,21 @@ os_vm_address_t undefined_alien_address = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static void
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ensure_undefined_alien(void) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os_vm_address_t start = os_allocate(os_vm_page_size);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ os_vm_address_t start = os_validate(MOVABLE|IS_GUARD_PAGE, NULL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LISP_FEATURE_WIN32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* We can/should disregard our 'os_vm_page_size' constant which tends to be
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * larger than the granularity that the OS will allow you to manipulate via
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * mprotect(). e.g. on x86-64-linux we use a page size of 32K but in reality
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * the protection granularity is 4K.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * Moreover, since the memory protection is not changed after allocation,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * the granuarity that mprotect() operates on is immaterial. As such, it
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * probably would work to put N_WORD_BYTES here since that's all we need. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ getpagesize()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else // Use the same value as does contrib/sb-posix/interface.lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ 4096
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ );
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (start) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- os_protect(start, os_vm_page_size, OS_VM_PROT_NONE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- undefined_alien_address = start;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- lose("could not allocate guard page for undefined alien\n");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/win32-os.c b/src/runtime/win32-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8260fcb78..f82b7ba6e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/win32-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/win32-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -814,14 +814,15 @@ static inline boolean local_thread_stack_address_p(os_vm_address_t address)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- os_vm_address_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--os_validate(int movable, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- MEMORY_BASIC_INFORMATION mem_info;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!addr) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* the simple case first */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int protection = attributes & IS_GUARD_PAGE ? PAGE_NOACCESS : PAGE_EXECUTE_READWRITE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- AVERLAX(VirtualAlloc(addr, len, MEM_RESERVE|MEM_COMMIT, PAGE_EXECUTE_READWRITE));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ AVERLAX(VirtualAlloc(addr, len, MEM_RESERVE|MEM_COMMIT, protection));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (!AVERLAX(VirtualQuery(addr, &mem_info, sizeof mem_info)))
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-1.5.7-2-5cefb850.diff b/lang/sbcl/files/patch-1.5.7-2-5cefb850.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 3ac7151..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-1.5.7-2-5cefb850.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,98 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/bsd-os.c b/src/runtime/bsd-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 317124f23..8db5db1c8 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/bsd-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/bsd-os.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -131,14 +131,27 @@ os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- attributes &= ~IS_GUARD_PAGE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int flags = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* FIXME: use of MAP_FIXED here looks decidedly wrong! (and not what we do
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * in linux-os.c). Granted there are differences between *BSD and Linux,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * but on MAP_FIXED they agree: it destroys an existing mapping.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * macOS says:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- If the memory region specified by addr and len overlaps pages of any existing
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- mapping(s), then the overlapped part of the existing mapping(s) will be discarded.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef LISP_FEATURE_DARWIN // Do not use MAP_FIXED, because the OS is sane.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ /* The *BSD family of OSes seem to ignore 'addr' when it is outside
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * of some range which I could not figure out. Sometimes it seems like the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * condition is that any address below 4GB can't be requested without MAP_FIXED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * but on the other hand, asking for 0x1000 without MAP_FIXED works fine.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * So we are forced to use MAP_FIXED even for movable mappings. Thus, the logic
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * below does not work as intended because:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * (1) We can't detect when MAP_FIXED destroyed an existing mapping.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * But we can avoid the destruction by using MAP_EXCL when that flag exists,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * which it does not always.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * (2) Passing MAP_FIXED when we do not require a fixed address gets MAP_FAILURE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * for mappings that we would have been willing to relocate.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * So relocation is effectively disabled.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * (3) To mitigate the problem of point (2) we remove MAP_FIXED for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * dynamic space which seems to mostly work, but might cause an opposite
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * problem: we relocate the heap when perhaps we need not have.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * That is, even if the OS _could_ _have_ given the address requested,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * it randomly decided not to, thus forcing extra work upon us.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * For reference,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * FreeBSD says:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- If MAP_EXCL is not specified, a successful MAP_FIXED request replaces any
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- previous mappings for the process' pages ...
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -146,29 +159,19 @@ os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * OpenBSD says:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Except for MAP_FIXED mappings, the system will never replace existing mappings. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- switch (attributes) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case MOVABLE_LOW:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef MAP_32BIT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- flags = MAP_32BIT;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* Unless we have MAP_32BIT, use MAP_FIXED because if you don't,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * there is little chance of getting the hinted address. That in itself
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * is ok, unless mapped above 2GB, which, sadly, is always the case.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * (It may not be on OpenBSD which defines MAP_TRYFIXED as using
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * the hint address, and moreover that it "is the default behavior") */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- // FALLTHROUGH_INTENDED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case NOT_MOVABLE:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ // ALLOCATE_LOW seems never to get what we want
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (!(attributes & MOVABLE) | (attributes & ALLOCATE_LOW)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags = MAP_FIXED;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- case IS_THREAD_STRUCT:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ if (attributes & IS_THREAD_STRUCT) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if defined(LISP_FEATURE_OPENBSD) && defined(MAP_STACK)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* OpenBSD requires MAP_STACK for pages used as stack.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Note that FreeBSD has a MAP_STACK with different behavior. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- flags = MAP_STACK;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef MAP_EXCL // not defined in OpenBSD, NetBSD, DragonFlyBSD
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (flags & MAP_FIXED) flags |= MAP_EXCL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -204,8 +207,6 @@ os_validate(int attributes, os_vm_address_t addr, os_vm_size_t len)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- addr = mmap(addr, len, protection, flags, -1, 0);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- /* FIXME: if MAP_FIXED and MOVABLE_LOW, probe for other possible addresses,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * since the combination of (MAP_FIXED | MAP_EXCL) won't */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if (addr == MAP_FAILED) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- perror("mmap");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/runtime/thread.c b/src/runtime/thread.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index c5be95d01..2e3e6a0dc 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/runtime/thread.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/runtime/thread.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -699,7 +699,7 @@ create_thread_struct(lispobj start_routine) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * on the alignment passed from os_validate, since that might
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * assume the current (e.g. 4k) pagesize, while we calculate with
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * the biggest (e.g. 64k) pagesize allowed by the ABI. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- void *spaces = os_validate(IS_THREAD_STRUCT, NULL, THREAD_STRUCT_SIZE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ void *spaces = os_validate(MOVABLE|IS_THREAD_STRUCT, NULL, THREAD_STRUCT_SIZE);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(!spaces)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* Aligning up is safe as THREAD_STRUCT_SIZE has
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-base-target-features.diff b/lang/sbcl/files/patch-base-target-features.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 281b432..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-base-target-features.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,17 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- base-target-features.lisp-expr.orig 2009-12-24 10:24:02.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ base-target-features.lisp-expr 2010-02-01 10:39:28.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -219,7 +219,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; As of SBCL 1.0.33.26, threads are part of the default build on
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; x86oid Linux. Other platforms that support them include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; x86oid Darwin, FreeBSD, and Solaris.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- ; :sb-thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+:sb-thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; lutex support
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -406,4 +406,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; (No others are supported by SBCL as of 1.0.8, but :hpux or :irix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; support could be ported from CMU CL if anyone is sufficiently
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; motivated to do so.)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+:darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-posix-tests.diff b/lang/sbcl/files/patch-posix-tests.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 9250a19..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-posix-tests.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,56 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- contrib/sb-posix/posix-tests.lisp.orig 2009-10-25 09:24:59.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ contrib/sb-posix/posix-tests.lisp 2010-01-06 13:08:14.000000000 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -103,6 +103,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:syscall-errno c)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #.sb-posix::eexist)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftest mkdir.error.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (handler-case
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:mkdir #-win32 "/" #+win32 "C:/" 0)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -162,6 +163,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #+win32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #.sb-posix::einval)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftest rmdir.error.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (handler-case
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:rmdir #-win32 "/" #+win32 "C:/")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -326,6 +328,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (,mode (sb-posix::stat-mode ,stat)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ,@body)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftest stat-mode.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (with-stat-mode (mode *test-directory*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:s-isreg mode))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -342,11 +345,13 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:s-ischr mode))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nil)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftest stat-mode.4
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (with-stat-mode (mode *test-directory*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:s-isblk mode))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nil)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftest stat-mode.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (with-stat-mode (mode *test-directory*)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:s-isfifo mode))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -506,6 +511,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (sb-posix:closedir dir))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- nil)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftest readdir.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (let ((dir (sb-posix:opendir "/")))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (unwind-protect
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -662,6 +668,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #.(concatenate 'string "/" (make-string 255 :initial-element #\a)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;; The error tests are in the order of exposition from SUSv3.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ #-darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftest readlink.error.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (let* ((subdir-pathname (merge-pathnames
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (make-pathname
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-restore-build.diff b/lang/sbcl/files/patch-restore-build.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 4f50866..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-restore-build.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,65 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Douglas Katzman <dougk@google.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1562783129 14400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Wed Jul 10 14:25:29 2019 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID d27694577f5c30582b06081910220c56472a3ffe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent 9761835a375cdafeee4f888854fd322aa76356bc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Restore building 64-bit target on 32-bit host
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Quite likely broken since rev 99d9560c4511
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From <https://sourceforge.net/p/sbcl/sbcl/ci/e183e0c5b963b6d761eec565eb505b1ce6672df0/>.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 9761835a375c -r d27694577f5c src/cold/set-up-cold-packages.lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/cold/set-up-cold-packages.lisp Tue Jul 09 22:14:15 2019 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/cold/set-up-cold-packages.lisp Wed Jul 10 14:25:29 2019 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -212,7 +212,14 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;; (* 50 (hash-table-rehash-threshold (make-hash-table)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;; because we are not intercepting '*.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defparameter *dual-personality-math-symbols*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- '("+" "-" "*" "/" "=" "/=" "<" "<=" ">" ">=" "MIN" "MAX"))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ '("+" "-" "*" "/" "=" "/=" "<" "<=" ">" ">=" "MIN" "MAX"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;; We've gotten along quite well without an alter-ego for FIXNUM,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;; but now some s-expressions mentioning the type FIXNUM are fed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;; to the host for evaluation, and a type-checking host (such as we are)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;; croaks if an argument exceeds the host's notion of fixnum.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ;; Get around it by changing those uses of fixnum to SB-XC:FIXNUM.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "FIXNUM"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;; When playing such tricky package games, it's best to have the symbols that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;; are visible by default, i.e. XC-STRICT-CL:NAME, have no definition,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 9761835a375c -r d27694577f5c src/compiler/generic/early-vm.lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/compiler/generic/early-vm.lisp Tue Jul 09 22:14:15 2019 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/compiler/generic/early-vm.lisp Wed Jul 10 14:25:29 2019 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -166,3 +166,5 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;; The offset from the fault address reported to the runtime to the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;; END of the global safepoint page.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defconstant gc-safepoint-trap-offset n-word-bytes)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#+sb-xc-host (deftype sb-xc:fixnum () `(signed-byte ,n-fixnum-bits))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 9761835a375c -r d27694577f5c src/compiler/sxhash.lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/compiler/sxhash.lisp Tue Jul 09 22:14:15 2019 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/compiler/sxhash.lisp Wed Jul 10 14:25:29 2019 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -100,10 +100,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defglobal +sxhash-single-float-expr+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- `(let ((bits (logand (single-float-bits x) ,(1- (ash 1 32)))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (logxor 66194023
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (sxhash (the fixnum
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (sxhash (the sb-xc:fixnum
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (logand sb-xc:most-positive-fixnum
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (logxor bits
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (ash bits -7))))))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (logxor bits (ash bits -7))))))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (deftransform sxhash ((x) (single-float)) '#.+sxhash-single-float-expr+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #-64-bit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -216,7 +215,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defun sxhash (x)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (let ((answer (etypecase x ; croak on anything but these
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (null (ash sb-vm:nil-value (- sb-vm:n-fixnum-tag-bits)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (fixnum #.+sxhash-fixnum-expr+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (sb-xc:fixnum #.+sxhash-fixnum-expr+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (single-float #.+sxhash-single-float-expr+)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (double-float #.+sxhash-double-float-expr+))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (push (cons x answer) *sxhash-crosscheck*)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-svref-1.1.6.diff b/lang/sbcl/files/patch-svref-1.1.6.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 2096d71..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-svref-1.1.6.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,43 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Stas Boukarev <stassats@gmail.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1364824768 -14400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID 8766d27eb4288597be84d85905ae2eb81f2f2a4a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent 6b499774d52ad410a91eb65227bec4ac9803369c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Check bounds of ELT on &more in safe code.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Disable &more optimizations for ELT if safety = 3.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 6b499774d52a -r 8766d27eb428 src/compiler/srctran.lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/compiler/srctran.lisp Sun Mar 31 21:27:14 2013 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/compiler/srctran.lisp Mon Apr 01 17:59:28 2013 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4152,10 +4152,12 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- `(car (nthcdr ,n ,list)))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (define-source-transform elt (seq n)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (multiple-value-bind (context count) (possible-rest-arg-context seq)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (if context
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- `(%rest-ref ,n ,seq ,context ,count)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- (values nil t))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (if (policy *lexenv* (= safety 3))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (values nil t)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (multiple-value-bind (context count) (possible-rest-arg-context seq)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (if context
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ `(%rest-ref ,n ,seq ,context ,count)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (values nil t)))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ;;; CAxR -> %REST-REF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (defun source-transform-car (list nth)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 6b499774d52a -r 8766d27eb428 tests/seq.pure.lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- tests/seq.pure.lisp Sun Mar 31 21:27:14 2013 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ tests/seq.pure.lisp Mon Apr 01 17:59:28 2013 +0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -370,3 +370,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- (t #'shuffle))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size type)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #'< :key #'car))))))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(with-test (:name &more-elt-index-too-large)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (assert (raises-error? (funcall
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (compile nil '(lambda (&rest args)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (declare (optimize safety))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (elt args 0))))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ sb-kernel:index-too-large-error)))
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/sbcl/files/patch-use-mach-exception-handler.diff b/lang/sbcl/files/patch-use-mach-exception-handler.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index a6bd0da..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/sbcl/files/patch-use-mach-exception-handler.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,9 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Index: sbcl-1.0.3/customize-target-features.lisp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-===================================================================
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null 1970-01-01 00:00:00.000000000 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ customize-target-features.lisp 2007-03-20 18:25:05.000000000 -0400
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+(lambda (list)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (if (and (member :x86 list) (member :darwin list))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ (pushnew :mach-exception-handler list))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ list)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/maxima/Portfile b/math/maxima/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 22ad603..f4c3368 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/maxima/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/maxima/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,7 @@ subport maxima-devel {
</span> # Date: Fri Jun 15 17:26:53 2018 -0500
# commit 7e71fc4b6a95cab6418227754f01fc44ac845da1
version 5.41-dev-20180615
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 9
</span> fetch.type git
git.url https://git.code.sf.net/p/maxima/code
git.branch 7e71fc4b6a95cab6418227754f01fc44ac845da1
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -52,7 +52,7 @@ if {${subport} eq ${name}} {
</span> conflicts maxima-devel
version 5.41.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>- revision 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 9
</span> # get the source tarball from sourceforge.
master_sites sourceforge:project/maxima/Maxima-source/${version}-source
</pre><pre style='margin:0'>
</pre>