Compare commits
15 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a0b414e243 | ||
|
|
c03a78c45f | ||
|
|
8da73c55a2 | ||
|
|
d1ebf2fa53 | ||
|
|
b71ce9f6c7 | ||
|
|
ecade571d6 | ||
|
|
4ea5c8b69f | ||
|
|
4c04d2ce89 | ||
|
|
c542988b4a | ||
|
|
69ed1e549a | ||
|
|
68b0f5a770 | ||
|
|
ecd3f56b71 | ||
|
|
1b10324af9 | ||
|
|
e6c21ca3dc | ||
|
|
0317584ffe |
4 changed files with 21435 additions and 8 deletions
134
0001-Port-to-RISC-V-64-bit-riscv64.patch
Normal file
134
0001-Port-to-RISC-V-64-bit-riscv64.patch
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
diff -urN Firebird-3.0.3.32900-0.old/builds/posix/prefix.linux_riscv64 Firebird-3.0.3.32900-0/builds/posix/prefix.linux_riscv64
|
||||
--- Firebird-3.0.3.32900-0.old/builds/posix/prefix.linux_riscv64 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ Firebird-3.0.3.32900-0/builds/posix/prefix.linux_riscv64 2018-03-19 08:56:57.254118156 +0000
|
||||
@@ -0,0 +1,26 @@
|
||||
+# 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)
|
||||
+#
|
||||
+# Richard W.M. Jones, Red Hat Inc.
|
||||
+
|
||||
+WARN_FLAGS=-Wall -Wno-switch -Wno-parentheses -Wno-unknown-pragmas -Wno-unused-variable -Wno-invalid-offsetof -Wno-narrowing -Wno-unused-local-typedefs
|
||||
+
|
||||
+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 $(WARN_FLAGS)
|
||||
+
|
||||
+CXXFLAGS := $(CXXFLAGS) -std=c++11
|
||||
diff -urN Firebird-3.0.3.32900-0.old/configure.ac Firebird-3.0.3.32900-0/configure.ac
|
||||
--- Firebird-3.0.3.32900-0.old/configure.ac 2018-03-19 08:56:23.222156918 +0000
|
||||
+++ Firebird-3.0.3.32900-0/configure.ac 2018-03-19 08:56:57.254118156 +0000
|
||||
@@ -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
|
||||
diff -urN Firebird-3.0.3.32900-0.old/src/common/classes/DbImplementation.cpp Firebird-3.0.3.32900-0/src/common/classes/DbImplementation.cpp
|
||||
--- Firebird-3.0.3.32900-0.old/src/common/classes/DbImplementation.cpp 2018-02-02 11:00:35.000000000 +0000
|
||||
+++ Firebird-3.0.3.32900-0/src/common/classes/DbImplementation.cpp 2018-03-19 08:56:57.254118156 +0000
|
||||
@@ -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,22 @@
|
||||
// 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 PowerPC64el RiscV64
|
||||
+/* Windows */ 50, 68, 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, 88,
|
||||
+/* Darwin */ 70, 73, 0, 63, 77, 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,
|
||||
+/* HPUX */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
|
||||
+/* AIX */ 0, 0, 0, 35, 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,
|
||||
+/* FreeBSD */ 61, 67, 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
|
||||
};
|
||||
|
||||
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 PowerPC64el M68k RiscV64
|
||||
+ 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0,
|
||||
};
|
||||
|
||||
} // anonymous namespace
|
||||
diff -urN Firebird-3.0.3.32900-0.old/src/common/common.h Firebird-3.0.3.32900-0/src/common/common.h
|
||||
--- Firebird-3.0.3.32900-0.old/src/common/common.h 2018-03-19 08:56:23.377156741 +0000
|
||||
+++ Firebird-3.0.3.32900-0/src/common/common.h 2018-03-19 08:56:57.255118154 +0000
|
||||
@@ -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
|
||||
diff -urN Firebird-3.0.3.32900-0.old/src/jrd/inf_pub.h Firebird-3.0.3.32900-0/src/jrd/inf_pub.h
|
||||
--- Firebird-3.0.3.32900-0.old/src/jrd/inf_pub.h 2018-02-02 11:00:36.000000000 +0000
|
||||
+++ Firebird-3.0.3.32900-0/src/jrd/inf_pub.h 2018-03-19 08:56:57.255118154 +0000
|
||||
@@ -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!
|
||||
};
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
Name: firebird
|
||||
Version: %{upversion}
|
||||
Release: 1%{?dist}
|
||||
Release: 1.1%{?dist}
|
||||
|
||||
Summary: SQL relational database management system
|
||||
# Automatically converted from old format: Interbase - review is highly recommended.
|
||||
|
|
@ -58,6 +58,8 @@ BuildRequires: sed
|
|||
|
||||
Requires(postun): /usr/sbin/userdel
|
||||
Requires(postun): /usr/sbin/groupdel
|
||||
Requires(pre): /usr/sbin/groupadd
|
||||
Requires(pre): /usr/sbin/useradd
|
||||
Recommends: logrotate
|
||||
Requires: libfbclient2 = %{version}-%{release}
|
||||
Requires: libib-util = %{version}-%{release}
|
||||
|
|
@ -201,11 +203,6 @@ in production systems, under a variety of names, since 1981.
|
|||
%patch -P401 -p1
|
||||
%patch -P501 -p1
|
||||
|
||||
# Create a sysusers.d config file
|
||||
cat >firebird.sysusers.conf <<EOF
|
||||
u firebird - - - -
|
||||
EOF
|
||||
|
||||
|
||||
%build
|
||||
%ifarch s390x
|
||||
|
|
@ -243,7 +240,6 @@ chmod u+rw,a+rx gen/buildroot/%{_includedir}/firebird/impl
|
|||
cp -r gen/buildroot/* ${RPM_BUILD_ROOT}/
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig
|
||||
cp -v gen/install/misc/*.pc ${RPM_BUILD_ROOT}%{_libdir}/pkgconfig/
|
||||
install -m0644 -D firebird.sysusers.conf %{buildroot}%{_sysusersdir}/firebird.conf
|
||||
|
||||
cd ${RPM_BUILD_ROOT}
|
||||
rm -vf .%{_sbindir}/*.sh
|
||||
|
|
@ -273,6 +269,10 @@ cp -f %{SOURCE3} .%{_unitdir}/%{name}.service
|
|||
|
||||
|
||||
%pre
|
||||
# Create the firebird group if it doesn't exist
|
||||
getent group %{name} > /dev/null || /usr/sbin/groupadd -r %{name}
|
||||
getent passwd %{name} >/dev/null || /usr/sbin/useradd -d / -g %{name} -s /sbin/nologin -r %{name}
|
||||
|
||||
# Add gds_db to /etc/services if needed
|
||||
FileName=/etc/services
|
||||
newLine="gds_db 3050/tcp # Firebird SQL Database Remote Protocol"
|
||||
|
|
@ -327,7 +327,6 @@ fi
|
|||
%config(noreplace) %attr(0644,root,root) %{_sysconfdir}/logrotate.d/%{name}
|
||||
|
||||
%attr(0644,root,root) %{_unitdir}/%{name}.service
|
||||
%{_sysusersdir}/firebird.conf
|
||||
|
||||
|
||||
%files devel
|
||||
|
|
@ -376,6 +375,9 @@ fi
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu Sep 25 2025 Gwyn Ciesla <gwync@protonmail.com> - 4.0.6.3221-1.1
|
||||
- revert sysusers commit
|
||||
|
||||
* Thu Sep 25 2025 Gwyn Ciesla <gwync@protonmail.com> - 4.0.6.3221-1
|
||||
- 4.0.6.3221
|
||||
|
||||
|
|
|
|||
36
fix_build_on_big_endian_platforms.patch
Normal file
36
fix_build_on_big_endian_platforms.patch
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
From cd0682bc55eb01d53278d09edc1e9e2e9bfb9983 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
|
||||
Date: Fri, 11 Jun 2021 12:39:31 +0200
|
||||
Subject: [PATCH] fix build on big endian platforms (#6852)
|
||||
|
||||
* fix missing declaration of type_alignments[] for big endian platforms
|
||||
* add missing definition of lwp for big endian platforms
|
||||
---
|
||||
src/jrd/sort.cpp | 1 +
|
||||
src/jrd/sort.h | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/jrd/sort.cpp b/src/jrd/sort.cpp
|
||||
index 37f5f816407..77ca69c2536 100644
|
||||
--- a/src/jrd/sort.cpp
|
||||
+++ b/src/jrd/sort.cpp
|
||||
@@ -713,6 +713,7 @@ void Sort::diddleKey(UCHAR* record, bool direction, bool duplicateHandling)
|
||||
for (sort_key_def* key = m_description.begin(), *end = m_description.end(); key < end; key++)
|
||||
{
|
||||
UCHAR* p = record + key->getSkdOffset();
|
||||
+ SORTP* lwp = (SORTP*) p;
|
||||
USHORT n = key->getSkdLength();
|
||||
USHORT complement = key->skd_flags & SKD_descending;
|
||||
|
||||
diff --git a/src/jrd/sort.h b/src/jrd/sort.h
|
||||
index 8e23e70ccc5..e3bbbb7779c 100644
|
||||
--- a/src/jrd/sort.h
|
||||
+++ b/src/jrd/sort.h
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "../include/fb_blk.h"
|
||||
#include "../common/DecFloat.h"
|
||||
#include "../jrd/TempSpace.h"
|
||||
+#include "../jrd/align.h"
|
||||
|
||||
namespace Jrd {
|
||||
|
||||
21255
ttmath-abseil.4.0.0.patch
Normal file
21255
ttmath-abseil.4.0.0.patch
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue