diff --git a/builds/posix/prefix.linux_s390x b/builds/posix/prefix.linux_s390x index 5c89c49e49..d1140dd9a1 100644 --- a/builds/posix/prefix.linux_s390x +++ b/builds/posix/prefix.linux_s390x @@ -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 diff --git a/configure.in b/configure.in index c3c7da837f..ab61554e29 100644 --- a/configure.in +++ b/configure.in @@ -221,7 +221,7 @@ dnl CPU_TYPE=ppc64 SHRLIB_EXT=so ;; - s390x-*-linux*) + s390*-*-linux*) MAKEFILE_PREFIX=linux_s390x INSTALL_PREFIX=linux PLATFORM=LINUX diff --git a/src/jrd/common.h b/src/jrd/common.h index 9e9b45d04b..31f853783b 100644 --- a/src/jrd/common.h +++ b/src/jrd/common.h @@ -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 */ diff --git a/src/jrd/inf_pub.h b/src/jrd/inf_pub.h index fda08c7ebf..73b73f8133 100644 --- a/src/jrd/inf_pub.h +++ b/src/jrd/inf_pub.h @@ -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! }; diff --git a/src/jrd/pag.cpp b/src/jrd/pag.cpp index a9bdc223b5..77272cc9a0 100644 --- a/src/jrd/pag.cpp +++ b/src/jrd/pag.cpp @@ -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 diff --git a/src/jrd/utl.cpp b/src/jrd/utl.cpp index 4f5cdb70bc..2d4d9c5625 100644 --- a/src/jrd/utl.cpp +++ b/src/jrd/utl.cpp @@ -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 };