Blob Blame History Raw
diff -up Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390.s390x Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390
--- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390.s390x	2010-03-26 00:23:18.000000000 +0100
+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390	2010-03-26 00:23:56.000000000 +0100
@@ -0,0 +1,31 @@
+# The contents of this file are subject to the Interbase Public
+# License Version 1.0 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy
+# of the License at http://www.Inprise.com/IPL.html
+#
+# Software distributed under the License is distributed on an
+# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
+# or implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code was created by Inprise Corporation
+# and its predecessors. Portions created by Inprise Corporation are
+# Copyright (C) Inprise Corporation.
+#
+# All Rights Reserved.
+# Contributor(s): ______________________________________.
+# Start of file prefix.linux:	$(VERSION)	$(PLATFORM)
+#
+# 3. Sep 2009 Karsten Hopp     - initial verion
+
+COMMON_FLAGS=-m31 -DLINUX -pipe -MMD -fPIC -DS390 -DFB_SEND_FLAGS=MSG_NOSIGNAL -fmessage-length=0 -fsigned-char
+PROD_FLAGS=-ggdb -march=z9-109 -mtune=z10 -O2 -DNDEBUG $(COMMON_FLAGS)
+DEV_FLAGS=-ggdb -p -Wall -Wno-switch  $(COMMON_FLAGS)
+CXXFLAGS:= $(CXXFLAGS) -fno-rtti
+
+OS_ServerFiles=inet_server.cpp
+
+EMBED_UTIL_TARGETS=gstat gds_drop gsec nbackup fb_lock_print fbsvcmgr
+CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr
+
+Physical_IO_Module=os/posix/unix.cpp
diff -up Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x.s390x Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x
--- Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x.s390x	2010-03-26 00:21:22.000000000 +0100
+++ Firebird-2.1.3.18185-0/builds/posix/prefix.linux_s390x	2010-03-26 00:23:50.000000000 +0100
@@ -0,0 +1,31 @@
+# The contents of this file are subject to the Interbase Public
+# License Version 1.0 (the "License"); you may not use this file
+# except in compliance with the License. You may obtain a copy
+# of the License at http://www.Inprise.com/IPL.html
+#
+# Software distributed under the License is distributed on an
+# "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
+# or implied. See the License for the specific language governing
+# rights and limitations under the License.
+#
+# The Original Code was created by Inprise Corporation
+# and its predecessors. Portions created by Inprise Corporation are
+# Copyright (C) Inprise Corporation.
+#
+# All Rights Reserved.
+# Contributor(s): ______________________________________.
+# Start of file prefix.linux:	$(VERSION)	$(PLATFORM)
+#
+# 3. Sep 2009 Karsten Hopp     - initial verion
+
+COMMON_FLAGS=-m64 -DLINUX -pipe -MMD -fPIC -DS390X -DFB_SEND_FLAGS=MSG_NOSIGNAL -fmessage-length=0 -fsigned-char
+PROD_FLAGS=-ggdb -march=z9-109 -mtune=z10 -O2 -DNDEBUG $(COMMON_FLAGS)
+DEV_FLAGS=-ggdb -p -Wall -Wno-switch  $(COMMON_FLAGS)
+CXXFLAGS:= $(CXXFLAGS) -fno-rtti
+
+OS_ServerFiles=inet_server.cpp
+
+EMBED_UTIL_TARGETS=gstat gds_drop gsec nbackup fb_lock_print fbsvcmgr
+CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print fbsvcmgr
+
+Physical_IO_Module=os/posix/unix.cpp
diff -up Firebird-2.1.3.18185-0/configure.in.s390x Firebird-2.1.3.18185-0/configure.in
--- Firebird-2.1.3.18185-0/configure.in.s390x	2010-03-26 00:21:22.000000000 +0100
+++ Firebird-2.1.3.18185-0/configure.in	2010-03-26 00:24:25.000000000 +0100
@@ -182,6 +182,26 @@ dnl CPU_TYPE=ppc64
     SHRLIB_EXT=so
     ;;
 
+  s390-*-linux*)
+    MAKEFILE_PREFIX=linux_s390
+    INSTALL_PREFIX=linux
+    PLATFORM=LINUX
+    AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+    LOCK_MANAGER_FLG=Y
+    EDITLINE_FLG=Y
+    SHRLIB_EXT=so
+    ;;
+
+  s390x-*-linux*)
+    MAKEFILE_PREFIX=linux_s390x
+    INSTALL_PREFIX=linux
+    PLATFORM=LINUX
+    AC_DEFINE(LINUX, 1, [Define this if OS is Linux])
+    LOCK_MANAGER_FLG=Y
+    EDITLINE_FLG=Y
+    SHRLIB_EXT=so
+    ;;
+
   powerpc*-*-linux*)
     MAKEFILE_PREFIX=linux_powerpc
     INSTALL_PREFIX=linux
diff -up Firebird-2.1.3.18185-0/src/jrd/common.h.s390x Firebird-2.1.3.18185-0/src/jrd/common.h
--- Firebird-2.1.3.18185-0/src/jrd/common.h.s390x	2008-12-23 09:34:32.000000000 +0100
+++ Firebird-2.1.3.18185-0/src/jrd/common.h	2010-03-26 00:25:20.000000000 +0100
@@ -151,6 +151,14 @@
 #define RISC_ALIGNMENT
 #endif // IA64
 
