summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Liddell <chris.liddell@artifex.com>2016-08-26 15:44:24 +0100
committerChris Liddell <chris.liddell@artifex.com>2016-08-30 16:01:42 +0100
commit66d905ba077ec5025299a7cd2074e66fac2e09d2 (patch)
tree2a3f3cc0c23edde4e162c4b44625fbfb0ad3b0e6
parentc6290b83763b6a7022112886517d23ce3d2140ca (diff)
downloadghostpdl-66d905ba077ec5025299a7cd2074e66fac2e09d2.tar.gz
Reinstate pointer alignment special case for sparc and hpux
The configure check for required pointer alignment works on Linux/SPARC, but not on Solaris/SPARC - so reinstate the special case code in genarch.c I'm including the HP/UX case as well since it's safer, and does not add to the complexity of code.
-rw-r--r--base/genarch.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/base/genarch.c b/base/genarch.c
index 68a17a7e0..4c8b69327 100644
--- a/base/genarch.c
+++ b/base/genarch.c
@@ -184,8 +184,15 @@ main(int argc, char *argv[])
#if defined (GS_MEMPTR_ALIGNMENT) && GS_MEMPTR_ALIGNMENT != 0
define_int(f, "ARCH_ALIGN_PTR_MOD", GS_MEMPTR_ALIGNMENT);
#else
+#if defined (sparc) || defined (__hpux)
+# ifndef __BIGGEST_ALIGNMENT__
+# define __BIGGEST_ALIGNMENT__ 8
+# endif
+ define_int(f, "ARCH_ALIGN_PTR_MOD", __BIGGEST_ALIGNMENT__);
+#else
define_int(f, "ARCH_ALIGN_PTR_MOD", OFFSET_IN(sp, p));
#endif
+#endif
define_int(f, "ARCH_ALIGN_FLOAT_MOD", OFFSET_IN(sf, f));
define_int(f, "ARCH_ALIGN_DOUBLE_MOD", OFFSET_IN(sd, d));