summaryrefslogtreecommitdiff
path: root/dev-scheme/guile
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-12-01 03:04:39 +0000
committerV3n3RiX <venerix@redcorelinux.org>2017-12-01 03:04:39 +0000
commit407525b571b48cfd65e1ad7a02d250a927c967c9 (patch)
tree844bea44d85dc7218f54970af1c42cc9d55c3f1a /dev-scheme/guile
parent89c6c06b8c42107dd231687a1012354e7d3039fc (diff)
gentoo resync : 01.12.2017
Diffstat (limited to 'dev-scheme/guile')
-rw-r--r--dev-scheme/guile/Manifest5
-rw-r--r--dev-scheme/guile/files/guile-2.0.14-ia64-fix-crash-thread-context-switch.patch63
-rw-r--r--dev-scheme/guile/guile-2.0.14-r3.ebuild (renamed from dev-scheme/guile/guile-2.0.14-r2.ebuild)1
3 files changed, 67 insertions, 2 deletions
diff --git a/dev-scheme/guile/Manifest b/dev-scheme/guile/Manifest
index 846d8c3f44e3..4fbf7ad24d65 100644
--- a/dev-scheme/guile/Manifest
+++ b/dev-scheme/guile/Manifest
@@ -10,10 +10,11 @@ AUX guile-1.8.8-sandbox.patch 514 BLAKE2B d47f7a6ffc4e67cec738e963ff2ec7c3bfa600
AUX guile-1.8.8-tinfo.patch 450 BLAKE2B 0dcf1728e30034f1e612d666b07cdbf2147dbbe8151a23479d1519f4bc55a0fcf83c37e545592c2a2fb7c7426f026ae3fac0f08d3a36248cd8b27c3d9ae8a618 SHA512 0ea33680a57b1adb0821bd00cd73955e8c2fd5f31c4bd20a291c3e4fbb6a3dd9e2f4977b135f05fa3e2b65b1f5e0f5253db642e7b0b0fcd2e78ff8b6dd1cf37a
AUX guile-2-snarf.patch 1274 BLAKE2B e9efdd1e14560579131ecff748add4f97de730678e6f766681be72f95bf99ab36edd8bc7279701084d13f3fa762968af814760bcf9b8778c73c956c282bb3c93 SHA512 49d015b08d0bcf5d27aa43d4a595b2ccb4366dffe0f5d159162c8c7747fb9fdbe84056a737f3c81a6e39281d91109bfa4aa98c85dd0e757c17ab668a1dd46f24
AUX guile-2.0.14-darwin.patch 1026 BLAKE2B 9193732cfb74931f7bf8e9b55c5c9dd2621ef6271c8d18190e0ed94d90decde85272f271bbbe7d3c4dd0dd509e51fae3f7f0af42872a0b9ebb87396c9e69a9d2 SHA512 151d19f171656105d87336f81dd8c34273d07a3e88aa03ac5ca8d640c79ab317a90ef06097858bf627e4666fba747faea45237c73e7bc6462d19d8f0d1904d53
+AUX guile-2.0.14-ia64-fix-crash-thread-context-switch.patch 2426 BLAKE2B 5b2073a3780794e9466d8e5434ab98a91a821408ab792abbfaf61d09c95e113b99746b0da850115b4534bda00b1313cef5bb9b08c90c8bf9a04c81b1eb78faa3 SHA512 082f98ac4ee2f40dd3762006bf5c43022088b2286c9a8d63ae9e234d3c8527f3afcfba8076e0c8578e7fbed257294db6ce1a4513661b89f821579dc121d449ae
DIST guile-1.8.8.tar.gz 3956654 SHA256 c3471fed2e72e5b04ad133bbaaf16369e8360283679bcf19800bc1b381024050 SHA512 ede6feb90cd419d8763feb8c5169275490a653919573c4dfced025b74cf591072b3a10ffb9a3f6ee3fe7b0a0956ffcf434e0859b421455c8349cea56bf427db0 WHIRLPOOL 104810030b5dae16805595a5b398e5a7e600771b64b08d5ff686036e2f273dcec3829a16e4cdb1dbb9db5813f2e225476f83e0535a789bc570fc2fc15a76dbe2
DIST guile-2.0.13.tar.gz 7808173 SHA256 ee8073c4582bb4f06412452fdf5dd185aae607441f1313c824f44bdd668b0bde SHA512 79fd5fda5064331eb687934ec3eaf07943f5b23bd05fbce23ab5ee3698864250b33746e33b8f074692b56f7b428dac42ed5d3f5b9dc17d171aa6dfadc1625b00 WHIRLPOOL 5f8b8e0f0e5fd2cde8fd4b1ca89ebe0231dd5f746945d71412a9d1ce57094013882972d9791511ef47e9bf1f2e9eff77a515dab8b4a6c0316122cb9ef49b5a7d
-DIST guile-2.0.14.tar.gz 7823099 SHA256 8aeb2f353881282fe01694cce76bb72f7ffdd296a12c7a1a39255c27b0dfe5f1 SHA512 d69c9bdf589fedcc227f3203012f6ed11c327cef3a0147d8e016fe276abecdb4272625efe1d0c7aa68219fe8f29bbced44089a4b479e4eafe01976c6b2b83633 WHIRLPOOL 3b355f40b47c940bf9330a3521447efd2da7c7c9c3615c208513e36fec937c06a9f307fb2c59d652c09e6e0e13e858d7ef7949efbe32d530431a7aace3d9a165
+DIST guile-2.0.14.tar.gz 7823099 BLAKE2B e7fa5a4ca19dc4adfcc151350b0ed4e211b8470b0d12f65451697a818c3139a4a5992a019bd213114748230cb15ec755d1af70d42b901230854915c0ee7b05de SHA512 d69c9bdf589fedcc227f3203012f6ed11c327cef3a0147d8e016fe276abecdb4272625efe1d0c7aa68219fe8f29bbced44089a4b479e4eafe01976c6b2b83633
EBUILD guile-1.8.8-r3.ebuild 3106 BLAKE2B 1f080be08e9d7f69292edfc990466c5c89bd8d312889f798c23c9f29e4d3a689c62288aa669cf09111ae639680bcfb38e509a79cfc44b5151be33b6e433d35d1 SHA512 e83ecd2c5939e940a0b7203bb9e1cdb0e38dac1533d3652155fcfbaaa5009cc243859c800214e4aa0512efba87ccaa08f451fda236dfa3cf7f26897b1f9cfcb8
EBUILD guile-2.0.13-r2.ebuild 2105 BLAKE2B 0ef4bf19c2206c0cea8205f71df84899341a5f72d229873246f4f57d019980db2fcb1437396338d11eb110840ac39b4ae597a0167d5f513e36c61639225d0e75 SHA512 0224ae401033f3bd36aa935984d84021ceddb8aea3bba2da79de6320efc7c6b14035b8e26bebffa1413d42e7b0f6512ba7235007917f181c62329abfee697bb0
-EBUILD guile-2.0.14-r2.ebuild 2189 BLAKE2B bdf79d6c8d701d818ad0919ff8982da5c1834e625f2e4a7e25bc9e5d9c523f4c56f8b8aee65616b501a873365c2904c44d6ef8f4ba2e0c8a7baf3cef2886c230 SHA512 3c22360885f09151cd646a23bf08bb83e21d2490ca1a6e9b2a6f59b05cf28fa15c3cd2080fefdc4aa05ef6ebc9ea2a11c2dad91eb37cb50967b21169ec121966
+EBUILD guile-2.0.14-r3.ebuild 2252 BLAKE2B 686a2d5def9f6a4ceae1fec61a4d1d52de203f6f50043a51a6ec92aa6d8f854af9c41e70d03cc718feaa65e755c7559148422ec43bd2afe4102c246102e899ef SHA512 01839b756c237dfc3472ac121499717b6f7ff8f7d9f5ffc405aeeb9f4f214fc72f7b5ae97004a52b71d201484de4a93168a137adf4ad27ff54638b6db94c52f4
MISC metadata.xml 1040 BLAKE2B ea7db45fc50b1b17b90948224837643278741aa84fe75e7d3fa3716711060f8aef189124d4491238aa0a72c4e0364d940fcf5d38fb4a178ff0ac7c7039138751 SHA512 6c44b82f0c361f23d377e34fd88249c4e601b215c1bb183afb8cac27bf105b314d5138877b05bf3144a3c60f5b240e4e76ca3fabf151e1182cc913825a093cf3
diff --git a/dev-scheme/guile/files/guile-2.0.14-ia64-fix-crash-thread-context-switch.patch b/dev-scheme/guile/files/guile-2.0.14-ia64-fix-crash-thread-context-switch.patch
new file mode 100644
index 000000000000..c2f136ddd104
--- /dev/null
+++ b/dev-scheme/guile/files/guile-2.0.14-ia64-fix-crash-thread-context-switch.patch
@@ -0,0 +1,63 @@
+From f92888853439a8ded221f3423865c78de2a96a14 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sun, 5 Nov 2017 09:30:45 +0000
+Subject: ia64: Fix crash in thread context switch.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes <https://bugs.gnu.org/29151> and <https://bugs.gentoo.org/613986>.
+
+Backtrace looks like that:
+
+ Program terminated with signal SIGSEGV, Segmentation fault.
+ #0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372
+ 372 t->pending_rbs_continuation->backing_store,
+ [Current thread is 1 (Thread 0x2000000000049340 (LWP 8190))]
+ (gdb) bt
+ #0 0x200000000014a5c0 in scm_ia64_longjmp (JB=0x6000000000817020, VAL=1) at continuations.c:372
+ #1 0x2000000000148e00 in scm_c_abort (vm=0x60000000000edea0, tag=0x6000000000795ba0, n=0, argv=0x60000fffff7f0ce0, cookie=-1) at control.c:239
+ #2 0x2000000000149070 in scm_at_abort (tag=0x6000000000795ba0, args=0x304) at control.c:258
+ (gdb) print t
+ $2 = (scm_i_thread *) 0x6000000000068000
+ (gdb) print t->pending_rbs_continuation
+ $3 = (scm_t_contregs *) 0xffeb
+
+The problem here is the value of 't->pending_rbs_continuation' pointer.
+It's supposed to poin to a register stack pointer or be NULL if not yet
+backed up.
+
+The problem is it is never initialized to NULL at creation time and
+contained garbage on stack. Sometimes people are lucky and have zeros
+on stack and guile works. But sometimes there is something and guile
+crashes.
+
+The fix is trivial: initialize 'pending_rbs_continuation = NULL'
+at thread registration time (the same way other threads are registered).
+
+Reported-by: Matt Turner
+
+* libguile/threads.c (guilify_self_1): Initialize pending_rbs_continuation
+to avoid crash on ia64.
+
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+Signed-off-by: Ludovic Courtès <ludo@gnu.org>
+---
+ libguile/threads.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libguile/threads.c b/libguile/threads.c
+index 9ceb5b8..770f62c 100644
+--- a/libguile/threads.c
++++ b/libguile/threads.c
+@@ -395,6 +395,7 @@ guilify_self_1 (struct GC_stack_base *base, int needs_unregister)
+ t.base = base->mem_base;
+ #ifdef __ia64__
+ t.register_backing_store_base = base->reg_base;
++ t.pending_rbs_continuation = 0;
+ #endif
+ t.continuation_root = SCM_EOL;
+ t.continuation_base = t.base;
+--
+cgit v1.0-41-gc330
+
diff --git a/dev-scheme/guile/guile-2.0.14-r2.ebuild b/dev-scheme/guile/guile-2.0.14-r3.ebuild
index 37a3cd3ede72..56165f81bcb4 100644
--- a/dev-scheme/guile/guile-2.0.14-r2.ebuild
+++ b/dev-scheme/guile/guile-2.0.14-r3.ebuild
@@ -37,6 +37,7 @@ DOCS=( GUILE-VERSION HACKING README )
PATCHES=(
"${FILESDIR}/${PN}-2-snarf.patch"
"${FILESDIR}/${P}-darwin.patch"
+ "${FILESDIR}/${P}-ia64-fix-crash-thread-context-switch.patch"
)
src_prepare() {