tags 453903 + patch thanks Hi,
The following is the diff for my ghostscript 8.62.dfsg.1-2.1 NMU. diff -u ghostscript-8.62.dfsg.1/debian/changelog ghostscript-8.62.dfsg.1/debian/changelog --- ghostscript-8.62.dfsg.1/debian/changelog +++ ghostscript-8.62.dfsg.1/debian/changelog @@ -1,3 +1,12 @@ +ghostscript (8.62.dfsg.1-2.1) unstable; urgency=high + + * Non-maintainer upload. + * Add patches/31_fix-gc-sigbus.dpatch to avoid sigbus/segfaults on sparc and + hppa (and probably errors on other architectures as well). + Closes: #453903. + + -- Pierre Habouzit <[EMAIL PROTECTED]> Wed, 14 May 2008 15:25:03 +0200 + ghostscript (8.62.dfsg.1-2) unstable; urgency=low * ghostscript: Tighten up versioned dependency on libgs8 diff -u ghostscript-8.62.dfsg.1/debian/patches/00list ghostscript-8.62.dfsg.1/debian/patches/00list --- ghostscript-8.62.dfsg.1/debian/patches/00list +++ ghostscript-8.62.dfsg.1/debian/patches/00list @@ -17 +17 @@ - +31_fix-gc-sigbus only in patch2: unchanged: --- ghostscript-8.62.dfsg.1.orig/debian/patches/31_fix-gc-sigbus.dpatch +++ ghostscript-8.62.dfsg.1/debian/patches/31_fix-gc-sigbus.dpatch @@ -0,0 +1,27 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 31_fix-gc-sigbus.dpatch by Pierre Habouzit <[EMAIL PROTECTED]> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + [EMAIL PROTECTED]@ +diff -urNad ghostscript-8.62.dfsg.1~/src/store.h ghostscript-8.62.dfsg.1/src/store.h +--- ghostscript-8.62.dfsg.1~/src/store.h 2007-06-06 00:23:38.000000000 +0200 ++++ ghostscript-8.62.dfsg.1/src/store.h 2008-05-14 15:24:07.000000000 +0200 +@@ -65,10 +65,14 @@ + * Assigning the components individually is fastest on Turbo C, + * and on Watcom C when one or both of the addresses are + * already known or in a register. ++ * ++ * Though, it sends wrong signals to the compiler that believes it's okay-ish ++ * to update the structure in two calls, and risks very wrong reordering. This ++ * _MUST_ be done in one call, and trust the compiler to do the proper thing, ++ * if not too bad. And we're using GCC anyways on Debian. + */ + #define ref_assign_inline(pto,pfrom)\ +- ((pto)->value = (pfrom)->value,\ +- (pto)->tas = (pfrom)->tas) ++ (*(pto) = *(pfrom)) + #ifdef __TURBOC__ + /* + * Move the data in two 32-bit chunks, because -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]