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