+#ifdef S390X
+#define IMPLEMENTATION  isc_info_db_impl_linux_s390x /* 78  */
+#endif /* s390x */
+
+#ifdef S390
+#define IMPLEMENTATION  isc_info_db_impl_linux_s390 /* 79  */
+#endif /* s390 */
+
 #define MEMMOVE(from, to, length)		memmove ((void *)to, (void *)from, (size_t) length)
 #define MOVE_FAST(from, to, length)       memcpy (to, from, (int) (length))
 #define MOVE_FASTER(from, to, length)     memcpy (to, from, (int) (length))
diff -up Firebird-2.1.3.18185-0/src/jrd/inf_pub.h.s390x Firebird-2.1.3.18185-0/src/jrd/inf_pub.h
--- Firebird-2.1.3.18185-0/src/jrd/inf_pub.h.s390x	2008-06-09 13:16:32.000000000 +0200
+++ Firebird-2.1.3.18185-0/src/jrd/inf_pub.h	2010-03-26 00:25:47.000000000 +0100
@@ -207,6 +207,8 @@ enum  info_db_implementations
 	isc_info_db_impl_linux_ia64 = 76,
 
 	isc_info_db_impl_darwin_ppc64 = 77,
+	isc_info_db_impl_linux_s390x = 78,
+	isc_info_db_impl_linux_s390 = 79,
 
 	isc_info_db_impl_last_value   // Leave this LAST!
 };
diff -up Firebird-2.1.3.18185-0/src/jrd/pag.cpp.s390x Firebird-2.1.3.18185-0/src/jrd/pag.cpp
--- Firebird-2.1.3.18185-0/src/jrd/pag.cpp.s390x	2009-01-06 22:25:22.000000000 +0100
+++ Firebird-2.1.3.18185-0/src/jrd/pag.cpp	2010-03-26 00:27:06.000000000 +0100
@@ -160,9 +160,11 @@ static const int CLASS_SOLARIS_AMD64 = 3
 static const int CLASS_LINUX_ARM = 33;    // LINUX/ARM
 static const int CLASS_LINUX_IA64 = 34;    // LINUX/IA64
 static const int CLASS_DARWIN_PPC64 = 35; // Darwin/PowerPC64
+static const int CLASS_LINUX_S390X = 36;    // LINUX/s390x
+static const int CLASS_LINUX_S390 = 37;    // LINUX/s390
 
 static const int CLASS_MAX10 = CLASS_LINUX_AMD64;	// This should not be changed, no new ports with ODS10
-static const int CLASS_MAX = CLASS_DARWIN_PPC64;
+static const int CLASS_MAX = CLASS_LINUX_S390;
 
 // ARCHITECTURE COMPATIBILITY CLASSES
 
@@ -253,7 +255,9 @@ static ArchitectureType archMatrix[CLASS
 	archLittleEndian, // CLASS_SOLARIS_AMD64
 	archLittleEndian, // CLASS_LINUX_ARM
 	archLittleEndian, // CLASS_LINUX_IA64
-	archBigEndian	  // CLASS_DARWIN_PPC64
+	archBigEndian,	  // CLASS_DARWIN_PPC64
+	archBigEndian,    // CLASS_LINUX_S390X
+	archBigEndian     // CLASS_LINUX_S390
 };
 
 #ifdef sun
@@ -311,6 +315,10 @@ const SSHORT CLASS		= CLASS_LINUX_MIPSEL
 const SSHORT CLASS		= CLASS_LINUX_MIPS;
 #elif defined(IA64)
 const SSHORT CLASS		= CLASS_LINUX_IA64;
+#elif defined(S390)
+const SSHORT CLASS		= CLASS_LINUX_S390;
+#elif defined(S390X)
+const SSHORT CLASS		= CLASS_LINUX_S390X;
 #else
 #error no support on other hardware for Linux
 #endif
diff -up Firebird-2.1.3.18185-0/src/jrd/utl.cpp.s390x Firebird-2.1.3.18185-0/src/jrd/utl.cpp
--- Firebird-2.1.3.18185-0/src/jrd/utl.cpp.s390x	2008-12-10 16:22:17.000000000 +0100
+++ Firebird-2.1.3.18185-0/src/jrd/utl.cpp	2010-03-26 00:27:17.000000000 +0100
@@ -244,7 +244,9 @@ static const TEXT* const impl_implementa
     "Firebird/sun/amd64",	/* 74 */	
     "Firebird/linux ARM",	/* 75 */
     "Firebird/linux IA64",	/* 76 */
-	"Firebird/Darwin/PowerPC64"	/* 77 */
+	"Firebird/Darwin/PowerPC64",	/* 77 */
+    "Firebird/linux S390X"	/* 78 */
+    "Firebird/linux S390"	/* 79 */
 };
 
 
diff -up Firebird-2.1.3.18185-0/src/remote/xdr.cpp.s390x Firebird-2.1.3.18185-0/src/remote/xdr.cpp
--- Firebird-2.1.3.18185-0/src/remote/xdr.cpp.s390x	2008-06-09 13:16:44.000000000 +0200
+++ Firebird-2.1.3.18185-0/src/remote/xdr.cpp	2010-03-26 00:27:41.000000000 +0100
@@ -45,7 +45,7 @@
 // ASF: Currently, all little-endian are SWAP_DOUBLE and big-endian aren't.
 #if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(ARM) || defined(MIPSEL) || defined(DARWIN64) || defined(IA64)
 #define		SWAP_DOUBLE
-#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(HPUX) || defined(MIPS) || defined(__ppc64__)
+#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(HPUX) || defined(MIPS) || defined(__ppc64__) || defined(S390) || defined(__s390__) || defined(S390X) || defined(__s390x__)
 #undef		SWAP_DOUBLE
 #else
 #error "Define SWAP_DOUBLE for your platform correctly !"