8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 16:03:03 +01:00

Impovement CORE-2625: Port to s390 (32-bit), patch from Damyan Ivanov

This commit is contained in:
alexpeshkoff 2009-09-18 13:08:47 +00:00
parent 93f7da270f
commit 2ca82515cd
6 changed files with 20 additions and 8 deletions

View File

@ -18,7 +18,7 @@
#
# 2 Oct 2002, Nickolay Samofatov - Major cleanup
COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DS390X -pipe -MMD -fPIC -fmessage-length=0 -fsigned-char
COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0 -fsigned-char
OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer -fno-builtin
WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable

View File

@ -221,7 +221,7 @@ dnl CPU_TYPE=ppc64
SHRLIB_EXT=so
;;
s390x-*-linux*)
s390*-*-linux*)
MAKEFILE_PREFIX=linux_s390x
INSTALL_PREFIX=linux
PLATFORM=LINUX

View File

@ -160,9 +160,13 @@
#define USE_POSIX_THREADS
#endif
#ifdef S390X
#ifdef __s390__
#ifdef __s390x__
#define IMPLEMENTATION isc_info_db_impl_linux_s390x // 78
#endif // S390X
#else
#define IMPLEMENTATION isc_info_db_impl_linux_s390 // 79
#endif // __s390x__
#endif // __s360__
#endif /* LINUX */

View File

@ -209,6 +209,7 @@ enum info_db_implementations
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!
};

View File

@ -157,9 +157,10 @@ 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_LINUX_S390X;
static const int CLASS_MAX = CLASS_LINUX_S390;
// ARCHITECTURE COMPATIBILITY CLASSES
@ -253,7 +254,8 @@ static const ArchitectureType archMatrix[CLASS_MAX + 1] =
archLittleEndian, // CLASS_LINUX_ARM
archLittleEndian, // CLASS_LINUX_IA64
archBigEndian, // CLASS_DARWIN_PPC64
archBigEndian // CLASS_LINUX_S390X
archBigEndian, // CLASS_LINUX_S390X
archBigEndian // CLASS_LINUX_S390
};
#ifdef __sun
@ -303,8 +305,12 @@ const SSHORT CLASS = CLASS_LINUX_MIPSEL;
const SSHORT CLASS = CLASS_LINUX_MIPS;
#elif defined(IA64)
const SSHORT CLASS = CLASS_LINUX_IA64;
#elif defined(S390X)
#elif defined(__s390__)
# if defined(__s390x__)
const SSHORT CLASS = CLASS_LINUX_S390X;
# else
const SSHORT CLASS = CLASS_LINUX_S390;
# endif // defined(__s390x__)
#else
#error no support on other hardware for Linux
#endif

View File

@ -222,7 +222,8 @@ static const TEXT* const impl_implementation[] =
"Firebird/linux ARM", // 75
"Firebird/linux IA64", // 76
"Firebird/Darwin/PowerPC64", // 77
"Firebird/linux s390x" // 78
"Firebird/linux s390x", // 78
"Firebird/linux s390" // 79
};