4fe0dd4
diff -up hdf-4.2.15/hdf/src/hconv.h.ppc64le hdf-4.2.15/hdf/src/hconv.h
4fe0dd4
--- hdf-4.2.15/hdf/src/hconv.h.ppc64le	2020-04-30 21:25:25.183973672 -0600
4fe0dd4
+++ hdf-4.2.15/hdf/src/hconv.h	2020-04-30 21:25:25.191973677 -0600
Orion Poplawski 07a787f
@@ -59,7 +59,7 @@
Orion Poplawski 07a787f
 /* CONSTANT DEFINITIONS                                                      */
Orion Poplawski 07a787f
 /*****************************************************************************/
Orion Poplawski 07a787f
 /* Generally Big-Endian machines */
Orion Poplawski 07a787f
-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__)
Orion Poplawski 07a787f
+#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__) && !defined(__LITTLE_ENDIAN__)
Orion Poplawski 07a787f
 #       define UI8_IN     DFKnb1b   /* Unsigned Integer, 8 bits */
Orion Poplawski 07a787f
 #       define UI8_OUT    DFKnb1b
Orion Poplawski 07a787f
 #       define SI16_IN    DFKnb2b   /* S = Signed */
4fe0dd4
diff -up hdf-4.2.15/hdf/src/hdfi.h.ppc64le hdf-4.2.15/hdf/src/hdfi.h
4fe0dd4
--- hdf-4.2.15/hdf/src/hdfi.h.ppc64le	2020-04-30 21:25:25.183973672 -0600
4fe0dd4
+++ hdf-4.2.15/hdf/src/hdfi.h	2020-04-30 21:25:25.192973677 -0600
Orion Poplawski 07a787f
@@ -75,6 +75,7 @@
Orion Poplawski 07a787f
 #define     DFMT_IA64           0x4441
Orion Poplawski 07a787f
 #define     DFMT_LINUX64        0x4441
Orion Poplawski 07a787f
 #define     DFMT_POWERPC64      0x1111
Orion Poplawski 07a787f
+#define     DFMT_POWERPC64LE    0x4441
Orion Poplawski 07a787f
 #define     DFMT_LINUXPPC       0x1111
Orion Poplawski 07a787f
 #define     DFMT_LINUXSPARC     0x1111
Orion Poplawski 07a787f
 #define     DFMT_LINUX390       0x1111
4fe0dd4
@@ -926,18 +927,24 @@ typedef int               hdf_pint_t;
Orion Poplawski 07a787f
 
Orion Poplawski 07a787f
 
Orion Poplawski 07a787f
 /*-----------------------------------------------------*/
Orion Poplawski 07a787f
-/* Power PC 5 64 */
Orion Poplawski 07a787f
 #if defined __powerpc64__
Orion Poplawski 07a787f
-
Orion Poplawski 07a787f
+/* powerpc 64 bits */
Orion Poplawski 07a787f
 #ifdef GOT_MACHINE
Orion Poplawski 07a787f
 If you get an error on this line more than one machine type has been defined.
Orion Poplawski 07a787f
 Please check your Makefile.
Orion Poplawski 07a787f
 #endif
Orion Poplawski 07a787f
 #define GOT_MACHINE
Orion Poplawski 07a787f
 
Orion Poplawski 07a787f
+#ifdef __LITTLE_ENDIAN__
Orion Poplawski 07a787f
+/* Power PC 8 64 little endian */
Orion Poplawski 07a787f
+#define DF_MT             DFMT_POWERPC64LE
Orion Poplawski 07a787f
+#else
Orion Poplawski 07a787f
+/* Power PC 5 64 */
Orion Poplawski 07a787f
+#define DF_MT             DFMT_POWERPC64
Orion Poplawski 07a787f
+#endif
Orion Poplawski 07a787f
+
Orion Poplawski 07a787f
 #include <sys/file.h>               /* for unbuffered i/o stuff */
Orion Poplawski 07a787f
 #include <sys/stat.h>
Orion Poplawski 07a787f
-#define DF_MT             DFMT_POWERPC64
Orion Poplawski 07a787f
 typedef void              VOID;
Orion Poplawski 07a787f
 typedef void              *VOIDP;
Orion Poplawski 07a787f
 typedef char              *_fcd;
4fe0dd4
@@ -973,8 +980,9 @@ typedef long              hdf_pint_t;
Orion Poplawski 07a787f
 #define INCLUDES_ARE_ANSI
Orion Poplawski 07a787f
 #endif
Orion Poplawski 07a787f
 
Orion Poplawski 07a787f
+#endif /* powerpc 64 bits */
Orion Poplawski 07a787f
+
Orion Poplawski 07a787f
 /*-----------------------------------------------------*/
Orion Poplawski 07a787f
-#endif /*power PC 5 64 */
Orion Poplawski 07a787f
 /* Linux 64 */
Orion Poplawski 07a787f
 #if defined(__linux__) && defined __x86_64__  && !(defined  SUN)  /* i.e. 64-bit Linux  but not SunOS on Intel */
Orion Poplawski 07a787f
 
4fe0dd4
diff -up hdf-4.2.15/mfhdf/libsrc/xdrposix.c.ppc64le hdf-4.2.15/mfhdf/libsrc/xdrposix.c
4fe0dd4
--- hdf-4.2.15/mfhdf/libsrc/xdrposix.c.ppc64le	2020-04-30 21:25:25.186973674 -0600
4fe0dd4
+++ hdf-4.2.15/mfhdf/libsrc/xdrposix.c	2020-04-30 21:26:18.190001127 -0600
4fe0dd4
@@ -442,7 +442,7 @@ xdrposix_getlong(xdrs, lp)
4fe0dd4
     long *lp;
Orion Poplawski e234585
 {
Orion Poplawski e234585
     unsigned char *up = (unsigned char *)lp ;
4fe0dd4
-#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__))
4fe0dd4
+#if (defined AIX5L64 || (defined __powerpc64__ && !defined __LITTLE_ENDIAN__) || defined __s390x__ || (defined __hpux && __LP64__))
Orion Poplawski e234585
     *lp = 0 ;
Orion Poplawski e234585
     up += (sizeof(long) - 4) ;
Orion Poplawski e234585
 #endif
4fe0dd4
@@ -465,7 +465,7 @@ xdrposix_putlong(xdrs, lp)
Orion Poplawski e234585
     netlong mycopy = htonl(*lp);
Orion Poplawski e234585
     up = (unsigned char *)&mycopy;
Orion Poplawski e234585
 #endif
Orion Poplawski e234585
-#if (defined AIX5L64  || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__))
Orion Poplawski e234585
+#if (defined AIX5L64  || (defined __powerpc64__ && !defined __LITTLE_ENDIAN__) || defined __s390x__ || (defined __hpux && __LP64__))
Orion Poplawski e234585
     up += (sizeof(long) - 4) ;
Orion Poplawski e234585
 #endif
4fe0dd4