On 10/13/2016 09:38 PM, John Paul Adrian Glaubitz wrote: > On 10/13/2016 09:36 PM, Damyan Ivanov wrote: >>> PS: If you agree, I can NMU the fixed package using the patch I just >>> posted right away to fix the bug :). >> >> I'll upload soon (hours) anyway because of a fix for kfreebsd. > > Alright, thanks.
Oh, and could I ask you for an additional favor? Could please add the attached patch to add platform support for Linux/m68k? I would highly appreciate that! Thanks, Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Description: Add platform support for Linux/m68k Author: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> --- firebird3.0-3.0.1.32609.ds4.orig/configure.ac +++ firebird3.0-3.0.1.32609.ds4/configure.ac @@ -361,6 +361,17 @@ dnl CPU_TYPE=ppc64 SHRLIB_EXT=so ;; + m68k*-*-linux*) + MAKEFILE_PREFIX=linux_generic + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + AC_DEFINE(M68K, 1, [Define this if CPU is M68k]) + LOCK_MANAGER_FLG=Y + EDITLINE_FLG=Y + SHRLIB_EXT=so + ;; + *-*-linux* | *-*-gnu*) MAKEFILE_PREFIX=linux_generic INSTALL_PREFIX=linux @@ -997,10 +1008,11 @@ AC_CHECK_MEMBER([struct dirent.d_type], dnl EKU: try to determine the alignment of long and double dnl replaces FB_ALIGNMENT and FB_DOUBLE_ALIGN in src/jrd/common.h AC_MSG_CHECKING(alignment of long) -AC_RUN_IFELSE([AC_LANG_SOURCE([[main () { +AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h> +main () { struct s { char a; - long long b; + union { long long x; sem_t y; } b; }; exit((int)&((struct s*)0)->b); }]])],[ac_cv_c_alignment=$ac_status],[ac_cv_c_alignment=$ac_status],[]) --- firebird3.0-3.0.1.32609.ds4.orig/src/common/classes/DbImplementation.cpp +++ firebird3.0-3.0.1.32609.ds4/src/common/classes/DbImplementation.cpp @@ -48,6 +48,7 @@ static const UCHAR CpuHppa = 13; static const UCHAR CpuAlpha = 14; static const UCHAR CpuArm64 = 15; static const UCHAR CpuPowerPc64el = 16; +static const UCHAR CpuM68k = 17; static const UCHAR OsWindows = 0; static const UCHAR OsLinux = 1; @@ -87,7 +88,8 @@ const char* hardware[] = { "HPPA", "Alpha", "ARM64", - "PowerPC64el" + "PowerPC64el", + "M68k" }; const char* operatingSystem[] = { @@ -128,8 +130,8 @@ const UCHAR backwardTable[FB_NELEM(hardw const UCHAR backEndianess[FB_NELEM(hardware)] = { -// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PowerPC64el - 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0 +// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PowerPC64el M68k + 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1 }; } // anonymous namespace --- firebird3.0-3.0.1.32609.ds4.orig/src/common/common.h +++ firebird3.0-3.0.1.32609.ds4/src/common/common.h @@ -195,6 +195,10 @@ #define FB_CPU CpuPowerPc64 #endif /* PPC64 */ +#ifdef M68K +#define FB_CPU CpuM68k +#endif /* M68K */ + #endif /* LINUX */ --- firebird3.0-3.0.1.32609.ds4.orig/src/jrd/inf_pub.h +++ firebird3.0-3.0.1.32609.ds4/src/jrd/inf_pub.h @@ -241,6 +241,7 @@ enum info_db_implementations isc_info_db_impl_linux_arm64 = 84, isc_info_db_impl_linux_ppc64el = 85, isc_info_db_impl_linux_ppc64 = 86, + isc_info_db_impl_linux_m68k = 87, isc_info_db_impl_last_value // Leave this LAST!
signature.asc
Description: OpenPGP digital signature