8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 21:23:04 +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 # 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 OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer -fno-builtin
WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable 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 SHRLIB_EXT=so
;; ;;
s390x-*-linux*) s390*-*-linux*)
MAKEFILE_PREFIX=linux_s390x MAKEFILE_PREFIX=linux_s390x
INSTALL_PREFIX=linux INSTALL_PREFIX=linux
PLATFORM=LINUX PLATFORM=LINUX

View File

@ -160,9 +160,13 @@
#define USE_POSIX_THREADS #define USE_POSIX_THREADS
#endif #endif
#ifdef S390X #ifdef __s390__
#ifdef __s390x__
#define IMPLEMENTATION isc_info_db_impl_linux_s390x // 78 #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 */ #endif /* LINUX */

View File

@ -209,6 +209,7 @@ enum info_db_implementations
isc_info_db_impl_darwin_ppc64 = 77, isc_info_db_impl_darwin_ppc64 = 77,
isc_info_db_impl_linux_s390x = 78, isc_info_db_impl_linux_s390x = 78,
isc_info_db_impl_linux_s390 = 79,
isc_info_db_impl_last_value // Leave this LAST! 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_LINUX_IA64 = 34; // LINUX/IA64
static const int CLASS_DARWIN_PPC64 = 35; // Darwin/PowerPC64 static const int CLASS_DARWIN_PPC64 = 35; // Darwin/PowerPC64
static const int CLASS_LINUX_S390X = 36; // LINUX/s390x 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_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 // ARCHITECTURE COMPATIBILITY CLASSES
@ -253,7 +254,8 @@ static const ArchitectureType archMatrix[CLASS_MAX + 1] =
archLittleEndian, // CLASS_LINUX_ARM archLittleEndian, // CLASS_LINUX_ARM
archLittleEndian, // CLASS_LINUX_IA64 archLittleEndian, // CLASS_LINUX_IA64
archBigEndian, // CLASS_DARWIN_PPC64 archBigEndian, // CLASS_DARWIN_PPC64
archBigEndian // CLASS_LINUX_S390X archBigEndian, // CLASS_LINUX_S390X
archBigEndian // CLASS_LINUX_S390
}; };
#ifdef __sun #ifdef __sun
@ -303,8 +305,12 @@ const SSHORT CLASS = CLASS_LINUX_MIPSEL;
const SSHORT CLASS = CLASS_LINUX_MIPS; const SSHORT CLASS = CLASS_LINUX_MIPS;
#elif defined(IA64) #elif defined(IA64)
const SSHORT CLASS = CLASS_LINUX_IA64; const SSHORT CLASS = CLASS_LINUX_IA64;
#elif defined(S390X) #elif defined(__s390__)
# if defined(__s390x__)
const SSHORT CLASS = CLASS_LINUX_S390X; const SSHORT CLASS = CLASS_LINUX_S390X;
# else
const SSHORT CLASS = CLASS_LINUX_S390;
# endif // defined(__s390x__)
#else #else
#error no support on other hardware for Linux #error no support on other hardware for Linux
#endif #endif

View File

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