diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2015-03-23 15:29:37 +0000 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2015-03-24 14:04:56 +0000 |
commit | 49ac7a284e46cf8df8eb553c91ee48a6b004652e (patch) | |
tree | 661ccfac56adea5406a74af72c3acd9a472d844c | |
parent | f2f22a246dcbe8468880535ea75f47e0fc4619ce (diff) | |
download | ghostpdl-49ac7a284e46cf8df8eb553c91ee48a6b004652e.tar.gz |
LCMS2 pointer alignment on SPARC/gcc
Building on commit 5a2da7dd71:
With gcc on (Ultra)SPARC hardware, pointers must be 8 byte aligned, even in
32 bit userspace (where sizeof(void *) == 4).
So it means taking special action to enforce 8 byte alignment in the LCMS2
memory management code.
We'll set the alignment for SPARC builds in the configure script.
No cluster differences.
-rw-r--r-- | config.mak.in | 2 | ||||
-rw-r--r-- | configure.ac | 14 | ||||
-rw-r--r-- | gs/Makefile.in | 2 | ||||
-rw-r--r-- | gs/configure.ac | 14 |
4 files changed, 30 insertions, 2 deletions
diff --git a/config.mak.in b/config.mak.in index d962dda20..2312ea2e3 100644 --- a/config.mak.in +++ b/config.mak.in @@ -34,7 +34,7 @@ XLIBS?=@XLIBS@ X11DEVS?=@X11DEVS@ LCMS_CFLAGS=@LCMS_ENDIAN@ -LCMS2_CFLAGS=@LCMS2_ENDIAN@ @SQRTF_SUBST@ +LCMS2_CFLAGS=@LCMS2_ENDIAN@ @SQRTF_SUBST@ @LCMS2_PTR_ALIGNMENT@ AC_TRIO_CFLAGS=@AC_TRIO_CFLAGS@ TRIO_CFLAGS=$(TRIO_XCFLAGS) $(AC_TRIO_CFLAGS) diff --git a/configure.ac b/configure.ac index ffb8b5128..6d0f45386 100644 --- a/configure.ac +++ b/configure.ac @@ -327,6 +327,20 @@ AC_SUBST(LCMS_ENDIAN) AC_SUBST(LCMS2_ENDIAN) dnl -------------------------------------------------- +dnl set LCMS2 memory manager's ptr alignment for sparc +dnl -------------------------------------------------- + +LCMS2_PTR_ALIGNMENT= + +case `uname -a` in + *sparc*) + LCMS2_PTR_ALIGNMENT="-DCMS_PTR_ALIGNMENT=8" + ;; +esac + +AC_SUBST(LCMS2_PTR_ALIGNMENT) + +dnl -------------------------------------------------- dnl decide if we have to "hack" sqrtf() for lcms2 dnl -------------------------------------------------- diff --git a/gs/Makefile.in b/gs/Makefile.in index 2ba4efed7..3e0746cae 100644 --- a/gs/Makefile.in +++ b/gs/Makefile.in @@ -268,7 +268,7 @@ JPX_CFLAGS=@JPX_AUTOCONF_CFLAGS@ # options for lcms color management library SHARE_LCMS=@SHARELCMS@ LCMS2SRCDIR=@LCMS2DIR@ -LCMS2_CFLAGS=-DSHARE_LCMS=$(SHARE_LCMS) @LCMS2_ENDIAN@ @SQRTF_SUBST@ +LCMS2_CFLAGS=-DSHARE_LCMS=$(SHARE_LCMS) @LCMS2_ENDIAN@ @SQRTF_SUBST@ @LCMS2_PTR_ALIGNMENT@ # Which CMS are we using? # Options are currently lcms or lcms2 diff --git a/gs/configure.ac b/gs/configure.ac index de67c87da..94e1f7c11 100644 --- a/gs/configure.ac +++ b/gs/configure.ac @@ -2207,6 +2207,20 @@ AC_SUBST(LCMS_ENDIAN) AC_SUBST(LCMS2_ENDIAN) dnl -------------------------------------------------- +dnl set LCMS2 memory manager's ptr alignment for sparc +dnl -------------------------------------------------- + +LCMS2_PTR_ALIGNMENT= + +case `uname -a` in + *sparc*) + LCMS2_PTR_ALIGNMENT="-DCMS_PTR_ALIGNMENT=8" + ;; +esac + +AC_SUBST(LCMS2_PTR_ALIGNMENT) + +dnl -------------------------------------------------- dnl decide if we have to "hack" sqrtf() for lcms2 dnl -------------------------------------------------- |