[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--