- Add patches to support sparc (bug #427651)

epel9
Orion Poplawski 17 years ago
parent f659110776
commit dd0dbfa5b7

@ -0,0 +1,45 @@
--- hdf5-1.6.5/src/H5detect.c.orig 2005-09-12 19:18:23.000000000 +0200
+++ hdf5-1.6.5/src/H5detect.c 2005-11-15 18:25:36.030721792 +0100
@@ -106,7 +106,7 @@
static void detect_C99_integers64(void);
static void detect_alignments(void);
static size_t align_g[] = {1, 2, 4, 8, 16};
-static jmp_buf jbuf_g;
+static sigjmp_buf jbuf_g;
/*-------------------------------------------------------------------------
@@ -360,7 +360,7 @@
void (*_handler2)(int) = signal(SIGSEGV, sigsegv_handler); \
\
_buf = (char*)malloc(sizeof(TYPE)+align_g[NELMTS(align_g)-1]); \
- if (setjmp(jbuf_g)) _ano++; \
+ if (sigsetjmp(jbuf_g, 1)) _ano++; \
if (_ano<NELMTS(align_g)) { \
*((TYPE*)(_buf+align_g[_ano])) = _val; /*possible SIGBUS or SEGSEGV*/ \
_val2 = *((TYPE*)(_buf+align_g[_ano])); /*possible SIGBUS or SEGSEGV*/ \
@@ -376,7 +376,7 @@
memcpy(_buf+align_g[_ano]+(INFO.offset/8),((char *)&_val)+(INFO.offset/8),(size_t)(INFO.precision/8)); \
_val2 = *((TYPE*)(_buf+align_g[_ano])); \
if(_val!=_val2) \
- longjmp(jbuf_g, 1); \
+ siglongjmp(jbuf_g, 1); \
/* End Cray Check */ \
(INFO.align)=align_g[_ano]; \
} else { \
@@ -460,7 +460,7 @@
sigsegv_handler(int UNUSED signo)
{
signal(SIGSEGV, sigsegv_handler);
- longjmp(jbuf_g, 1);
+ siglongjmp(jbuf_g, 1);
}
@@ -485,7 +485,7 @@
sigbus_handler(int UNUSED signo)
{
signal(SIGBUS, sigbus_handler);
- longjmp(jbuf_g, 1);
+ siglongjmp(jbuf_g, 1);
}

@ -0,0 +1,18 @@
--- hdf5-1.6.6.orig/fortran/src/H5f90i.h 2008-01-06 11:51:45.000000000 +0200
+++ hdf5-1.6.6/fortran/src/H5f90i.h 2008-01-06 12:15:59.000000000 +0200
@@ -116,6 +116,15 @@
typedef int size_t_f;
#define FNAME_POST_UNDERSCORE
+/* sparc32/64 specific definitions */
+#elif (defined __sparc__ || defined __sparc64__)
+
+typedef long long haddr_t_f;
+typedef long long hsize_t_f;
+typedef long long hssize_t_f;
+typedef int size_t_f;
+#define FNAME_POST_UNDERSCORE
+
/* IA64 specific definitions */
#elif defined __ia64

@ -1,6 +1,6 @@
Name: hdf5
Version: 1.6.6
Release: 3%{?dist}
Release: 4%{?dist}
Summary: A general purpose library and file format for storing scientific data
License: BSD
Group: System Environment/Libraries
@ -9,7 +9,9 @@ Source0: ftp://ftp.hdfgroup.org/HDF5/current/src/%{name}-%{version}.tar.gz
Patch1: hdf5-1.6.4-destdir.patch
Patch2: hdf5-1.6.4-norpath.patch
Patch3: hdf5-1.6.6-tail.patch
Patch4: hdf5-1.6.6-signal.patch
Patch5: hdf5-1.6.4-ppc.patch
Patch6: hdf5-1.6.6-sparc.patch
Patch7: hdf5-1.6.5-x86_64.patch
Patch8: hdf5-1.6.5-sort.patch
Patch10: hdf5-1.6.5-open.patch
@ -39,7 +41,9 @@ HDF5 development headers and libraries.
%patch1 -p1 -b .destdir
%patch2 -p1 -b .norpath
%patch3 -p1 -b .tail
%patch4 -p1 -b .signal
%patch5 -p1 -b .ppc
%patch6 -p1 -b .sparc
%patch7 -p1 -b .x86_64
%patch8 -p1 -b .sort
%patch10 -p1 -b .open
@ -107,6 +111,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Mon Jan 7 2008 Orion Poplawski <orion@cora.nwra.com> 1.6.6-4
- Add patches to support sparc (bug #427651)
* Tue Dec 4 2007 Orion Poplawski <orion@cora.nwra.com> 1.6.6-3
- Rebuild against new openssl

Loading…
Cancel
Save