mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 18:43:02 +01:00
Linux IA-64 port
This commit is contained in:
parent
bd938b07fb
commit
d5e481ba10
34
builds/posix/prefix.linux_ia64
Normal file
34
builds/posix/prefix.linux_ia64
Normal file
@ -0,0 +1,34 @@
|
||||
# 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)
|
||||
#
|
||||
# 2 Oct 2002, Nickolay Samofatov - Major cleanup
|
||||
|
||||
COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -DIA64 -pipe -MMD -fPIC -fmessage-length=0
|
||||
OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer
|
||||
WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable
|
||||
CXXFLAGS:= $(CXXFLAGS) -fno-rtti
|
||||
|
||||
PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS)
|
||||
DEV_FLAGS=$(COMMON_FLAGS) $(WARN_FLAGS)
|
||||
|
||||
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
|
13
configure.in
13
configure.in
@ -131,6 +131,19 @@ dnl CPU_TYPE=x86_64
|
||||
RPM64='()(64bit)'
|
||||
;;
|
||||
|
||||
ia64*-*-linux*)
|
||||
MAKEFILE_PREFIX=linux_ia64
|
||||
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
|
||||
libdir=/usr/lib
|
||||
CPU_TYPE=amd64
|
||||
RPM64='()(64bit)'
|
||||
;;
|
||||
|
||||
arm*-*-linux*)
|
||||
MAKEFILE_PREFIX=linux_arm
|
||||
INSTALL_PREFIX=linux
|
||||
|
@ -134,6 +134,11 @@
|
||||
#define IMPLEMENTATION isc_info_db_impl_linux_mips /* 72 */
|
||||
#endif /* mips */
|
||||
|
||||
#ifdef IA64
|
||||
#define IMPLEMENTATION isc_info_db_impl_linux_ia64 // 76
|
||||
#define RISC_ALIGNMENT
|
||||
#endif // IA64
|
||||
|
||||
#endif /* LINUX */
|
||||
|
||||
|
||||
|
@ -204,6 +204,7 @@ enum info_db_implementations
|
||||
isc_info_db_impl_sun_amd64 = 74,
|
||||
|
||||
isc_info_db_impl_linux_arm = 75,
|
||||
isc_info_db_impl_linux_ia64 = 76,
|
||||
|
||||
isc_info_db_impl_last_value /* Leave this LAST! */
|
||||
};
|
||||
|
@ -157,9 +157,10 @@ static const int CLASS_LINUX_MIPS = 30; // LINUX/MIPS
|
||||
static const int CLASS_DARWIN_X64 = 31; // Darwin/x64
|
||||
static const int CLASS_SOLARIS_AMD64 = 32; // Solaris/amd64
|
||||
static const int CLASS_LINUX_ARM = 33; // LINUX/ARM
|
||||
static const int CLASS_LINUX_IA64 = 34; // LINUX/IA64
|
||||
|
||||
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_ARM;
|
||||
static const int CLASS_MAX = CLASS_LINUX_IA64;
|
||||
|
||||
// ARCHITECTURE COMPATIBILITY CLASSES
|
||||
|
||||
@ -250,7 +251,8 @@ static const ArchitectureType archMatrix[CLASS_MAX + 1] =
|
||||
archBigEndian, // CLASS_LINUX_MIPS
|
||||
archLittleEndian, // CLASS_DARWIN_X64
|
||||
archLittleEndian, // CLASS_SOLARIS_AMD64
|
||||
archLittleEndian // CLASS_LINUX_ARM
|
||||
archLittleEndian, // CLASS_LINUX_ARM
|
||||
archLittleEndian // CLASS_LINUX_IA64
|
||||
};
|
||||
|
||||
#ifdef sun
|
||||
@ -302,6 +304,8 @@ const SSHORT CLASS = CLASS_LINUX_PPC;
|
||||
const SSHORT CLASS = CLASS_LINUX_MIPSEL;
|
||||
#elif defined(MIPS)
|
||||
const SSHORT CLASS = CLASS_LINUX_MIPS;
|
||||
#elif defined(IA64)
|
||||
const SSHORT CLASS = CLASS_LINUX_IA64;
|
||||
#else
|
||||
#error no support on other hardware for Linux
|
||||
#endif
|
||||
|
@ -214,7 +214,8 @@ static const TEXT* const impl_implementation[] = {
|
||||
"Firebird/linux MIPS", // 72
|
||||
"Firebird/Darwin/Intel64", // 73
|
||||
"Firebird/sun/amd64", // 74
|
||||
"Firebird/linux ARM" // 75
|
||||
"Firebird/linux ARM", // 75
|
||||
"Firebird/linux IA64" // 76
|
||||
};
|
||||
|
||||
|
||||
|
@ -35,10 +35,13 @@
|
||||
|
||||
// 30 Dec 2002. Nickolay Samofatov
|
||||
// This needs to be checked for all supported platforms
|
||||
// The simpliest way to check it is to issue
|
||||
// "select abs(2.0/3.0) from rdb$database" from correct client
|
||||
// The simpliest way to check it is to issue from correct client:
|
||||
// declare external function abs2 double precision
|
||||
// returns double precision by value
|
||||
// entry_point 'IB_UDF_abs' module_name 'ib_udf';
|
||||
// select abs2(2.0 / 3.0) from rdb$database;
|
||||
// It will return big strange value in case of invalid define
|
||||
#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(ARM) || defined(MIPSEL) || defined(DARWIN64)
|
||||
#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)
|
||||
#undef SWAP_DOUBLE
|
||||
|
Loading…
Reference in New Issue
Block a user