2018-04-09 02:02 Manuel A. Fernandez Montecelo:
It needs some modifications (file attached) to be applied in the current version of this package in unstable: + removed hunk fixing typo in "encyption", fixed separately (in another patch of the series applied to the package in Debian) + removed extra tab in the second line after "backEndianess" (there are only two tabs before the last character, a '1' in the line; in the patch from upstream there are 3, so lines don't match) + fixed whitespace in the hunk for configure.ac + refresh
The patch needs more things, in particular builds/posix/prefix.linux_riscv64, which exists for other architectures but the upstream patch doesn't include. Attached this latest version.
The build didn't finish yet, we will confirm later when it works, or will send further fixes.
In the end the build failed: ======================================================================= In file included from /<<PKGBUILDDIR>>/src/yvalve/../yvalve/../yvalve/../common/StatusHolder.h:36:0, from /<<PKGBUILDDIR>>/src/yvalve/../yvalve/../yvalve/YObjects.h:32, from /<<PKGBUILDDIR>>/src/yvalve/../yvalve/DistributedTransaction.h:32, from /<<PKGBUILDDIR>>/src/yvalve/DistributedTransaction.cpp:31: /<<PKGBUILDDIR>>/src/yvalve/../yvalve/../yvalve/../common/../common/DynamicStrings.h:37:95: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] unsigned makeDynamicStrings(unsigned len, ISC_STATUS* const dst, const ISC_STATUS* const src) throw(BadAlloc); ^~~~~ /<<PKGBUILDDIR>>/gen/Release/firebird/bin/gpre_current -m -z -n /<<PKGBUILDDIR>>/src/yvalve/blob.epp /<<PKGBUILDDIR>>/temp/Release/yvalve/blob.cpp gpre version LI-V3.0.3.32900 Firebird 3.0 free(): invalid size make[4]: *** [make.rules:85: /<<PKGBUILDDIR>>/temp/Release/yvalve/blob.cpp] Aborted make[4]: *** Deleting file '/<<PKGBUILDDIR>>/temp/Release/yvalve/blob.cpp' ======================================================================= So this will need more work, but please keep the bug open so either myself or other people can investigate. -- Manuel A. Fernandez Montecelo <manuel.montez...@gmail.com>
Based on patch: From 1e8e7858db84750a77006d307bf28e9686f9414e Mon Sep 17 00:00:00 2001 From: AlexPeshkoff <alexander.peshk...@gmail.com> Date: Wed, 21 Mar 2018 15:19:20 +0300 Subject: [PATCH] Patch for CORE-5779: support for riscv64, also some code fixes related with prior ports --- configure.ac | 12 ++++++++++++ src/common/classes/DbImplementation.cpp | 29 ++++++++++++++++------------- src/common/common.h | 4 ++++ src/include/gen/msgs.h | 2 +- src/jrd/inf_pub.h | 2 +- 5 files changed, 34 insertions(+), 15 deletions(-) --- a/configure.ac +++ b/configure.ac @@ -251,6 +251,18 @@ libdir=/usr/lib64 ;; + riscv64*-*-linux*) + MAKEFILE_PREFIX=linux_riscv64 + INSTALL_PREFIX=linux + PLATFORM=LINUX + AC_DEFINE(LINUX, 1, [Define this if OS is Linux]) + EDITLINE_FLG=Y + SHRLIB_EXT=so + STD_EDITLINE=true + STD_ICU=true + libdir=/usr/lib64 + ;; + powerpc64le-*-linux*) MAKEFILE_PREFIX=linux_powerpc64el INSTALL_PREFIX=linux --- a/src/common/classes/DbImplementation.cpp +++ b/src/common/classes/DbImplementation.cpp @@ -49,6 +49,7 @@ static const UCHAR CpuArm64 = 15; static const UCHAR CpuPowerPc64el = 16; static const UCHAR CpuM68k = 17; +static const UCHAR CpuRiscV64 = 18; static const UCHAR OsWindows = 0; static const UCHAR OsLinux = 1; @@ -89,7 +90,8 @@ "Alpha", "ARM64", "PowerPC64el", - "M68k" + "M68k", + "RiscV64" }; const char* operatingSystem[] = { @@ -116,22 +118,23 @@ // This table lists pre-fb3 implementation codes const UCHAR backwardTable[FB_NELEM(hardware) * FB_NELEM(operatingSystem)] = { -// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PowerPC64el -/* Windows */ 50, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* Linux */ 60, 66, 65, 69, 86, 71, 72, 75, 76, 79, 78, 80, 81, 82, 83, 84, 85, -/* Darwin */ 70, 73, 0, 63, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* Solaris */ 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* HPUX */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, -/* AIX */ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* MVS */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* FreeBSD */ 61, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* NetBSD */ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PPC64el M68k RiscV64 +/* Windows */ 50, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* Linux */ 60, 66, 65, 69, 86, 71, 72, 75, 76, 79, 78, 80, 81, 82, 83, 84, 85, 87, 88, +/* Darwin */ 70, 73, 0, 63, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* Solaris */ 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* HPUX */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, +/* AIX */ 0, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* MVS */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* FreeBSD */ 61, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* NetBSD */ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + const UCHAR backEndianess[FB_NELEM(hardware)] = { -// 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 +// Intel AMD Sparc PPC PPC64 MIPSEL MIPS ARM IA64 s390 s390x SH SHEB HPPA Alpha ARM64 PPC64el M68k RiscV64 + 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, }; } // anonymous namespace --- a/src/common/common.h +++ b/src/common/common.h @@ -135,6 +135,10 @@ #define FB_CPU CpuArm64 #endif /* ARM64 */ +#ifdef RISCV64 +#define FB_CPU CpuRiscV64 +#endif /* RISCV64 */ + #ifdef sparc #define FB_CPU CpuUltraSparc #define RISC_ALIGNMENT --- a/src/jrd/inf_pub.h +++ b/src/jrd/inf_pub.h @@ -245,7 +245,7 @@ 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_linux_riscv64 = 88, isc_info_db_impl_last_value // Leave this LAST! }; --- /dev/null +++ b/builds/posix/prefix.linux_riscv64 @@ -0,0 +1,27 @@ +# 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) +# 14 Apr 2008 Alan Barclay alan AT escribe.co.uk + + +#LD=@CXX@ + +#PROD_FLAGS=-ggdb -O3 -fno-omit-frame-pointer -DLINUX -pipe -MMD -fPIC +#DEV_FLAGS=-ggdb -DLINUX -DDEBUG_GDS_ALLOC -pipe -MMD -p -fPIC -Wall -Wno-switch + +PROD_FLAGS=-O3 -DLINUX -DRISCV64 -pipe -p -MMD -fPIC -fsigned-char -fmessage-length=0 +DEV_FLAGS=-ggdb -DLINUX -DRISCV64 -pipe -p -MMD -fPIC -Wall -fsigned-char -fmessage-length=0 -Wno-non-virtual-dtor