Package: firebird2.0 Version: 2.0.3.12981.ds1-13 Severity: serious Tags: patch
firebird fails to build on mips (and presumably will fail on arm) because fbsvcmgr is an invalid make target. I attached updates of port-arm.patch and port-mips.patch. For reference I appended also the interdiff between old and new patches. Thiemo diff -u 2.0/builds/posix/prefix.linux_arm 2.0/builds/posix/prefix.linux_arm --- 2.0/builds/posix/prefix.linux_arm 2008-05-02 00:13:57.000000000 +0300 +++ 2.0/builds/posix/prefix.linux_arm 2008-05-02 00:13:57.000000000 +0300 @@ -35,8 +35,8 @@ #LIB_LINK_RPATH:=-Wl,-rpath, #LIB_LINK_SONAME:=-Wl,-soname, -EMBED_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print fbsvcmgr -CLIENT_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print fbguard fbmgr_bin fbsvcmgr +EMBED_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print +CLIENT_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print fbguard fbmgr_bin Physical_IO_Module=unix.cpp diff -u 2.0/builds/posix/prefix.linux_mips 2.0/builds/posix/prefix.linux_mips --- 2.0/builds/posix/prefix.linux_mips 2008-04-09 18:48:11.000000000 +0300 +++ 2.0/builds/posix/prefix.linux_mips 2008-04-09 18:48:11.000000000 +0300 @@ -9,6 +9,6 @@ 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 +EMBED_UTIL_TARGETS=gstat gds_drop gsec nbackup fb_lock_print +CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print Physical_IO_Module=os/posix/unix.cpp
Index: 2.0/builds/posix/prefix.linux_arm =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ 2.0/builds/posix/prefix.linux_arm 2008-05-02 00:13:57.000000000 +0300 @@ -0,0 +1,42 @@ +# 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) +# +# $Id: prefix.linux_arm,v 1.1.2.1 2008/04/15 14:11:33 alexpeshkoff Exp $ +# +# 14 Apr 2008 Alan Barclay alan AT escribe.co.uk + + [EMAIL PROTECTED]@ + +#PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DNDEBUG -DLINUX -pipe -MMD -fPIC +#DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall -Wno-switch + +PROD_FLAGS=-O3 -DNDEBUG -DLINUX -DARM -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0 +DEV_FLAGS=-ggdb -DLINUX -DARM -pipe -p -MMD -fPIC -Wall -fsigned-char -fmessage-length=0 + +OS_ServerFiles=inet_server.cpp + +#LIB_LINK_OPTIONS:=-shared +#LIB_LINK_RPATH:=-Wl,-rpath, +#LIB_LINK_SONAME:=-Wl,-soname, + +EMBED_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print +CLIENT_UTIL_TARGETS=gstat gds_drop gds_relay gsec nbackup fb_lock_print fbguard fbmgr_bin + +Physical_IO_Module=unix.cpp + Index: 2.0/configure.in =================================================================== --- 2.0.orig/configure.in 2008-05-02 00:13:36.000000000 +0300 +++ 2.0/configure.in 2008-05-02 00:13:57.000000000 +0300 @@ -115,6 +115,16 @@ CPU_TYPE=amd64 ;; + arm*-*-linux*) + MAKEFILE_PREFIX=linux_arm + 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 + ;; + sparc*-*-linux* | sparc*-*-gnu* | sparc*-*-k*bsd*-gnu) MAKEFILE_PREFIX=linux_sparc32 INSTALL_PREFIX=linux Index: 2.0/src/jrd/common.h =================================================================== --- 2.0.orig/src/jrd/common.h 2008-05-02 00:13:36.000000000 +0300 +++ 2.0/src/jrd/common.h 2008-05-02 00:13:57.000000000 +0300 @@ -134,6 +134,10 @@ #define IMPLEMENTATION isc_info_db_impl_i386 /* 60 next higher unique number, See you later */ #endif /* i386 */ +#ifdef ARM +#define IMPLEMENTATION isc_info_db_impl_linux_arm +#endif /* ARM */ + #ifdef sparc #define IMPLEMENTATION isc_info_db_impl_linux_sparc /* 65 */ #endif /* sparc */ Index: 2.0/src/jrd/inf_pub.h =================================================================== --- 2.0.orig/src/jrd/inf_pub.h 2008-05-02 00:13:36.000000000 +0300 +++ 2.0/src/jrd/inf_pub.h 2008-05-02 00:17:17.000000000 +0300 @@ -197,6 +197,10 @@ isc_info_db_impl_darwin_x86 = 70, isc_info_db_impl_linux_mipsel = 71, isc_info_db_impl_linux_mips = 72, + isc_info_db_impl_darwin_x64 = 73, + isc_info_db_impl_sun_amd64 = 74, + + isc_info_db_impl_linux_arm = 75, isc_info_db_impl_last_value /* Leave this LAST! */ }; Index: 2.0/src/jrd/pag.cpp =================================================================== --- 2.0.orig/src/jrd/pag.cpp 2008-05-02 00:13:36.000000000 +0300 +++ 2.0/src/jrd/pag.cpp 2008-05-02 00:16:00.000000000 +0300 @@ -142,8 +142,12 @@ static const int CLASS_DARWIN_I386 = 28; //Darwin/Intel static const int CLASS_LINUX_MIPSEL = 29; // LINUX/MIPSEL 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_MAX10 = CLASS_LINUX_AMD64; // This should not be changed, no new ports with ODS10 -static const int CLASS_MAX = CLASS_LINUX_MIPS; +static const int CLASS_MAX = CLASS_LINUX_ARM; // ARCHITECTURE COMPATIBILITY CLASSES @@ -229,7 +233,10 @@ archBigEndian, // CLASS_LINUX_PPC archLittleEndian, // CLASS_DARWIN_I386 archLittleEndian, // CLASS_LINUX_MIPSEL - archBigEndian // CLASS_LINUX_MIPS + archBigEndian, // CLASS_LINUX_MIPS + archLittleEndian, // CLASS_DARWIN_X64 + archLittleEndian, // CLASS_SOLARIS_AMD64 + archLittleEndian // CLASS_LINUX_ARM }; #ifdef sun @@ -274,6 +281,9 @@ #ifdef sparc const SSHORT CLASS = CLASS_LINUX_SPARC; #endif +#ifdef ARM +const SSHORT CLASS = CLASS_LINUX_ARM; +#endif #ifdef PPC const SSHORT CLASS = CLASS_LINUX_PPC; #endif Index: 2.0/src/jrd/utl.cpp =================================================================== --- 2.0.orig/src/jrd/utl.cpp 2008-05-02 00:13:36.000000000 +0300 +++ 2.0/src/jrd/utl.cpp 2008-05-02 00:18:29.000000000 +0300 @@ -238,7 +238,10 @@ "Firebird/linux PowerPC", /* 69 */ "Firebird/Darwin/Intel", /* 70 */ "Firebird/linux MIPSEL", /* 71 */ - "Firebird/linux MIPS" /* 72 */ + "Firebird/linux MIPS", /* 72 */ + "Firebird/Darwin/Intel64", /* 73 */ + "Firebird/sun/amd64", /* 74 */ + "Firebird/linux ARM" /* 75 */ }; Index: 2.0/src/remote/xdr.cpp =================================================================== --- 2.0.orig/src/remote/xdr.cpp 2008-05-02 00:13:36.000000000 +0300 +++ 2.0/src/remote/xdr.cpp 2008-05-02 00:13:57.000000000 +0300 @@ -39,7 +39,7 @@ // The simpliest way to check it is to issue // "select abs(2.0/3.0) from rdb$database" from correct client // It will return big strange value in case of invalid define -#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(MIPSEL) +#if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(ARM) || defined(MIPSEL) #define SWAP_DOUBLE #elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(MIPSEB) #undef SWAP_DOUBLE
Index: 2.0/builds/posix/prefix.linux_mips =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ 2.0/builds/posix/prefix.linux_mips 2008-04-09 18:48:11.000000000 +0300 @@ -0,0 +1,14 @@ +COMMON_FLAGS=-ggdb -DFB_SEND_FLAGS=MSG_NOSIGNAL -DLINUX -pipe -MMD -fPIC -fmessage-length=0 +OPTIMIZE_FLAGS=-O3 -fno-omit-frame-pointer -fno-builtin +WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable + +PROD_FLAGS=-DNDEBUG $(COMMON_FLAGS) $(OPTIMIZE_FLAGS) +DEV_FLAGS=-DUSE_VALGRIND -p $(COMMON_FLAGS) $(WARN_FLAGS) +#DEV_FLAGS=-p $(COMMON_FLAGS) $(WARN_FLAGS) + +OS_ServerFiles=inet_server.cpp + +EMBED_UTIL_TARGETS=gstat gds_drop gsec nbackup fb_lock_print +CLIENT_UTIL_TARGETS=gds_drop gstat gsec fbguard fbmgr_bin nbackup fb_lock_print + +Physical_IO_Module=os/posix/unix.cpp Index: 2.0/configure.in =================================================================== --- 2.0.orig/configure.in 2008-04-09 18:48:11.000000000 +0300 +++ 2.0/configure.in 2008-04-09 18:48:11.000000000 +0300 @@ -79,6 +79,18 @@ SHRLIB_EXT=so ;; + mips-*-linux*) + MAKEFILE_PREFIX=linux_mips + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX) + LOCK_MANAGER_FLG=Y + EDITLINE_FLG=Y + SHRLIB_EXT=so + PTHREAD_CFLAGS=-pthread + PTHREAD_LIBS=-lpthread + ;; + mipsel-*-linux*) MAKEFILE_PREFIX=linux_mipsel INSTALL_PREFIX=linux Index: 2.0/src/jrd/common.h =================================================================== --- 2.0.orig/src/jrd/common.h 2008-04-09 18:48:11.000000000 +0300 +++ 2.0/src/jrd/common.h 2008-04-09 18:48:11.000000000 +0300 @@ -142,6 +142,10 @@ #define IMPLEMENTATION isc_info_db_impl_linux_mipsel /* 70 */ #endif /* mipsel */ +#ifdef MIPSEB +#define IMPLEMENTATION isc_info_db_impl_linux_mips /* 72 */ +#endif /* mips */ + #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)) Index: 2.0/src/jrd/inf_pub.h =================================================================== --- 2.0.orig/src/jrd/inf_pub.h 2008-04-09 18:48:11.000000000 +0300 +++ 2.0/src/jrd/inf_pub.h 2008-04-09 18:48:11.000000000 +0300 @@ -196,6 +196,7 @@ isc_info_db_impl_linux_ppc = 69, isc_info_db_impl_darwin_x86 = 70, isc_info_db_impl_linux_mipsel = 71, + isc_info_db_impl_linux_mips = 72, isc_info_db_impl_last_value /* Leave this LAST! */ }; Index: 2.0/src/jrd/pag.cpp =================================================================== --- 2.0.orig/src/jrd/pag.cpp 2008-04-09 18:48:11.000000000 +0300 +++ 2.0/src/jrd/pag.cpp 2008-04-09 18:48:11.000000000 +0300 @@ -140,9 +140,10 @@ //static const int CLASS_WINDOWS_AMD64 = 26;// Windows/amd64 - not ported yet static const int CLASS_LINUX_PPC = 27; // LINUX/PowerPC static const int CLASS_DARWIN_I386 = 28; //Darwin/Intel -static const int CLASS_LINUX_MIPSEL = 29; // LINUX/MIPS +static const int CLASS_LINUX_MIPSEL = 29; // LINUX/MIPSEL +static const int CLASS_LINUX_MIPS = 30; // LINUX/MIPS 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_MIPSEL; +static const int CLASS_MAX = CLASS_LINUX_MIPS; // ARCHITECTURE COMPATIBILITY CLASSES @@ -227,7 +228,8 @@ archLittleEndian, // CLASS_WINDOWS_AMD64 archBigEndian, // CLASS_LINUX_PPC archLittleEndian, // CLASS_DARWIN_I386 - archLittleEndian // CLASS_LINUX_MIPSEL + archLittleEndian, // CLASS_LINUX_MIPSEL + archBigEndian // CLASS_LINUX_MIPS }; #ifdef sun @@ -278,6 +280,9 @@ #ifdef MIPSEL const SSHORT CLASS = CLASS_LINUX_MIPSEL; #endif +#ifdef MIPSEB +const SSHORT CLASS = CLASS_LINUX_MIPS; +#endif #endif #ifdef FREEBSD Index: 2.0/src/jrd/utl.cpp =================================================================== --- 2.0.orig/src/jrd/utl.cpp 2008-04-09 18:48:11.000000000 +0300 +++ 2.0/src/jrd/utl.cpp 2008-04-09 18:48:11.000000000 +0300 @@ -237,7 +237,8 @@ NULL, // "Firebird/x86-64/Windows NT", /* 68 */ //Windows/amd64 - not ported yet "Firebird/linux PowerPC", /* 69 */ "Firebird/Darwin/Intel", /* 70 */ - "Firebird/linux MIPSEL" /* 71 */ + "Firebird/linux MIPSEL", /* 71 */ + "Firebird/linux MIPS" /* 72 */ }; Index: 2.0/src/remote/xdr.cpp =================================================================== --- 2.0.orig/src/remote/xdr.cpp 2008-04-09 18:48:11.000000000 +0300 +++ 2.0/src/remote/xdr.cpp 2008-04-09 18:49:24.000000000 +0300 @@ -41,7 +41,7 @@ // It will return big strange value in case of invalid define #if defined(i386) || defined(I386) || defined(_M_IX86) || defined(AMD64) || defined(MIPSEL) #define SWAP_DOUBLE -#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) +#elif defined(sparc) || defined(PowerPC) || defined(PPC) || defined(__ppc__) || defined(MIPSEB) #undef SWAP_DOUBLE #else #error "Define SWAP_DOUBLE for your platform correctly !"