Attached please find the patch for the NMU which I have just made to the 1 day delayed queue. Don Armstrong -- A citizen of America will cross the ocean to fight for democracy, but won't cross the street to vote in a national election. -- Bill Vaughan http://www.donarmstrong.com http://rzlab.ucr.edu
diff -u gdc-4.1-0.25-20080616-4.1.2/debian/rules.patch gdc-4.1-0.25-20080616-4.1.2/debian/rules.patch --- gdc-4.1-0.25-20080616-4.1.2/debian/rules.patch +++ gdc-4.1-0.25-20080616-4.1.2/debian/rules.patch @@ -203,6 +203,7 @@ debian_patches += gdc-arm-unwind_ptr debian_patches += gdc-libphobos-std-format debian_patches += gdc-libstdcxx-nobuild + debian_patches += gdc-array-concat else debian_patches += gcc-d-lang endif diff -u gdc-4.1-0.25-20080616-4.1.2/debian/changelog gdc-4.1-0.25-20080616-4.1.2/debian/changelog --- gdc-4.1-0.25-20080616-4.1.2/debian/changelog +++ gdc-4.1-0.25-20080616-4.1.2/debian/changelog @@ -1,3 +1,11 @@ +gdc-4.1 (0.25-20080616-4.1.2-23.1) unstable; urgency=low + + * Non-Maintainer Upload + * Fix string concatenation segfaults on powerpc, thanks to Ulrich + Eckhardt and Arthur Loiret (Closes: #473167). + + -- Don Armstrong <don@debian.org> Fri, 08 Aug 2008 08:58:51 -0700 + gdc-4.1 (0.25-20080616-4.1.2-23) unstable; urgency=low * Upload as gdc-4.1. only in patch2: unchanged: --- gdc-4.1-0.25-20080616-4.1.2.orig/debian/patches/gdc-array-concat.dpatch +++ gdc-4.1-0.25-20080616-4.1.2/debian/patches/gdc-array-concat.dpatch @@ -0,0 +1,49 @@ +#! /bin/sh -e + +# gdc-array-concat.dpatch by Peter De Wachter <pdewacht@gmail.com> +# DP: Fixes generation of D array concatenation calls. + +dir= +if [ $# -eq 3 -a "$2" = '-d' ]; then + pdir="-d $3" + dir="$3/" +elif [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) + patch $pdir -f --no-backup-if-mismatch -p0 < $0 + #cd ${dir}gcc && autoconf + ;; + -unpatch) + patch $pdir -f --no-backup-if-mismatch -R -p0 < $0 + #rm ${dir}gcc/configure + ;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +esac +exit 0 + +--- gcc/d/d-glue.cc.orig 2008-08-01 14:09:36.000000000 +0200 ++++ gcc/d/d-glue.cc 2008-08-01 14:15:57.000000000 +0200 +@@ -650,7 +650,7 @@ + } + + n_args = 1 + (n_operands > 2 ? 1 : 0) + +- (n_operands * (irs->splitDynArrayVarArgs ? 2 : 1)); ++ n_operands * (n_operands > 2 && irs->splitDynArrayVarArgs ? 2 : 1); + args = new tree[n_args]; + args[0] = irs->typeinfoReference(type); + if (n_operands > 2) +@@ -673,7 +673,7 @@ + } + else + array_exp = irs->toDArray(oe); +- if (irs->splitDynArrayVarArgs) ++ if (n_operands > 2 && irs->splitDynArrayVarArgs) + { + array_exp = irs->maybeMakeTemp(array_exp); + args[ai--] = irs->darrayPtrRef(array_exp); // note: filling array +
Attachment:
signature.asc
Description: Digital signature