Date: Friday, July 10, 2015 @ 10:07:40 Author: lfleischer Revision: 136604
upgpkg: tcsh 6.19.00-2 Add upstream patches to workaround GCC 5 issue (fixes FS#45602). Added: tcsh/trunk/0001-avoid-gcc-5-optimization-malloc-memset-calloc-Fridol.patch tcsh/trunk/0002-make-k-volatile-to-prevent-gcc-5-memset-optimization.patch Modified: tcsh/trunk/PKGBUILD -----------------------------------------------------------------+ 0001-avoid-gcc-5-optimization-malloc-memset-calloc-Fridol.patch | 32 ++++++++++ 0002-make-k-volatile-to-prevent-gcc-5-memset-optimization.patch | 26 ++++++++ PKGBUILD | 12 +++ 3 files changed, 69 insertions(+), 1 deletion(-) Added: 0001-avoid-gcc-5-optimization-malloc-memset-calloc-Fridol.patch =================================================================== --- 0001-avoid-gcc-5-optimization-malloc-memset-calloc-Fridol.patch (rev 0) +++ 0001-avoid-gcc-5-optimization-malloc-memset-calloc-Fridol.patch 2015-07-10 08:07:40 UTC (rev 136604) @@ -0,0 +1,32 @@ +From 624d3aebb6e6afadb4f35e894d11b5ebe290cd87 Mon Sep 17 00:00:00 2001 +From: christos <christos> +Date: Thu, 28 May 2015 11:47:03 +0000 +Subject: [PATCH] avoid gcc-5 optimization malloc + memset = calloc (Fridolin + Pokorny) + +--- + tc.alloc.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/tc.alloc.c b/tc.alloc.c +index b9aec63..c1cb330 100644 +--- a/tc.alloc.c ++++ b/tc.alloc.c +@@ -348,10 +348,13 @@ calloc(size_t i, size_t j) + { + #ifndef lint + char *cp; ++ size_t k; + + i *= j; + cp = xmalloc(i); +- memset(cp, 0, i); ++ /* Stop gcc 5.x from optimizing malloc+memset = calloc */ ++ k = i; ++ memset(cp, 0, k); + + return ((memalign_t) cp); + #else +-- +2.4.5 + Added: 0002-make-k-volatile-to-prevent-gcc-5-memset-optimization.patch =================================================================== --- 0002-make-k-volatile-to-prevent-gcc-5-memset-optimization.patch (rev 0) +++ 0002-make-k-volatile-to-prevent-gcc-5-memset-optimization.patch 2015-07-10 08:07:40 UTC (rev 136604) @@ -0,0 +1,26 @@ +From 05e7406049bd2686dee0ee8d819dcd38eb131f6f Mon Sep 17 00:00:00 2001 +From: christos <christos> +Date: Tue, 7 Jul 2015 12:24:54 +0000 +Subject: [PATCH] make k volatile to prevent gcc-5 memset() optimization + (Fridolin Pokorny) + +--- + tc.alloc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tc.alloc.c b/tc.alloc.c +index c1cb330..f68a8c5 100644 +--- a/tc.alloc.c ++++ b/tc.alloc.c +@@ -348,7 +348,7 @@ calloc(size_t i, size_t j) + { + #ifndef lint + char *cp; +- size_t k; ++ volatile size_t k; + + i *= j; + cp = xmalloc(i); +-- +2.4.5 + Modified: PKGBUILD =================================================================== --- PKGBUILD 2015-07-09 22:05:39 UTC (rev 136603) +++ PKGBUILD 2015-07-10 08:07:40 UTC (rev 136604) @@ -4,7 +4,7 @@ pkgname=tcsh pkgver=6.19.00 -pkgrel=1 +pkgrel=2 pkgdesc='Enhanced version of the Berkeley C shell.' arch=('i686' 'x86_64') url='http://www.tcsh.org/Welcome' @@ -14,12 +14,22 @@ 'etc/csh.login') install='tcsh.install' source=("ftp://ftp.astron.com/pub/${pkgname}/${pkgname}-${pkgver}.tar.gz" + '0001-avoid-gcc-5-optimization-malloc-memset-calloc-Fridol.patch' + '0002-make-k-volatile-to-prevent-gcc-5-memset-optimization.patch' 'csh.cshrc' 'csh.login') md5sums=('f5f854833578647795bc906dd4bcb5d5' + '2a28679d1cc9db48720f69ea55e19cdb' + '8b63b83ae940706cce8db7ecda023441' '7ca0fe6d1a1b9a0093f632499d4fb112' '4869b9da87c79854e2cc97241f125853') +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../0001-avoid-gcc-5-optimization-malloc-memset-calloc-Fridol.patch + patch -p1 -i ../0002-make-k-volatile-to-prevent-gcc-5-memset-optimization.patch +} + build() { cd "${srcdir}/${pkgname}-${pkgver}"