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]

Reply via email to