Summary: | Crash with 478-01.ps | ||
---|---|---|---|
Product: | Ghostscript | Reporter: | Ray Johnston <ray.johnston> |
Component: | PS Interpreter | Assignee: | Alex Cherepanov <alex> |
Status: | RESOLVED FIXED | ||
Severity: | critical | ||
Priority: | P4 | ||
Version: | master | ||
Hardware: | PC | ||
OS: | Windows 7 | ||
Customer: | Word Size: | --- |
Description
Ray Johnston
2012-08-12 18:09:55 UTC
The problem is reproduced on Windows but the file works fine on 32 and 64 bit Linux. We need regression testing on every platform we support. (In reply to comment #1) > We need regression testing on every platform we support. I agree with Alex's suggestion that we drop support for Windows. The problem is caused by the fact that on Windows obj_align_mod == 8 but sizeof(ref) == 12. On Linux x86 obj_align_mod == 4, Linux AMD64 sizeof(ref)==16 We need either - don't require sizeof(ref) % obj_align_mod == 0 - always use 16-byte ref's or pad the ref when obj_align_mod == 8 - don't set obj_align_mod == 8 on x86 or ppc32 Reinstate big references. Make them compatible with 8-byte alignment on 32-bit Windows by adding a dummy uint64_t member to the union that increases the sizeof(ref) to 16. http://git.ghostscript.com/?p=ghostpdl.git;a=commitdiff;h=2740bef445c51680d831ec40753436291f01760a |