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

Reply via email to