Package: lcms2
Version: 2.5
Severity: normal
User: [email protected]
Usertags: ppc64el

Dear Maintainer,

The lcms2 code consider PPC architecture as Big Endian only. Now that we are
porting Debian for the little endian PPC (ppc64el), we need to fix the
endianess code on lcms2.

The patch was already sent upstream and accepted by the community as seen in
the following discussion thread:

https://www.mail-archive.com/[email protected]/msg03723.html
as also http://bugs.ghostscript.com/show_bug.cgi?id=694620

Thank you,
Breno Leitao

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: ppc64el (ppc64le)

Kernel: Linux 3.13-1-powerpc64le (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Index: lcms2-2.5/include/lcms2.h
===================================================================
--- lcms2-2.5.orig/include/lcms2.h	2013-06-27 16:01:28.000000000 +0000
+++ lcms2-2.5/include/lcms2.h	2014-04-24 17:22:31.000000000 +0000
@@ -177,18 +177,26 @@
 #   define CMS_USE_BIG_ENDIAN      1
 #endif
 
-#if defined(__sgi__) || defined(__sgi) || defined(__powerpc__) || defined(sparc)
+#if defined(__sgi__) || defined(__sgi) || defined(sparc)
 #   define CMS_USE_BIG_ENDIAN      1
 #endif
 
-#if defined(__ppc__) || defined(__s390__) || defined(__s390x__)
+#if defined(__s390__) || defined(__s390x__)
 #   define CMS_USE_BIG_ENDIAN   1
 #endif
 
-#ifdef TARGET_CPU_PPC
-# if TARGET_CPU_PPC
-#   define CMS_USE_BIG_ENDIAN   1
-# endif
+#if defined (__GNUC__) && ( __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+#// Don't set USE_BIG_ENDIAN if we are in PowerPC little endian mode.
+#else
+#  if defined(__powerpc__) || defined(__ppc__)
+#     define CMS_USE_BIG_ENDIAN   1
+#  endif
+
+#  ifdef TARGET_CPU_PPC
+#    if TARGET_CPU_PPC
+#      define CMS_USE_BIG_ENDIAN   1
+#    endif
+#  endif
 #endif
 
 #ifdef macintosh

Reply via email to