tag 613642 patch
kthxbye

On Wed, Feb 16, 2011 at 13:56:52 +0100, Julien Cristau wrote:

> gx_semaphore_alloc() allocates a 8-byte-aligned gx_semaphore_t, which
> means that sema->native is *not* 8-byte-aligned (its offset is 4),
> whereas alignof(pt_semaphore_t) == 8.  The easiest fix is probably to
> make sure gp_semaphore has maximal alignment.
> 
Quick test with the following patch seems to work (using Stéphane's test
case).

--- ghostscript-9.01~dfsg.orig/base/gpsync.h
+++ ghostscript-9.01~dfsg/base/gpsync.h
@@ -28,8 +28,11 @@
  * control to proceed iff the number of signals since semaphore creation
  * is greater than the number of waits.
  */
-typedef struct {
-    void *dummy_;
+/* Needs to have maximum alignment */
+typedef union {
+    void *dummy1;
+    double dummy2;
+    long dummy3;
 } gp_semaphore;
 
 uint gp_semaphore_sizeof(void);

Cheers,
Julien



--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to