--- ./base/gximag3x.c.orig 2010-08-10 11:20:19.000000000 -0500 +++ ./base/gximag3x.c 2010-12-28 13:24:54.000000000 -0600 @@ -241,7 +241,9 @@ const gs_image3x_mask_t *pixm = (i == 0 ? &pim->Opacity : &pim->Shape); - *(gs_data_image_t *)&mask[i].image = pixm->MaskDict; + /* Use memcpy because direct assignment breaks ANSI aliasing */ + /* rules and causes SEGV with gcc 4.5.1 */ + memcpy(&mask[i].image, &pixm->MaskDict, sizeof(pixm->MaskDict)); mask[i].image.type = type1; mask[i].image.BitsPerComponent = pixm->MaskDict.BitsPerComponent; }