[Spread-users] Spread on Linux/ia64
Stephan Seyboth
sps@caldera.de
Tue, 22 May 2001 11:41:43 +0200
--J/dobhs11T7y2rNN
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Hi,
in case you're interested, attached is a patch to Spread 3.15.1
that Roman has come up with in our ia64 porting efforts. It gets
Spread to compile successefully on Linux/ia64, but we haven't
done any actual runtime testing yet.
--
Stephan Seyboth - Developer
Caldera (Deutschland) GmbH
http://www.caldera.de/
--J/dobhs11T7y2rNN
Content-Type: application/x-patch
Content-Disposition: attachment; filename="spread_src-3.15.1-ia64.patch"
--- spread_src-3.15.1/arch.h~ Wed Dec 20 21:16:37 2000
+++ spread_src-3.15.1/arch.h Tue May 8 17:02:48 2001
@@ -103,6 +103,14 @@
#define ARCH_SGI_IRIX
#endif
+#ifdef __ia64__
+
+#ifdef __linux__
+#define ARCH_IA64_LINUX
+#endif
+
+#endif /* __ia64__ */
+
#undef INTSIZE32
#undef INTSIZE64
#undef INTSIZE16
@@ -254,6 +262,23 @@
#define ERR_TIMEDOUT ETIMEDOUT
#endif /* ARCH_SGI_UNIX */
+#ifdef ARCH_IA64_LINUX
+#define INTSIZE64
+#define ARCH_SCATTER_CONTROL /* should be control if supported */
+#define ARCH_ENDIAN 0x80000080
+#define LOC_INLINE __inline__
+#include <sys/uio.h>
+#define ARCH_SCATTER_SIZE UIO_MAXIOV
+#define HAVE_GOOD_VARGS
+typedef int sockopt_len_t;
+/* Already defined in linux
+ typedef int socklen_t;
+*/
+/* this define is needed for glibc2.1 but should be turned off for glibc2.0 and earlier. */
+#define HAVE_STDINT_H
+#define ERR_TIMEDOUT ETIMEDOUT
+#endif /* ARCH_IA64_LINUX */
+
#ifdef ARCH_PC_WIN95
#define INTSIZE32
#define ARCH_SCATTER_NONE
@@ -298,6 +323,17 @@
#define INT32_MAX LONG_MAX
#endif
+#ifdef INTSIZE64
+#define int16 short
+#define int32 int
+#ifndef UINT32_MAX
+#define UINT32_MAX UINT_MAX
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX INT_MAX
+#endif
+#endif
+
/*
* Endian : big and little
*/
--J/dobhs11T7y2rNN--