diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2017-10-12 20:57:19 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2017-10-12 20:57:19 -0700 |
commit | a20a94bb8afd5391a92a0e3bdba441704ae5bf7b (patch) | |
tree | a37b9d54a575703a8bf1f8e51c1638b562007281 /debian/patches/bypass_bigrecy_32bit.patch | |
parent | 12f0a0a1b21c1461b15e4d06cb7473014a7ef14f (diff) | |
download | scm-a20a94bb8afd5391a92a0e3bdba441704ae5bf7b.tar.gz scm-a20a94bb8afd5391a92a0e3bdba441704ae5bf7b.zip |
Revert "patch: disable bigrecy() on 32-bit platforms"
This reverts commit 12f0a0a1b21c1461b15e4d06cb7473014a7ef14f.
Diffstat (limited to 'debian/patches/bypass_bigrecy_32bit.patch')
-rw-r--r-- | debian/patches/bypass_bigrecy_32bit.patch | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/debian/patches/bypass_bigrecy_32bit.patch b/debian/patches/bypass_bigrecy_32bit.patch deleted file mode 100644 index 276bc8c..0000000 --- a/debian/patches/bypass_bigrecy_32bit.patch +++ /dev/null @@ -1,26 +0,0 @@ -Description: Bypass bigrecy() optimization on 32-bit to fix test failure -Author: Bryan Newbold <bnewbold@robocracy.org> -Forwarded: yes ---- a/scl.c -+++ b/scl.c -@@ -132,12 +132,20 @@ void strrecy(str) - void bigrecy(bgnm) - SCM bgnm; - { -+/* As an emergency patch, only implement this GC optimization on specific -+ * 64-bit platforms. -+ * There is a "use-after-free" bug on 32-bit platforms, introduced as a -+ * regression between 5f1 and 5f2. --bnewbold (2017-09-30) -+ */ -+#if defined(__ia64__) || defined(__powerpc64__) || defined(__x86_64__) \ -+ || defined(__aarch64__) - if (IMP(bgnm) || !BIGP(bgnm)) return; - DEFER_INTS; - must_free(CHARS(bgnm), (sizet)NUMDIGS(bgnm)*sizeof(BIGDIG)); - CAR(bgnm) = INUM0; - CDR(bgnm) = INUM0; - ALLOW_INTS; -+#endif - } - - /* can convert to string accurately with bignums */ |