[hdf] Add AArch64 support

Peter Robinson pbrobinson at fedoraproject.org
Wed Jun 25 14:26:44 UTC 2014


commit 8804e8168208f286489aaf5ebd15ce2b7550836d
Author: Marcin Juszkiewicz <mjuszkiewicz at redhat.com>
Date:   Tue Jun 24 18:00:58 2014 +0200

    Add AArch64 support

 hdf-4.2.10-aarch64.patch |  330 ++++++++++++++++++++++++++++++++++++++++++++++
 hdf.spec                 |    9 +-
 2 files changed, 338 insertions(+), 1 deletions(-)
---
diff --git a/hdf-4.2.10-aarch64.patch b/hdf-4.2.10-aarch64.patch
new file mode 100644
index 0000000..a2699c3
--- /dev/null
+++ b/hdf-4.2.10-aarch64.patch
@@ -0,0 +1,330 @@
+Index: hdf-4.2.10/hdf/src/hconv.h
+===================================================================
+--- hdf-4.2.10.orig/hdf/src/hconv.h
++++ hdf-4.2.10/hdf/src/hconv.h
+@@ -59,7 +59,7 @@
+ /* CONSTANT DEFINITIONS                                                      */
+ /*****************************************************************************/
+ /* Generally Big-Endian machines */
+-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__)
++#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__)
+ #       define UI8_IN     DFKnb1b   /* Unsigned Integer, 8 bits */
+ #       define UI8_OUT    DFKnb1b
+ #       define SI16_IN    DFKnb2b   /* S = Signed */
+Index: hdf-4.2.10/hdf/src/hdfi.h
+===================================================================
+--- hdf-4.2.10.orig/hdf/src/hdfi.h
++++ hdf-4.2.10/hdf/src/hdfi.h
+@@ -79,6 +79,7 @@
+ #define     DFMT_LINUXSPARC     0x1111
+ #define     DFMT_LINUX390       0x1111
+ #define     DFMT_LINUXARM       0x4441
++#define     DFMT_LINUXAARCH64   0x4441
+ 
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1337,6 +1338,44 @@ typedef long              hdf_pint_t;
+ 
+ #endif /* IA64 */
+ 
++/* Linux AArch64 */
++#if defined __aarch64__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h>               /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT             DFMT_LINUXAARCH64
++typedef void              VOID;
++typedef void              *VOIDP;
++typedef char              *_fcd;
++typedef char              char8;
++typedef unsigned char     uchar8;
++typedef char              int8;
++typedef unsigned char     uint8;
++typedef short int         int16;
++typedef unsigned short int uint16;
++typedef int               int32;
++typedef unsigned int      uint32;
++typedef int               intn;
++typedef unsigned int      uintn;
++typedef int               intf;     /* size of INTEGERs in Fortran compiler */
++typedef float             float32;
++typedef double            float64;
++typedef long              hdf_pint_t;   /* an integer the same size as a pointer */
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef  HAVE_FMPOOL
++#define FILELIB PAGEBUFIO  /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++#endif /* Linux AArch64 */
++
+ #ifndef GOT_MACHINE
+ No machine type has been defined.  Your Makefile needs to have someing like
+ -DSUN or -DUNICOS in order for the HDF internal structures to be defined
+Index: hdf-4.2.10/mfhdf/fortran/jackets.c.in
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/fortran/jackets.c.in
++++ hdf-4.2.10/mfhdf/fortran/jackets.c.in
+@@ -34,7 +34,7 @@
+ 
+ struct ncfils {			/* This will be a common block from Fortran */
+     double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+     int ll;
+ #else
+     long ll;
+@@ -65,7 +65,7 @@ struct ncfils {			/* This will be a comm
+ 
+ struct ncfils {			/* This will be a common block from Fortran */
+     double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+     int ll;
+ #else
+     long ll;
+@@ -420,7 +420,7 @@ stoig(shorts, ints, dims, basis, ndims)
+ }
+ #endif /* FORTRAN_HAS_NO_SHORT */
+ 
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ /*
+  * Convert multi-dimensional array of NCLONGs stored in ints to packed
+  * array of longs, in malloc'ed space.  Returns pointer to longs or NULL
+@@ -908,7 +908,7 @@ nncvpt1(cdfid, varid, indices, value, rc
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ 	long          longs = *(int *)value;
+@@ -1022,7 +1022,7 @@ nncvpt(cdfid, varid, start, count, value
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ 	long *longs = itol (value, ncount, ndims);
+@@ -1133,7 +1133,7 @@ nncvptg(cdfid, varid, start, count, stri
+ 	tmpbasis	= nctypelen(NC_LONG);
+     else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+     if (datatype == NC_LONG)
+ 	tmpbasis	= sizeof(int);
+     else
+@@ -1190,7 +1190,7 @@ nncvptg(cdfid, varid, start, count, stri
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ 	long *longs = itolg (value, ncount, nbasis, ndims);
+@@ -1326,7 +1326,7 @@ nncvgt1(cdfid, varid, indices, value, rc
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ 	long          longs;
+@@ -1468,7 +1468,7 @@ nncvgt(cdfid, varid, start, count, value
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ 	long iocount = dimprod (ncount, ndims);	/* product of dimensions */
+@@ -1606,7 +1606,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ 	tmpbasis	= nctypelen(NC_LONG);
+     else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+     if (datatype == NC_LONG)
+ 	tmpbasis	= sizeof(int);
+     else
+@@ -1677,7 +1677,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ 	long iocount = dimprod (ncount, ndims);	/* product of dimensions */
+@@ -1843,7 +1843,7 @@ nncapt(cdfid, varid, attname, datatype,
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ 	long *longs = itol (value, attlen, 1);
+@@ -2008,7 +2008,7 @@ nncagt(cdfid, varid, attname, value, rco
+ 	return;
+     }				/* else */
+ #endif				/* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+     if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ /* EIP  We need to use int buffer to read data in on the platforms where long is 8 bytes
+Index: hdf-4.2.10/mfhdf/libsrc/array.c
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/libsrc/array.c
++++ hdf-4.2.10/mfhdf/libsrc/array.c
+@@ -620,7 +620,7 @@ xdr_NC_array(xdrs, app)
+ 		xdr_NC_fnct = xdr_shorts ;
+ 		goto func ;
+ 	case NC_LONG :
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ 		xdr_NC_fnct = xdr_int ;
+ #else
+ 		xdr_NC_fnct = xdr_long ;
+Index: hdf-4.2.10/mfhdf/libsrc/cdf.c
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/libsrc/cdf.c
++++ hdf-4.2.10/mfhdf/libsrc/cdf.c
+@@ -3662,7 +3662,7 @@ NC_var *vp ;
+         break ;
+     case NC_LONG :
+         alen /= 4 ;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+         xdr_NC_fnct = xdr_int ;
+ #else
+         xdr_NC_fnct = xdr_long ;
+Index: hdf-4.2.10/mfhdf/libsrc/netcdf.h.in
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/libsrc/netcdf.h.in
++++ hdf-4.2.10/mfhdf/libsrc/netcdf.h.in
+@@ -293,7 +293,7 @@ typedef double        ncdouble;
+ /* 
+  * Variables/attributes of type NC_LONG should use the C type 'nclong'
+  */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ /*
+  * LP64 (also known as 4/8/8) denotes long and pointer as 64 bit types.
+  * http://www.unix.org/version2/whatsnew/lp64_wp.html
+Index: hdf-4.2.10/mfhdf/libsrc/putget.c
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/libsrc/putget.c
++++ hdf-4.2.10/mfhdf/libsrc/putget.c
+@@ -664,7 +664,7 @@ Void *values ;
+ 	case NC_SHORT :
+ 		return( xdr_NCvshort(xdrs, (unsigned)rem/2, (short *)values) ) ;
+ 	case NC_LONG :
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ 		return( xdr_int(xdrs, (nclong *)values) ) ;
+ #else
+ 		return( xdr_long(xdrs, (nclong *)values) ) ;
+@@ -1975,7 +1975,7 @@ Void *values ;
+ 		} /* else */
+ 		return(TRUE) ;
+ 	case NC_LONG :
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ 		xdr_NC_fnct = xdr_int ;
+ #else
+ 		xdr_NC_fnct = xdr_long ;
+Index: hdf-4.2.10/mfhdf/libsrc/xdrposix.c
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/libsrc/xdrposix.c
++++ hdf-4.2.10/mfhdf/libsrc/xdrposix.c
+@@ -250,7 +250,7 @@ int nbytes;
+ 
+ static bool_t   xdrposix_getlong();
+ static bool_t   xdrposix_putlong();
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ static bool_t   xdrposix_getint();
+ static bool_t   xdrposix_putint();
+ #endif
+@@ -264,7 +264,7 @@ static long *    xdrposix_inline();
+ #if (defined __sun && defined _LP64)
+ static rpc_inline_t *    xdrposix_inline();
+ #else
+-#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__
++#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ static int32_t *    xdrposix_inline();
+ #else
+ #if (defined __alpha )
+@@ -294,9 +294,9 @@ static struct xdr_ops   xdrposix_ops = {
+     xdrposix_getpos,    /* get offset in the stream */
+     xdrposix_setpos,    /* set offset in the stream */
+     xdrposix_inline,    /* prime stream for inline macros */
+-#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+     xdrposix_destroy,   /* destroy stream */
+-#if !(defined __s390x__) && !(defined __x86_64__) && !(defined __powerpc64__) || (defined  __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */
++#if !(defined __aarch64__) && !(defined __s390x__) && !(defined __x86_64__) && !(defined __powerpc64__) || (defined  __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */
+     NULL,               /* no xdr_control function defined */
+ #endif 
+     /* Solaris 64-bit (arch=v9 and arch=amd64) has 64 bits long and 32 bits int. */
+@@ -552,7 +552,7 @@ static rpc_inline_t *
+ #if (defined  __alpha)
+ static int* 
+ #else
+-#if ((defined  __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__
++#if ((defined  __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ static int32_t * 
+ #else
+ static netlong * 
+@@ -580,7 +580,7 @@ int
+     return (NULL);
+ }
+ 
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64  || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64  || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ 
+ static bool_t
+ xdrposix_getint(xdrs, lp)
+Index: hdf-4.2.10/mfhdf/ncgen/ncgen.l
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/ncgen/ncgen.l
++++ hdf-4.2.10/mfhdf/ncgen/ncgen.l
+@@ -113,7 +113,7 @@ FloatInf|Infinity|Inf	{    /* float miss
+ 		    yyerror(errstr);
+ 		}
+ 
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__ || defined __aarch64__
+ 		if (dd < INT_MIN  ||  dd > INT_MAX) 
+ #else
+ 		if (dd < LONG_MIN  ||  dd > LONG_MAX) 
+Index: hdf-4.2.10/mfhdf/ncgen/ncgenyy.c
+===================================================================
+--- hdf-4.2.10.orig/mfhdf/ncgen/ncgenyy.c
++++ hdf-4.2.10/mfhdf/ncgen/ncgenyy.c
+@@ -989,7 +989,7 @@ YY_RULE_SETUP
+ 		    yyerror(errstr);
+ 		}
+ 
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__ || __aarch64__
+ 		if (dd < INT_MIN  ||  dd > INT_MAX) 
+ #else
+ 		if (dd < LONG_MIN  ||  dd > LONG_MAX) 
diff --git a/hdf.spec b/hdf.spec
index 0a620aa..b6dbe69 100644
--- a/hdf.spec
+++ b/hdf.spec
@@ -1,6 +1,6 @@
 Name: hdf
 Version: 4.2.10
-Release: 3%{?dist}
+Release: 4%{?dist}
 Summary: A general purpose library and file format for storing scientific data
 License: BSD
 Group: System Environment/Libraries
@@ -18,6 +18,9 @@ Patch6: hdf-examplesdir.patch
 # Fix build with -Werror=format-security
 # https://bugzilla.redhat.com/show_bug.cgi?id=1037120
 Patch7: hdf-format.patch
+# Add AArch64 definitions
+Patch8: hdf-4.2.10-aarch64.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 # For destdir/examplesdir patches
 BuildRequires: automake libtool
@@ -60,6 +63,7 @@ HDF development headers and libraries.
 %patch5 -p1 -b .destdir
 %patch6 -p1 -b .examplesdir
 %patch7 -p1 -b .format
+%patch8 -p1 -b .aarch64
 # For destdir/examplesdir patches
 autoreconf -i
 
@@ -130,6 +134,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Wed Jun 24 2014 Marcin Juszkiewicz <mjuszkiewicz at redhat.com> 4.2.10-4
+- Add AArch64 support.
+
 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 4.2.10-3
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
 


More information about the scm-commits mailing list