Date: Sunday, May 29, 2016 @ 16:26:46 Author: arojas Revision: 268732
fix SEGV if cpu supports HLE/RTM (FS#49503) Added: tcl/trunk/tcl-fix-segv.patch Modified: tcl/trunk/PKGBUILD --------------------+ PKGBUILD | 9 ++++++--- tcl-fix-segv.patch | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-05-29 09:13:38 UTC (rev 268731) +++ PKGBUILD 2016-05-29 14:26:46 UTC (rev 268732) @@ -3,7 +3,7 @@ pkgname=tcl pkgver=8.6.5 -pkgrel=1 +pkgrel=2 pkgdesc="The Tcl scripting language" arch=('i686' 'x86_64') url="http://tcl.sourceforge.net/" @@ -10,13 +10,16 @@ license=('custom') depends=('zlib') options=('staticlibs') -source=(http://downloads.sourceforge.net/sourceforge/tcl/tcl${pkgver}-src.tar.gz) -sha1sums=('c3a50ea58dac00a3c7e83cb4a4651c40d0f55160') +source=(http://downloads.sourceforge.net/sourceforge/tcl/tcl${pkgver}-src.tar.gz tcl-fix-segv.patch) +sha1sums=('c3a50ea58dac00a3c7e83cb4a4651c40d0f55160' + '1ec4fd9d159b920c15655936b1418034387114f0') prepare() { cd tcl${pkgver} # we build the tcl sqlite interface in sqlite-tcl package rm -rf pkgs/sqlite3* + # fix SEGV if cpu supports HLE/RTM http://core.tcl.tk/tcl/info/d3071887dbc7aeac + patch -p1 -i ../tcl-fix-segv.patch } build() { Added: tcl-fix-segv.patch =================================================================== --- tcl-fix-segv.patch (rev 0) +++ tcl-fix-segv.patch 2016-05-29 14:26:46 UTC (rev 268732) @@ -0,0 +1,26 @@ +From 55234833327f1ee7469552fa103c316e5405f8b0 Mon Sep 17 00:00:00 2001 +From: "nijtm...@users.sourceforge.net" <jan.nijtmans> +Date: Mon, 21 Mar 2016 09:05:34 +0000 +Subject: [PATCH] Proposed fix for [d3071887dbc7aeac]: Fix SEGV in + Tcl_FinalizeNotifier() + +--- + unix/tclUnixNotfy.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/unix/tclUnixNotfy.c b/unix/tclUnixNotfy.c +index 48ba0cc..3946c7d 100644 +--- a/unix/tclUnixNotfy.c ++++ b/unix/tclUnixNotfy.c +@@ -433,9 +433,11 @@ Tcl_FinalizeNotifier( + "unable to write q to triggerPipe"); + } + close(triggerPipe); ++ pthread_mutex_lock(¬ifierMutex); + while(triggerPipe != -1) { + pthread_cond_wait(¬ifierCV, ¬ifierMutex); + } ++ pthread_mutex_unlock(¬ifierMutex); + if (notifierThreadRunning) { + int result = pthread_join((pthread_t) notifierThread, NULL); +