Compare commits

...

No commits in common. 'epel9' and 'i10ce' have entirely different histories.
epel9 ... i10ce

@ -0,0 +1 @@
9cfc22f51f9d655b39f5b215b3e2bf17834f0321 SOURCES/Firebird-4.0.4.3010-0.tar.xz

5
.gitignore vendored

@ -1,4 +1 @@
/Firebird-3.0.5.33220-0.tar.bz2
/Firebird-3.0.6.33328-0.tar.bz2
/Firebird-3.0.7.33374-0.tar.bz2
/Firebird-4.0.0.2496-0.tar.xz
SOURCES/Firebird-4.0.4.3010-0.tar.xz

@ -1,134 +0,0 @@
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!
};

@ -1,29 +0,0 @@
From: asfernandes <asfernandes@users.sourceforge.net>
Date: Sat, 5 Mar 2016 03:39:36 +0000
Subject: Make the generated code compatible with gcc 6 in C++-14 mode.
(cherry picked from commit 3618aa2171674babf79ef935aa049c40a3db1321)
Patch-mainline:
Git-commit: 3618aa2171674babf79ef935aa049c40a3db1321
References: bsc#964466 CORE-5099
---
src/gpre/c_cxx.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gpre/c_cxx.cpp b/src/gpre/c_cxx.cpp
index df175dca9465..bafce8f282bf 100644
--- a/src/gpre/c_cxx.cpp
+++ b/src/gpre/c_cxx.cpp
@@ -2820,7 +2820,7 @@ static void gen_request(const gpre_req* request)
printa(0, "static %sshort\n isc_%dl = %d;",
(request->req_flags & REQ_extend_dpb) ? "" : CONST_STR,
request->req_ident, request->req_length);
- printa(0, "static %schar\n isc_%d [] = {", CONST_STR, request->req_ident);
+ printa(0, "static %sunsigned char\n isc_%d [] = {", CONST_STR, request->req_ident);
const TEXT* string_type = "blr";
if (gpreGlob.sw_raw)
--
2.8.2

@ -0,0 +1,24 @@
From 3fe8f6510de79689a26868e244840b24dcb19567 Mon Sep 17 00:00:00 2001
From: AlexPeshkoff <alexander.peshkoff@gmail.com>
Date: Wed, 23 Nov 2022 20:30:03 +0300
Subject: [PATCH] Fixed #7394: autoconf 2.72 support
---
configure.ac | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 75af92e862c..800453d25fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -696,8 +696,9 @@ if test "$STD_EDITLINE" = "true"; then
AC_CHECK_LIB(readline, readline, [READLINE=readline EDITLINE_FLG=Y],
[STD_EDITLINE=false
if test "$EDITLINE_FLG" = "Y"; then
- AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])])))
+ AC_MSG_WARN([[[--with-system-editline specified, not found. Using bundled editline]]])
fi
+ ])))
fi
XE_RESTORE_ENV()

@ -0,0 +1,12 @@
--- a/extern/btyacc/Makefile 2022-08-12 15:24:40.846774310 +0200
+++ a/extern/btyacc/Makefile 2022-08-12 15:26:20.954809720 +0200
@@ -12,7 +12,7 @@
# across all of our supported compilers/platforms.
# Vanilla CFLAGS
-CFLAGS=
+CFLAGS=-fPIC -pie
# No LDFLAGS
#LDFLAGS=

@ -0,0 +1,144 @@
From ff49d71b0cdbab75f8a22717c4f88343a5961868 Mon Sep 17 00:00:00 2001
From: Adriano dos Santos Fernandes <adrianosf@gmail.com>
Date: Mon, 31 May 2021 08:55:26 -0300
Subject: [PATCH] Set POSIX build to use C++17.
---
CMakeLists.txt | 4 ++--
builds/posix/make.defaults | 2 +-
builds/posix/prefix.freebsd_amd64 | 2 +-
configure.ac | 2 +-
examples/extauth/Makefile | 2 +-
examples/interfaces/makefile | 2 +-
extern/icu/android/aarch64/config.sh | 2 +-
extern/icu/android/armv7a/config.sh | 4 ++--
extern/icu/android/linux/config.sh | 2 +-
9 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 620fd032af4..5f336efd611 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -206,14 +206,14 @@ if (MINGW)
set(CMAKE_STATIC_LIBRARY_PREFIX)
add_definitions(-D_WIN32_WINNT=0x0600)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4 -std=c++11")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse4 -std=c++17")
endif()
if (UNIX)
set(OS_DIR posix)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -msse4 -std=c++11")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -msse4 -std=c++17")
if (NOT CMAKE_CROSSCOMPILING)
set(LIB_readline readline)
diff --git a/builds/posix/make.defaults b/builds/posix/make.defaults
index d96e89053fa..57bbb006865 100755
--- a/builds/posix/make.defaults
+++ b/builds/posix/make.defaults
@@ -103,7 +103,7 @@ GLOB_OPTIONS:=
#____________________________________________________________________________
# Global c++ flags: firebird needs no RTTI, choose build standard
-PLUSPLUS_FLAGS:= -fno-rtti -std=c++11
+PLUSPLUS_FLAGS:= -fno-rtti -std=c++17
# If this is defined then we use special rules useful for developers only
IsDeveloper = @DEVEL_FLG@
diff --git a/builds/posix/prefix.freebsd_amd64 b/builds/posix/prefix.freebsd_amd64
index f27567a2715..0736d87e935 100644
--- a/builds/posix/prefix.freebsd_amd64
+++ b/builds/posix/prefix.freebsd_amd64
@@ -26,4 +26,4 @@ DEV_FLAGS=-ggdb -DFREEBSD -DAMD64 -pipe -MMD -p -fPIC -Wall -Wno-non-virtual-dto
# This file must be compiled with SSE4.2 support
%/CRC32C.o: CXXFLAGS += -msse4
-CXXFLAGS := $(CXXFLAGS) -std=c++11
+CXXFLAGS := $(CXXFLAGS) -std=c++17
diff --git a/configure.ac b/configure.ac
index 9b40be43101..e4a83cf8d3b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -899,7 +899,7 @@ dnl if 64-bit mode, then archive tool, ar, needs -X64 option
fi
XE_SAVE_ENV()
-CXXFLAGS="$CXXFLAGS -std=c++11"
+CXXFLAGS="$CXXFLAGS -std=c++17"
AC_CACHE_CHECK([whether the C++ compiler understands noexcept], [ac_cv_cxx_noexcept], [
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int f(int x) noexcept { return x + 1; }]], [[]])],
[ac_cv_cxx_noexcept=yes], [ac_cv_cxx_noexcept=no])])
diff --git a/examples/extauth/Makefile b/examples/extauth/Makefile
index 9da7bbd357f..3c8b878d225 100644
--- a/examples/extauth/Makefile
+++ b/examples/extauth/Makefile
@@ -61,7 +61,7 @@ KEYGEN_objects=$(INTERMED)/keygen.o
TCWRAP_objects=$(INTERMED)/TcWrapper.o
KEY_AUTH_objects=$(INTERMED)/ExtAuth.o
-CXXFLAGS=-std=c++11 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE)
+CXXFLAGS=-std=c++17 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE)
LDFLAGS=-pthread -L$(LIB) -Wl,-rpath,'$$ORIGIN/../lib' $(TOMCRYPT_LINK)
LINK_LIBS=-lfbclient -ltomcrypt -ltommath
diff --git a/examples/interfaces/makefile b/examples/interfaces/makefile
index 153c3d558dc..b65dba90a7d 100644
--- a/examples/interfaces/makefile
+++ b/examples/interfaces/makefile
@@ -33,7 +33,7 @@ FBCLIENT = $(FIREBIRD)/lib/libfbclient.so
# General Compiler and linker Defines for Linux
# ---------------------------------------------------------------------
CXX = c++
-CXXFLAGS= -c -Wall -g3 -std=c++11 -fno-rtti $(INCLUDE)
+CXXFLAGS= -c -Wall -g3 -std=c++17 -fno-rtti $(INCLUDE)
RM = rm -f
#
diff --git a/extern/icu/android/aarch64/config.sh b/extern/icu/android/aarch64/config.sh
index 51ef623a3c5..f464d930ec2 100755
--- a/extern/icu/android/aarch64/config.sh
+++ b/extern/icu/android/aarch64/config.sh
@@ -18,7 +18,7 @@
--enable-dyload \
--with-cross-build=$CROSS_BUILD_DIR \
CFLAGS='-Os' \
- CXXFLAGS='--std=c++11' \
+ CXXFLAGS='--std=c++17' \
LDFLAGS='-static-libstdc++' \
CC=aarch64-linux-android24-clang \
CXX=aarch64-linux-android24-clang++ \
diff --git a/extern/icu/android/armv7a/config.sh b/extern/icu/android/armv7a/config.sh
index fe1bd037456..0e458c690e7 100755
--- a/extern/icu/android/armv7a/config.sh
+++ b/extern/icu/android/armv7a/config.sh
@@ -18,10 +18,10 @@
--enable-dyload \
--with-cross-build=$CROSS_BUILD_DIR \
CFLAGS='-Os -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
- CXXFLAGS='--std=c++11 -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
+ CXXFLAGS='--std=c++17 -march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
LDFLAGS='-static-libstdc++ -march=armv7-a -Wl,--fix-cortex-a8' \
CC=arm-linux-androideabi-clang \
CXX=arm-linux-androideabi-clang++ \
AR=arm-linux-androideabi-ar \
RANLIB=arm-linux-androideabi-ranlib \
- --with-data-packaging=archive
\ No newline at end of file
+ --with-data-packaging=archive
diff --git a/extern/icu/android/linux/config.sh b/extern/icu/android/linux/config.sh
index a8b56024aae..6e7d9c5f5c8 100755
--- a/extern/icu/android/linux/config.sh
+++ b/extern/icu/android/linux/config.sh
@@ -1,7 +1,7 @@
#!/bin/sh
../source/runConfigureICU Linux --prefix=$PWD/prebuilt \
CFLAGS="-Os" \
- CXXFLAGS="--std=c++11" \
+ CXXFLAGS="--std=c++17" \
--enable-static \
--enable-shared=no \
--enable-extras=no \

@ -0,0 +1,54 @@
Description: make cloop build honor compiler/linker flags from the environment
Author: Damyan Ivanov <dmn@debian.org>
Forwarded: no
--- a/extern/cloop/Makefile
+++ b/extern/cloop/Makefile
@@ -27,8 +27,8 @@ SRCS_CPP := $(foreach sdir,$(SRC_DIRS),$
OBJS_C := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS_C))
OBJS_CPP := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRCS_CPP))
-C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter
-CXX_FLAGS := $(C_FLAGS) -std=c++11
+C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter $(CPPFLAGS) $(CFLAGS)
+CXX_FLAGS := $(C_FLAGS) $(CXXFLAGS) -std=c++11
FPC_FLAGS := -Mdelphi -Cg
ifeq ($(shell uname),FreeBSD)
@@ -94,7 +94,7 @@ $(BIN_DIR)/cloop: \
$(OBJ_DIR)/cloop/Main.o \
| $(BIN_DIR)
- $(LD) $^ -o $@ $(LIBS)
+ $(LD) $(LDFLAGS) $^ -o $@ $(LIBS)
$(SRC_DIR)/tests/test1/CalcCApi.h: $(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl
$(BIN_DIR)/cloop $(SRC_DIR)/tests/test1/Interface.idl c-header $@ CALC_C_API_H CALC_I
@@ -121,23 +121,23 @@ $(BIN_DIR)/test1-c$(SHRLIB_EXT): \
$(OBJ_DIR)/tests/test1/CalcCApi.o \
$(OBJ_DIR)/tests/test1/CTest.o \
- $(LD) $^ -shared $(DL_LIB) -o $@ $(LIBS)
+ $(LD) $(LDFLAGS) $^ -shared $(DL_LIB) -o $@ $(LIBS)
$(BIN_DIR)/test1-c$(EXE_EXT): \
$(OBJ_DIR)/tests/test1/CalcCApi.o \
$(OBJ_DIR)/tests/test1/CTest.o \
- $(LD) $^ $(DL_LIB) -o $@ $(LIBS)
+ $(LD) $(LDFLAGS) $^ $(DL_LIB) -o $@ $(LIBS)
$(BIN_DIR)/test1-cpp$(SHRLIB_EXT): \
$(OBJ_DIR)/tests/test1/CppTest.o \
- $(LD) $^ -shared $(DL_LIB) -o $@ $(LIBS)
+ $(LD) $(LDFLAGS) $^ -shared $(DL_LIB) -o $@ $(LIBS)
$(BIN_DIR)/test1-cpp$(EXE_EXT): \
$(OBJ_DIR)/tests/test1/CppTest.o \
- $(LD) $^ $(DL_LIB) -o $@ $(LIBS)
+ $(LD) $(LDFLAGS) $^ $(DL_LIB) -o $@ $(LIBS)
$(BIN_DIR)/test1-pascal$(SHRLIB_EXT): \
$(SRC_DIR)/tests/test1/PascalClasses.pas \

@ -0,0 +1,28 @@
diff --git a/builds/posix/Makefile.in.plugins_examples b/builds/posix/Makefile.in.plugins_examples
index 989e80d..344f487 100644
--- a/builds/posix/Makefile.in.plugins_examples
+++ b/builds/posix/Makefile.in.plugins_examples
@@ -101,7 +101,7 @@ AllObjects += $(CA_Objects)
crypt_app: $(CRYPT_APP)
$(CRYPT_APP): $(CA_Objects)
- $(EXE_LINK) $(LSB_UNDEF) $^ -o $@ $(FIREBIRD_LIBRARY_LINK)
+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $(LSB_UNDEF) $^ -o $@ $(FIREBIRD_LIBRARY_LINK)
include $(ROOT)/gen/make.shared.targets
diff --git a/examples/extauth/Makefile b/examples/extauth/Makefile
index 3c8b878..7de22a8 100644
--- a/examples/extauth/Makefile
+++ b/examples/extauth/Makefile
@@ -61,8 +61,8 @@ KEYGEN_objects=$(INTERMED)/keygen.o
TCWRAP_objects=$(INTERMED)/TcWrapper.o
KEY_AUTH_objects=$(INTERMED)/ExtAuth.o
-CXXFLAGS=-std=c++17 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE)
-LDFLAGS=-pthread -L$(LIB) -Wl,-rpath,'$$ORIGIN/../lib' $(TOMCRYPT_LINK)
+CXXFLAGS+=-std=c++17 -pthread -I$(ROOT)/include -fPIC $(TOMCRYPT_COMPILE)
+LDFLAGS+=-pthread -L$(LIB) -Wl,-rpath,'$$ORIGIN/../lib' $(TOMCRYPT_LINK)
LINK_LIBS=-lfbclient -ltomcrypt -ltommath

@ -0,0 +1,45 @@
Add missing int return types for main in the configure script.
Implicit ints are a language feature that was removed in C99.
Submitted upstream: <https://github.com/FirebirdSQL/firebird/pull/7407>
diff --git a/configure.ac b/configure.ac
index 05edb5ec9410ff50..0474dc850dfd04bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1038,7 +1038,7 @@ AC_CHECK_FUNCS(sem_init)
if test "$ac_cv_func_sem_init" = "yes"; then
AC_MSG_CHECKING(for working sem_init())
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <semaphore.h>
- main () {
+ int main () {
sem_t s;
return sem_init(&s,0,0);
}
@@ -1079,7 +1079,7 @@ AC_SYS_LARGEFILE
if test "$ac_cv_sys_file_offset_bits" = "no"; then
AC_MSG_CHECKING(for native large file support)
AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <unistd.h>
- main () {
+ int main () {
return !(sizeof(off_t) == 8);
}]])],[ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)],[])
@@ -1126,7 +1126,7 @@ 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([[#include <semaphore.h>
-main () {
+int main () {
struct s {
char a;
union { long long x; sem_t y; } b;
@@ -1137,7 +1137,7 @@ AC_MSG_RESULT($ac_cv_c_alignment)
AC_DEFINE_UNQUOTED(FB_ALIGNMENT, $ac_cv_c_alignment, [Alignment of long])
AC_MSG_CHECKING(alignment of double)
-AC_RUN_IFELSE([AC_LANG_SOURCE([[main () {
+AC_RUN_IFELSE([AC_LANG_SOURCE([[int main () {
struct s {
char a;
double b;

@ -1,18 +1,6 @@
diff --git a/builds/posix/Makefile.in b/builds/posix/Makefile.in
index bb4ceb1..87e75a2 100644
--- a/builds/posix/Makefile.in
+++ b/builds/posix/Makefile.in
@@ -534,7 +534,7 @@ $(GSTAT): $(GSTAT_Objects) $(COMMON_LIB)
isql: $(ISQL)
$(ISQL): $(ISQL_Objects) $(COMMON_LIB)
- $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS) $(call LINK_DARWIN_RPATH,..)
+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS) $(ICU_LIBS) $(call LINK_DARWIN_RPATH,..)
nbackup: $(NBACKUP)
Description: Link isql with ICU instead of embedding part of it in the source
Author: Damyan Ivanov <dmn@debian.org>
diff --git a/src/isql/isql.epp b/src/isql/isql.epp
index 79da1f7..4554252 100644
--- a/src/isql/isql.epp
+++ b/src/isql/isql.epp
@@ -173,34 +173,6 @@ const char* UNKNOWN = "*unknown*";
@ -50,3 +38,14 @@ index 79da1f7..4554252 100644
// Return the number of characters of a string.
static unsigned charLength(SSHORT charset, unsigned len, const char* str)
{
--- a/builds/posix/Makefile.in
+++ b/builds/posix/Makefile.in
@@ -543,7 +543,7 @@ $(GSTAT): $(GSTAT_Objects) $(COMMON_LIB
isql: $(ISQL)
$(ISQL): $(ISQL_Objects) $(COMMON_LIB)
- $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS)
+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LIBEDITLINE) $(TERMLIB) $(LINK_LIBS) $(ICU_LIBS)
nbackup: $(NBACKUP)

@ -0,0 +1,664 @@
From a999f35f0fad27798fdc88a3f5cdf2e3e9041594 Mon Sep 17 00:00:00 2001
From: Adriano dos Santos Fernandes <adrianosf@gmail.com>
Date: Mon, 31 May 2021 08:55:26 -0300
Subject: [PATCH] Replace FB_NOTHROW by noexcept and remove FB_THROW.
---
src/common/classes/alloc.cpp | 128 +++++++++++++++++------------------
src/common/classes/alloc.h | 74 ++++++++------------
2 files changed, 94 insertions(+), 108 deletions(-)
diff --git a/src/common/classes/alloc.cpp b/src/common/classes/alloc.cpp
index 1bd6ad4f09d..ee91ab89df8 100644
--- a/src/common/classes/alloc.cpp
+++ b/src/common/classes/alloc.cpp
@@ -68,19 +68,19 @@
#define VALGRIND_FIX_IT // overrides suspicious valgrind behavior
#endif // USE_VALGRIND
-void* operator new(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+void* operator new(size_t s ALLOC_PARAMS)
{
return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS);
}
-void* operator new[](size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+void* operator new[](size_t s ALLOC_PARAMS)
{
return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS);
}
-void operator delete(void* mem ALLOC_PARAMS) FB_NOTHROW
+void operator delete(void* mem ALLOC_PARAMS) noexcept
{
MemoryPool::globalFree(mem);
}
-void operator delete[](void* mem ALLOC_PARAMS) FB_NOTHROW
+void operator delete[](void* mem ALLOC_PARAMS) noexcept
{
MemoryPool::globalFree(mem);
}
@@ -109,7 +109,7 @@ static const int GUARD_BYTES = 0;
#endif
template <typename T>
-T absVal(T n) FB_NOTHROW
+T absVal(T n) noexcept
{
return n < 0 ? -n : n;
}
@@ -160,7 +160,7 @@ struct FailedBlock
FailedBlock* failedList = NULL;
#endif
-void corrupt(const char* text) FB_NOTHROW
+void corrupt(const char* text) noexcept
{
#ifdef DEV_BUILD
fprintf(stderr, "%s\n", text);
@@ -377,7 +377,7 @@ class MemHeader
#ifdef MEM_DEBUG
void print_contents(bool used, FILE* file, bool used_only,
- const char* filter_path, const size_t filter_len) FB_NOTHROW
+ const char* filter_path, const size_t filter_len) noexcept
{
if (used || !used_only)
{
@@ -406,7 +406,7 @@ class MemHeader
}
#endif
- void validate(MemPool* p, StatInt& vUse) FB_NOTHROW
+ void validate(MemPool* p, StatInt& vUse) noexcept
{
if (p == pool && !isExtent())
vUse += getSize();
@@ -461,7 +461,7 @@ class MemBaseHunk
}
public:
- void validate(MemPool* pool, size_t hdr, StatInt& vMap, StatInt& vUse) FB_NOTHROW
+ void validate(MemPool* pool, size_t hdr, StatInt& vMap, StatInt& vUse) noexcept
{
if (length >= DEFAULT_ALLOCATION)
{
@@ -526,7 +526,7 @@ class MemSmallHunk : public MemBaseHunk<MemSmallHunk>
#ifdef MEM_DEBUG
void print_contents(FILE* file, MemPool* pool, bool used_only,
- const char* filter_path, const size_t filter_len) FB_NOTHROW
+ const char* filter_path, const size_t filter_len) noexcept
{
UCHAR* m = ((UCHAR*) this) + hdrSize();
fprintf(file, "Small hunk %p: memory=[%p:%p) spaceRemaining=%" SIZEFORMAT " length=%" SIZEFORMAT "\n",
@@ -598,7 +598,7 @@ class MemMediumHunk : public MemBaseHunk<MemMediumHunk>
#ifdef MEM_DEBUG
void print_contents(FILE* file, MemPool* pool, bool used_only,
- const char* filter_path, const size_t filter_len) FB_NOTHROW
+ const char* filter_path, const size_t filter_len) noexcept
{
UCHAR* m = ((UCHAR*) this) + hdrSize();
fprintf(file, "Medium hunk %p: memory=[%p:%p) spaceRemaining=%" SIZEFORMAT " length=%" SIZEFORMAT "\n",
@@ -630,7 +630,7 @@ class MemBigHunk
#ifdef MEM_DEBUG
void print_contents(FILE* file, MemPool* pool, bool used_only,
- const char* filter_path, const size_t filter_len) FB_NOTHROW
+ const char* filter_path, const size_t filter_len) noexcept
{
fprintf(file, "Big hunk %p: memory=%p length=%" SIZEFORMAT "\n",
this, block, length);
@@ -1647,7 +1647,7 @@ class FreeObjects
~FreeObjects();
- FreeObjPtr allocateBlock(MemPool* pool, size_t from, size_t& size) FB_THROW (OOM_EXCEPTION)
+ FreeObjPtr allocateBlock(MemPool* pool, size_t from, size_t& size)
{
size_t full_size = size + (from ? 0 : ListBuilder::MEM_OVERHEAD);
if (full_size > Limits::TOP_LIMIT)
@@ -1696,7 +1696,7 @@ class FreeObjects
#ifdef MEM_DEBUG
void print_contents(FILE* file, MemPool* pool, bool used_only,
- const char* filter_path, const size_t filter_len) FB_NOTHROW
+ const char* filter_path, const size_t filter_len) noexcept
{
for (Extent* ext = currentExtent; ext; ext = ext->next)
ext->print_contents(file, pool, used_only, filter_path, filter_len);
@@ -1717,7 +1717,7 @@ class FreeObjects
ListBuilder listBuilder;
Extent* currentExtent;
- MemBlock* newBlock(MemPool* pool, unsigned slot) FB_THROW (OOM_EXCEPTION);
+ MemBlock* newBlock(MemPool* pool, unsigned slot);
};
@@ -1799,26 +1799,26 @@ class MemPool
};
#endif // VALIDATE_POOL
- MemBlock* alloc(size_t from, size_t& length, bool flagRedirect) FB_THROW (OOM_EXCEPTION);
- void releaseBlock(MemBlock *block, bool flagDecr) FB_NOTHROW;
+ MemBlock* alloc(size_t from, size_t& length, bool flagRedirect);
+ void releaseBlock(MemBlock *block, bool flagDecr) noexcept;
public:
- void* allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION);
- MemBlock* allocate2(size_t from, size_t& size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION);
+ void* allocate(size_t size ALLOC_PARAMS);
+ MemBlock* allocate2(size_t from, size_t& size ALLOC_PARAMS);
private:
- virtual void memoryIsExhausted(void) FB_THROW (OOM_EXCEPTION);
- void* allocRaw(size_t length) FB_THROW (OOM_EXCEPTION);
- static void releaseMemory(void* block, bool flagExtent) FB_NOTHROW;
- static void releaseRaw(bool destroying, void *block, size_t size, bool use_cache = true) FB_NOTHROW;
- void* getExtent(size_t from, size_t& to) FB_THROW (OOM_EXCEPTION);
+ virtual void memoryIsExhausted(void);
+ void* allocRaw(size_t length);
+ static void releaseMemory(void* block, bool flagExtent) noexcept;
+ static void releaseRaw(bool destroying, void *block, size_t size, bool use_cache = true) noexcept;
+ void* getExtent(size_t from, size_t& to);
public:
- static void releaseExtent(bool destroying, void *block, size_t size, MemPool* pool) FB_NOTHROW;
+ static void releaseExtent(bool destroying, void *block, size_t size, MemPool* pool) noexcept;
// pass desired size, return actual extent size
template <class Extent>
- void newExtent(size_t& size, Extent** linkedList) FB_THROW (OOM_EXCEPTION);
+ void newExtent(size_t& size, Extent** linkedList);
private:
#ifdef USE_VALGRIND
@@ -1830,9 +1830,9 @@ class MemPool
public:
static void deletePool(MemPool* pool);
- static void globalFree(void* block) FB_NOTHROW;
+ static void globalFree(void* block) noexcept;
- static void deallocate(void* block) FB_NOTHROW;
+ static void deallocate(void* block) noexcept;
bool validate(char* buf, FB_SIZE_T size);
// Create memory pool instance
@@ -1840,7 +1840,7 @@ class MemPool
// Set statistics group for pool. Usage counters will be decremented from
// previously set group and added to new
- void setStatsGroup(MemoryStats& stats) FB_NOTHROW;
+ void setStatsGroup(MemoryStats& stats) noexcept;
// Initialize and finalize global memory pool
static MemPool* init()
@@ -1893,25 +1893,25 @@ class MemPool
}
// Statistics
- void increment_usage(size_t size) FB_NOTHROW
+ void increment_usage(size_t size) noexcept
{
stats->increment_usage(size);
used_memory += size;
}
- void decrement_usage(size_t size) FB_NOTHROW
+ void decrement_usage(size_t size) noexcept
{
stats->decrement_usage(size);
used_memory -= size;
}
- void increment_mapping(size_t size) FB_NOTHROW
+ void increment_mapping(size_t size) noexcept
{
stats->increment_mapping(size);
mapped_memory += size;
}
- void decrement_mapping(size_t size) FB_NOTHROW
+ void decrement_mapping(size_t size) noexcept
{
stats->decrement_mapping(size);
mapped_memory -= size;
@@ -1919,9 +1919,9 @@ class MemPool
#ifdef MEM_DEBUG
// Print out pool contents. This is debugging routine
- void print_contents(FILE*, unsigned flags, const char* filter_path) FB_NOTHROW;
+ void print_contents(FILE*, unsigned flags, const char* filter_path) noexcept;
// The same routine, but more easily callable from the debugger
- void print_contents(const char* filename, unsigned flags, const char* filter_path) FB_NOTHROW;
+ void print_contents(const char* filename, unsigned flags, const char* filter_path) noexcept;
private:
MemPool* next;
@@ -1961,7 +1961,7 @@ void DoubleLinkedList::decrUsage(MemMediumHunk* hunk, MemPool* pool)
template <class ListBuilder, class Limits>
-MemBlock* FreeObjects<ListBuilder, Limits>::newBlock(MemPool* pool, unsigned slot) FB_THROW (OOM_EXCEPTION)
+MemBlock* FreeObjects<ListBuilder, Limits>::newBlock(MemPool* pool, unsigned slot)
{
size_t size = Limits::getSize(slot);
@@ -2170,7 +2170,7 @@ MemPool::~MemPool(void)
}
template <class Extent>
-void MemPool::newExtent(size_t& size, Extent** linkedList) FB_THROW(OOM_EXCEPTION)
+void MemPool::newExtent(size_t& size, Extent** linkedList)
{
// No large enough block found. We need to extend the pool
void* memory = NULL;
@@ -2214,7 +2214,7 @@ MemoryPool* MemoryPool::createPool(MemoryPool* parentPool, MemoryStats& stats)
return FB_NEW_POOL(*parentPool) MemoryPool(p);
}
-void MemPool::setStatsGroup(MemoryStats& newStats) FB_NOTHROW
+void MemPool::setStatsGroup(MemoryStats& newStats) noexcept
{
MutexLockGuard guard(mutex, "MemPool::setStatsGroup");
@@ -2230,12 +2230,12 @@ void MemPool::setStatsGroup(MemoryStats& newStats) FB_NOTHROW
stats->increment_usage(sav_used_memory);
}
-void MemoryPool::setStatsGroup(MemoryStats& newStats) FB_NOTHROW
+void MemoryPool::setStatsGroup(MemoryStats& newStats) noexcept
{
pool->setStatsGroup(newStats);
}
-MemBlock* MemPool::alloc(size_t from, size_t& length, bool flagRedirect) FB_THROW (OOM_EXCEPTION)
+MemBlock* MemPool::alloc(size_t from, size_t& length, bool flagRedirect)
{
MutexEnsureUnlock guard(mutex, "MemPool::alloc");
guard.enter();
@@ -2294,7 +2294,7 @@ MemBlock* MemPool::allocate2(size_t from, size_t& size
#ifdef DEBUG_GDS_ALLOC
, const char* fileName, int line
#endif
-) FB_THROW (OOM_EXCEPTION)
+)
{
size_t length = from ? size : ROUNDUP(size + VALGRIND_REDZONE, roundingSize) + GUARD_BYTES;
MemBlock* memory = alloc(from, length, true);
@@ -2324,7 +2324,7 @@ MemBlock* MemPool::allocate2(size_t from, size_t& size
}
-void* MemPool::allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+void* MemPool::allocate(size_t size ALLOC_PARAMS)
{
#ifdef VALIDATE_POOL
MutexLockGuard guard(mutex, "MemPool::allocate");
@@ -2339,7 +2339,7 @@ void* MemPool::allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
}
-void MemPool::releaseMemory(void* object, bool flagExtent) FB_NOTHROW
+void MemPool::releaseMemory(void* object, bool flagExtent) noexcept
{
if (object)
{
@@ -2403,7 +2403,7 @@ void MemPool::releaseMemory(void* object, bool flagExtent) FB_NOTHROW
}
}
-void MemPool::releaseBlock(MemBlock* block, bool decrUsage) FB_NOTHROW
+void MemPool::releaseBlock(MemBlock* block, bool decrUsage) noexcept
{
if (block->pool != this)
corrupt("bad block released");
@@ -2464,12 +2464,12 @@ void MemPool::releaseBlock(MemBlock* block, bool decrUsage) FB_NOTHROW
releaseRaw(pool_destroying, hunk, hunk->length, false);
}
-void MemPool::memoryIsExhausted(void) FB_THROW (OOM_EXCEPTION)
+void MemPool::memoryIsExhausted(void)
{
Firebird::BadAlloc::raise();
}
-void* MemPool::allocRaw(size_t size) FB_THROW (OOM_EXCEPTION)
+void* MemPool::allocRaw(size_t size)
{
#ifndef USE_VALGRIND
if (size == DEFAULT_ALLOCATION)
@@ -2549,7 +2549,7 @@ void* MemPool::allocRaw(size_t size) FB_THROW (OOM_EXCEPTION)
}
-void* MemPool::getExtent(size_t from, size_t& to) FB_THROW(OOM_EXCEPTION) // pass desired minimum size, return actual extent size
+void* MemPool::getExtent(size_t from, size_t& to) // pass desired minimum size, return actual extent size
{
#ifdef VALIDATE_POOL
MutexLockGuard guard(mutex, "MemPool::getExtent");
@@ -2560,7 +2560,7 @@ void* MemPool::getExtent(size_t from, size_t& to) FB_THROW(OOM_EXCEPTION) // pa
}
-void MemPool::releaseExtent(bool destroying, void* block, size_t size, MemPool* pool) FB_NOTHROW
+void MemPool::releaseExtent(bool destroying, void* block, size_t size, MemPool* pool) noexcept
{
if (size < DEFAULT_ALLOCATION)
releaseMemory(block, true);
@@ -2573,7 +2573,7 @@ void MemPool::releaseExtent(bool destroying, void* block, size_t size, MemPool*
}
-void MemPool::releaseRaw(bool destroying, void* block, size_t size, bool use_cache) FB_NOTHROW
+void MemPool::releaseRaw(bool destroying, void* block, size_t size, bool use_cache) noexcept
{
#ifndef USE_VALGRIND
if (use_cache && (size == DEFAULT_ALLOCATION))
@@ -2666,19 +2666,19 @@ void MemPool::releaseRaw(bool destroying, void* block, size_t size, bool use_cac
}
}
-void MemPool::globalFree(void* block) FB_NOTHROW
+void MemPool::globalFree(void* block) noexcept
{
deallocate(block);
}
-void* MemoryPool::calloc(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+void* MemoryPool::calloc(size_t size ALLOC_PARAMS)
{
void* block = allocate(size ALLOC_PASS_ARGS);
memset(block, 0, size);
return block;
}
-void MemPool::deallocate(void* block) FB_NOTHROW
+void MemPool::deallocate(void* block) noexcept
{
releaseMemory(block, false);
}
@@ -2720,7 +2720,7 @@ bool MemPool::validate(char* buf, FB_SIZE_T size)
}
#ifdef MEM_DEBUG
-void MemPool::print_contents(const char* filename, unsigned flags, const char* filter_path) FB_NOTHROW
+void MemPool::print_contents(const char* filename, unsigned flags, const char* filter_path) noexcept
{
FILE* out = os_utils::fopen(filename, "w");
if (!out)
@@ -2731,7 +2731,7 @@ void MemPool::print_contents(const char* filename, unsigned flags, const char* f
}
// This member function can't be const because there are calls to the mutex.
-void MemPool::print_contents(FILE* file, unsigned flags, const char* filter_path) FB_NOTHROW
+void MemPool::print_contents(FILE* file, unsigned flags, const char* filter_path) noexcept
{
bool used_only = flags & MemoryPool::PRINT_USED_ONLY;
@@ -2818,7 +2818,7 @@ MemoryPool& AutoStorage::getAutoMemoryPool()
}
#ifdef LIBC_CALLS_NEW
-void* MemoryPool::globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+void* MemoryPool::globalAlloc(size_t s ALLOC_PARAMS)
{
if (!defaultMemoryManager)
{
@@ -2831,17 +2831,17 @@ void* MemoryPool::globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
}
#endif // LIBC_CALLS_NEW
-void MemoryPool::globalFree(void* block) FB_NOTHROW
+void MemoryPool::globalFree(void* block) noexcept
{
MemPool::globalFree(block);
}
-void* MemoryPool::allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+void* MemoryPool::allocate(size_t size ALLOC_PARAMS)
{
return pool->allocate(size ALLOC_PASS_ARGS);
}
-void MemoryPool::deallocate(void* block) FB_NOTHROW
+void MemoryPool::deallocate(void* block) noexcept
{
pool->deallocate(block);
}
@@ -2870,14 +2870,14 @@ void MemoryPool::deletePool(MemoryPool* pool)
delete pool;
}
-void MemoryPool::print_contents(FILE* file, unsigned flags, const char* filter_path) FB_NOTHROW
+void MemoryPool::print_contents(FILE* file, unsigned flags, const char* filter_path) noexcept
{
#ifdef MEM_DEBUG
pool->print_contents(file, flags, filter_path);
#endif
}
-void MemoryPool::print_contents(const char* filename, unsigned flags, const char* filter_path) FB_NOTHROW
+void MemoryPool::print_contents(const char* filename, unsigned flags, const char* filter_path) noexcept
{
#ifdef MEM_DEBUG
pool->print_contents(filename, flags, filter_path);
@@ -2950,21 +2950,21 @@ void AutoStorage::ProbeStack() const
// in a case when we actually need "new" only with file/line information
// this version should be also present as a pair for "delete".
#ifdef DEBUG_GDS_ALLOC
-void* operator new(size_t s) FB_THROW (OOM_EXCEPTION)
+void* operator new(size_t s)
{
return MemoryPool::globalAlloc(s ALLOC_ARGS);
}
-void* operator new[](size_t s) FB_THROW (OOM_EXCEPTION)
+void* operator new[](size_t s)
{
return MemoryPool::globalAlloc(s ALLOC_ARGS);
}
-void operator delete(void* mem) FB_NOTHROW
+void operator delete(void* mem) noexcept
{
MemoryPool::globalFree(mem);
}
-void operator delete[](void* mem) FB_NOTHROW
+void operator delete[](void* mem) noexcept
{
MemoryPool::globalFree(mem);
}
diff --git a/src/common/classes/alloc.h b/src/common/classes/alloc.h
index 65f9afbb8a9..44d9e0ea462 100644
--- a/src/common/classes/alloc.h
+++ b/src/common/classes/alloc.h
@@ -58,20 +58,6 @@
#include <memory.h>
-#define OOM_EXCEPTION std::bad_alloc
-
-#if __cplusplus >= 201103L
-#define FB_NO_THROW_SPECIFIER
-#endif
-
-#ifdef FB_NO_THROW_SPECIFIER
-#define FB_THROW(x)
-#define FB_NOTHROW noexcept
-#else
-#define FB_THROW(x) throw(x)
-#define FB_NOTHROW throw()
-#endif
-
#ifdef DEBUG_GDS_ALLOC
#define FB_NEW new(__FILE__, __LINE__)
#define FB_NEW_POOL(pool) new(pool, __FILE__, __LINE__)
@@ -106,10 +92,10 @@ class MemoryStats
~MemoryStats()
{}
- size_t getCurrentUsage() const FB_NOTHROW { return mst_usage.value(); }
- size_t getMaximumUsage() const FB_NOTHROW { return mst_max_usage; }
- size_t getCurrentMapping() const FB_NOTHROW { return mst_mapped.value(); }
- size_t getMaximumMapping() const FB_NOTHROW { return mst_max_mapped; }
+ size_t getCurrentUsage() const noexcept { return mst_usage.value(); }
+ size_t getMaximumUsage() const noexcept { return mst_max_usage; }
+ size_t getCurrentMapping() const noexcept { return mst_mapped.value(); }
+ size_t getMaximumMapping() const noexcept { return mst_max_mapped; }
private:
// Forbid copying/assignment
@@ -131,7 +117,7 @@ class MemoryStats
size_t mst_max_mapped;
// These methods are thread-safe due to usage of atomic counters only
- void increment_usage(size_t size) FB_NOTHROW
+ void increment_usage(size_t size) noexcept
{
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent)
{
@@ -141,7 +127,7 @@ class MemoryStats
}
}
- void decrement_usage(size_t size) FB_NOTHROW
+ void decrement_usage(size_t size) noexcept
{
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent)
{
@@ -149,7 +135,7 @@ class MemoryStats
}
}
- void increment_mapping(size_t size) FB_NOTHROW
+ void increment_mapping(size_t size) noexcept
{
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent)
{
@@ -159,7 +145,7 @@ class MemoryStats
}
}
- void decrement_mapping(size_t size) FB_NOTHROW
+ void decrement_mapping(size_t size) noexcept
{
for (MemoryStats* statistics = this; statistics; statistics = statistics->mst_parent)
{
@@ -205,21 +191,21 @@ class MemoryPool
#define ALLOC_PASS_ARGS
#endif // DEBUG_GDS_ALLOC
- void* calloc(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION);
+ void* calloc(size_t size ALLOC_PARAMS);
#ifdef LIBC_CALLS_NEW
- static void* globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION);
+ static void* globalAlloc(size_t s ALLOC_PARAMS);
#else
- static void* globalAlloc(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+ static void* globalAlloc(size_t s ALLOC_PARAMS)
{
return defaultMemoryManager->allocate(s ALLOC_PASS_ARGS);
}
#endif // LIBC_CALLS_NEW
- void* allocate(size_t size ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION);
+ void* allocate(size_t size ALLOC_PARAMS);
- static void globalFree(void* mem) FB_NOTHROW;
- void deallocate(void* mem) FB_NOTHROW;
+ static void globalFree(void* mem) noexcept;
+ void deallocate(void* mem) noexcept;
// Set context pool for current thread of execution
static MemoryPool* setContextPool(MemoryPool* newPool);
@@ -229,7 +215,7 @@ class MemoryPool
// Set statistics group for pool. Usage counters will be decremented from
// previously set group and added to new
- void setStatsGroup(MemoryStats& stats) FB_NOTHROW;
+ void setStatsGroup(MemoryStats& stats) noexcept;
// Initialize and finalize global memory pool
static void init();
@@ -241,9 +227,9 @@ class MemoryPool
// Print out pool contents. This is debugging routine
static const unsigned PRINT_USED_ONLY = 0x01;
static const unsigned PRINT_RECURSIVE = 0x02;
- void print_contents(FILE*, unsigned flags = 0, const char* filter_path = 0) FB_NOTHROW;
+ void print_contents(FILE*, unsigned flags = 0, const char* filter_path = 0) noexcept;
// The same routine, but more easily callable from the debugger
- void print_contents(const char* filename, unsigned flags = 0, const char* filter_path = 0) FB_NOTHROW;
+ void print_contents(const char* filename, unsigned flags = 0, const char* filter_path = 0) noexcept;
public:
struct Finalizer
@@ -298,7 +284,7 @@ class MemoryPool
} // namespace Firebird
-static inline Firebird::MemoryPool* getDefaultMemoryPool() FB_NOTHROW
+static inline Firebird::MemoryPool* getDefaultMemoryPool() noexcept
{
fb_assert(Firebird::MemoryPool::defaultMemoryManager);
return Firebird::MemoryPool::defaultMemoryManager;
@@ -355,36 +341,36 @@ class SubsystemContextPoolHolder : public ContextPoolHolder
using Firebird::MemoryPool;
// operators new and delete
-extern void* operator new(size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION);
-extern void* operator new[](size_t s ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION);
-extern void operator delete(void* mem ALLOC_PARAMS) FB_NOTHROW;
-extern void operator delete[](void* mem ALLOC_PARAMS) FB_NOTHROW;
+extern void* operator new(size_t s ALLOC_PARAMS);
+extern void* operator new[](size_t s ALLOC_PARAMS);
+extern void operator delete(void* mem ALLOC_PARAMS) noexcept;
+extern void operator delete[](void* mem ALLOC_PARAMS) noexcept;
-inline void* operator new(size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+inline void* operator new(size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS)
{
return pool.allocate(s ALLOC_PASS_ARGS);
}
-inline void* operator new[](size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_THROW (OOM_EXCEPTION)
+inline void* operator new[](size_t s, Firebird::MemoryPool& pool ALLOC_PARAMS)
{
return pool.allocate(s ALLOC_PASS_ARGS);
}
-inline void operator delete(void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_NOTHROW
+inline void operator delete(void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) noexcept
{
MemoryPool::globalFree(mem);
}
-inline void operator delete[](void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) FB_NOTHROW
+inline void operator delete[](void* mem, Firebird::MemoryPool& pool ALLOC_PARAMS) noexcept
{
MemoryPool::globalFree(mem);
}
#if __cplusplus >= 201402L
-inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) FB_NOTHROW
+inline void operator delete(void* mem, std::size_t s ALLOC_PARAMS) noexcept
{
MemoryPool::globalFree(mem);
}
-inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) FB_NOTHROW
+inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) noexcept
{
MemoryPool::globalFree(mem);
}
@@ -392,8 +378,8 @@ inline void operator delete[](void* mem, std::size_t s ALLOC_PARAMS) FB_NOTHROW
#ifdef DEBUG_GDS_ALLOC
-extern void operator delete(void* mem) FB_NOTHROW;
-extern void operator delete[](void* mem) FB_NOTHROW;
+extern void operator delete(void* mem) noexcept;
+extern void operator delete[](void* mem) noexcept;
#endif // DEBUG_GDS_ALLOC

@ -1,4 +1,4 @@
%global upversion 4.0.0.2496
%global upversion 4.0.4.3010
%global pkgversion Firebird-%{upversion}-0
%global major 4.0
@ -10,13 +10,13 @@
Name: firebird
Version: %{upversion}
Release: 2%{?dist}
Release: 4%{?dist}
Summary: SQL relational database management system
License: Interbase
URL: http://www.firebirdsql.org/
Source0: https://github.com/FirebirdSQL/firebird/releases/download/v4.0.0/%{pkgversion}.tar.xz
Source0: https://github.com/FirebirdSQL/firebird/releases/download/v4.0.3/%{pkgversion}.tar.xz
Source1: firebird-logrotate
Source2: README.Fedora
Source3: firebird.service
@ -30,8 +30,14 @@ Patch203: no-copy-from-icu.patch
Patch205: cloop-honour-build-flags.patch
# from upstream
Patch303: fix_build_on_big_endian_platforms.patch
Patch304: ttmath-abseil.4.0.0.patch
Patch301: c++17.patch
Patch302: noexcept.patch
Patch303: autoconf.patch
Patch401: btyacc-honour-build-flags.patch
Patch402: firebird-configure-c99.patch
# not yet upstream
Patch501: examples-honour-build-flags.patch
BuildRequires: autoconf
BuildRequires: automake
@ -42,7 +48,7 @@ BuildRequires: libicu-devel
BuildRequires: libedit-devel
BuildRequires: gcc-c++
BuildRequires: libstdc++-static
BuildRequires: systemd-units
BuildRequires: systemd-rpm-macros
BuildRequires: chrpath
BuildRequires: zlib-devel
BuildRequires: procmail
@ -55,10 +61,7 @@ Requires(postun): /usr/sbin/userdel
Requires(postun): /usr/sbin/groupdel
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
Requires: logrotate
Recommends: logrotate
Requires: libfbclient2 = %{version}-%{release}
Requires: libib-util = %{version}-%{release}
Requires: %{name}-utils = %{version}-%{release}
@ -193,13 +196,15 @@ in production systems, under a variety of names, since 1981.
%prep
%setup -q -n %{pkgversion}
%patch101 -p1
%patch203 -p1
%patch205 -p1
%ifarch s390x
%patch303 -p1
%patch304 -p1
%endif
%patch -P101 -p1
%patch -P203 -p1
%patch -P205 -p1
%patch -P301 -p1
%patch -P302 -p1
%patch -P303 -p1
%patch -P401 -p1
%patch -P402 -p1
%patch -P501 -p1
%build
@ -223,7 +228,7 @@ NOCONFIGURE=1 ./autogen.sh
--with-fbsecure-db=%{_localstatedir}/lib/%{name}/secdb \
--with-fbmsg=%{_localstatedir}/lib/%{name}/system \
--with-fblog=%{_localstatedir}/log/%{name} \
--with-fbglock=/run/%{name} \
--with-fbglock=%{_rundir}/%{name} \
--with-fbplugins=%{_libdir}/%{name}/plugins \
--with-fbtzdata=%{_localstatedir}/lib/%{name}/tzdata
@ -375,56 +380,221 @@ fi
%changelog
* Fri Aug 20 2021 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-2
* Wed Jan 15 2025 Eduard Basov <ebasov@msvsphere-os.ru> - 4.0.4.3010-4
- Rebuild For MSVSphere 10
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4.3010-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Nov 09 2023 Philippe Makowski <makowski@fedoraproject.org> - 4.0.4.3010-0
- Update to 4.0.4 (#2247832)
* Tue Aug 08 2023 Philippe Makowski <makowski@fedoraproject.org> - 4.0.3.2975-0
- Update to 4.0.3 (#2228171)
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2.2816-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.2.2816-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Dec 1 2022 Florian Weimer <fweimer@redhat.com> - 4.0.2.2816-3
- Port configure script to C99
* Thu Nov 24 2022 Philippe Makowski <makowski@fedoraproject.org> - 4.0.2.2816-2
- Patch for autoconf 2.72 (#2144802)
* Fri Aug 12 2022 Philippe Makowski <makowski@fedoraproject.org> - 4.0.2.2816-1
- Update to 4.0.2 (#2033945)
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0.2496-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri May 13 2022 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-7
- Remove Standard output type syslog (#2035798)
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0.2496-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Oct 10 2021 Kalev Lember <klember@redhat.com> - 4.0.0.2496-5
- Recommend logrotate rather than hard requiring
* Fri Oct 08 2021 Kalev Lember <klember@redhat.com> - 4.0.0.2496-4
- BuildRequire systemd-rpm-macros instead of systemd-units
- Remove requires on systemd-units as per updated guidelines
* Fri Aug 20 2021 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-3
- Fix build on s390x (#1969393)
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0.2496-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 08 2021 Philippe Makowski <makowski@fedoraproject.org> - 4.0.0.2496-1
- Update to 4.0.0 (#1963311)
* Mon May 10 2021 Jeff Law <law@tachyum.com> - 3.0.7.33374-5
- Re-enable LTO
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 3.0.7.33374-4
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.7.33374-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Oct 27 2020 Jeff Law <law@redhat.com> - 3.0.7.33374-2
- Force C++14 as this code is not C++17 ready
* Fri Oct 23 2020 Philippe Makowski <makowski@fedoraproject.org> - 3.0.7.33374-1
- new upstream release fix #1887991
* Mon Aug 10 2020 Jeff Law <law@fedoraproject.org> - 3.0.6.33328-4
- Disable LTO on s390x for now
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.6.33328-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.6.33328-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 08 2020 Philippe Makowski <makowski@fedoraproject.org> - 3.0.6.33328-1
- new upstream release fix #1850675
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.5.33220-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 20 2020 Philippe Makowski <makowski@fedoraproject.org> - 3.0.5.33220-1
- new upstream release fix #1786885
* Wed Sep 18 2019 Philippe Makowski <makowski@fedoraproject.org> - 3.0.4.33054-1
* Mon Nov 4 2019 Philippe Makowski <makowski@fedoraproject.org> - 3.0.4.33054-5
- Change firebird-superserver.service file permissions, fix #1768091
- Set login shell to /sbin/nologin, fix #1764128
- Remove BR libtermcap-devel
* Wed Aug 21 2019 Philippe Makowski <makowski@fedoraproject.org> - 3.0.4.33054-4
- Remove tmpfile, fix #1687058
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4.33054-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.4.33054-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Nov 22 2018 Philippe Makowski <makowski@fedoraproject.org> - 3.0.4.33054-1
- new upstream release
* Thu Aug 22 2019 Philippe Makowski <makowski@fedoraproject.org> 2.5.9.27139.0-1
- update to 2.5.9 (End of Series)
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3.32900-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Mar 18 2018 Richard W.M. Jones <rjones@redhat.com> - 3.0.3.32900-2
- Add support for riscv64.
* Tue Feb 20 2018 Philippe Makowski <makowski@fedoraproject.org> - 3.0.3.32900-1
- new upstream release.
- Drop obsolete ldconfig scriptlets.
- Fix tmpfiles path
* Tue Feb 13 2018 Remi Collet <remi@fedoraproject.org> - 3.0.2.32703-5
- add shebang in fb_config, fix #1544837
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2.32703-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2.32703-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.2.32703-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Aug 31 2018 Philippe Makowski <makowski@fedoraproject.org> 2.5.8.27089.0-1
- update to 2.5.8
* Mon Mar 27 2017 Philippe Makowski <makowski@fedoraproject.org> - 3.0.2.32703-1
- new upstream release
* Tue Feb 21 2017 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-5
- security fix (#1425333)
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1.32609-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Nov 15 2016 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-3
- add requires on libfbclient2-devel for firebird-devel #1394750
* Mon Oct 31 2016 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-2
- obsolete firebird-libfbembed #1388648
* Wed Oct 12 2016 Philippe Makowski <makowski@fedoraproject.org> - 3.0.1.32609-1
- new upstream release
* Tue Feb 21 2017 Philippe Makowski <makowski@fedoraproject.org> 2.5.7.27050.0-1
- update to 2.5.7
- security fix (#1425332)
* Fri Apr 15 2016 David Tardon <dtardon@redhat.com> - 2.5.5.26952.0-7
- rebuild for ICU 57.1
* Thu Dec 29 2016 Philippe Makowski <makowski@fedoraproject.org> 2.5.6.27020.0-1
- update to 2.5.6
* Wed Mar 30 2016 Philippe Makowski <makowski@fedoraproject.org> - 2.5.5.26952.0-6
- use _tmpfilesdir macro
* Fri Feb 05 2016 Philippe Makowski <makowski@fedoraproject.org> - 2.5.5.26952.0-2
* Wed Mar 09 2016 Philippe Makowski <makowski@fedoraproject.org> - 2.5.5.26952.0-5
- Resolves: rbhz#1307503 building with gcc6
* Sat Feb 20 2016 David Tardon <dtardon@redhat.com> - 2.5.5.26952.0-4
- Resolves: rbhz#1309223 restore /usr/sbin/fb_config
* Fri Feb 05 2016 Philippe Makowski <makowski@fedoraproject.org> - 2.5.5.26952.0-3
- move fb_config (#1297506)
- fix CVE-2016-1569 (#1297447 #1297450 #1297451)
- fixe CVE-2016-1569 (#1297447 #1297450 #1297451)
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.5.26952.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Nov 19 2015 Philippe Makowski <makowski@fedoraproject.org> 2.5.5.26952.0-1
- update to 2.5.5
* Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 2.5.4.26856.0-4
- rebuild for ICU 56.1
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.4.26856.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.5.4.26856.0-2
- Rebuilt for GCC 5 C++11 ABI change
* Thu Apr 2 2015 Philippe Makowski <makowski@fedoraproject.org> 2.5.4.26856.0-1
- update to 2.5.4
* Sun Dec 7 2014 Philippe Makowski <makowski@fedoraproject.org> 2.5.3.26778.0-2
* Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 2.5.3.26778.0-6
- rebuild for ICU 54.1
* Sun Dec 7 2014 Philippe Makowski <makowski@fedoraproject.org> 2.5.3.26778.0-5
- security fix firebird CORE-4630
* Thu Oct 30 2014 Philippe Makowski <makowski@fedoraproject.org> 2.5.3.26778.0-4
- Remove lib64 rpaths (#1154706)
* Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 2.5.3.26778.0-3
- rebuild for ICU 53.1
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.3.26778.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jul 26 2014 Philippe Makowski <makowski@fedoraproject.org> - 2.5.3.26778.0-1
- update from upstream 2.5.3
- update arm64 patch
* Tue Jan 21 2014 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-8
- add missing BR on libstdc++-static
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.2.26539.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Feb 12 2014 Rex Dieter <rdieter@fedoraproject.org> 2.5.2.26539.0-10
- rebuild (libicu)
* Sat Dec 07 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-9
- fix FTBFS if "-Werror=format-security" flag is used (bug #1037062)
* Thu Aug 08 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-8
- add BR libatomic_ops-static (bug #993439)
* Tue Jul 23 2013 Philippe Makowski <makowski@fedoraproject.org> 2.5.2.26539.0-7
- make fb_config executable (bug #985335)
@ -480,7 +650,7 @@ fi
* Fri Apr 22 2011 Philippe Makowski <makowski@fedoraproject.org> 2.5.0.26074.0-8
- added patch from upstream to fix rh #697313
* Mon Mar 07 2011 Caolรกn McNamara <caolanm@redhat.com> - 2.5.0.26074.0-7
* Mon Mar 07 2011 Caolán McNamara <caolanm@redhat.com> - 2.5.0.26074.0-7
- rebuild for icu 4.6
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.5.0.26074.0-6
@ -496,7 +666,7 @@ fi
* Wed Dec 22 2010 Philippe Makowski <makowski[at]fedoraproject.org> 2.5.0.26074.0-3
- Fix wrong assign file for classic and classic common
* Thu Dec 16 2010 Dan Horรกk <dan[at]danny.cz> 2.5.0.26074.0-2
* Thu Dec 16 2010 Dan Horák <dan[at]danny.cz> 2.5.0.26074.0-2
- sync the s390(x) utilities list with other arches
- add libatomic_ops-devel as BR: on non-x86 arches
@ -506,7 +676,7 @@ fi
* Mon Nov 22 2010 Philippe Makowski <makowski@fedoraproject.org> 2.5.0.26074.0-0
- build with last upstream
* Tue Jun 29 2010 Dan Horรกk <dan[at]danny.cz> 2.1.3.18185.0-9
* Tue Jun 29 2010 Dan Horák <dan[at]danny.cz> 2.1.3.18185.0-9
- update the s390(x) patch to match upstream
* Fri Jun 04 2010 Philippe Makowski <makowski@fedoraproject.org> 2.1.3.18185.0-8
@ -517,11 +687,11 @@ fi
- Fix rh #563461 with backport mainstream patch CORE-2928
* Fri Apr 02 2010 Caolรกn McNamara <caolanm@redhat.com> 2.1.3.18185.0-6
* Fri Apr 02 2010 Caolán McNamara <caolanm@redhat.com> 2.1.3.18185.0-6
- rebuild for icu 4.4
* Sat Sep 05 2009 Karsten Hopp <karsten@redhat.com> 2.1.3.18185.0-5
- fix build on s390x for F-12 mass rebuild (Dan Horรกk)
- fix build on s390x for F-12 mass rebuild (Dan Horák)
* Tue Aug 11 2009 Philippe Makowski <makowski at fedoraproject.org> 2.1.3.18185.0-4
- build it against system edit lib
@ -613,4 +783,3 @@ fi
* Thu Sep 13 2007 Arkady L. Shane <ashejn@yandex-team.ru> 2.0.1.12855.0-1
- Initial build for Fedora
- cleanup Mandriva spec

@ -1,38 +0,0 @@
diff --git a/extern/cloop/Makefile b/extern/cloop/Makefile
index 08516c2..1573dc2 100644
--- a/extern/cloop/Makefile
+++ b/extern/cloop/Makefile
@@ -6,7 +6,7 @@ TARGET := release
CC := $(CC)
CXX := $(CXX)
-LD := $(CXX)
+LD := $(CXX) $(LDFLAGS)
SRC_DIR := src
BUILD_DIR := build
@@ -27,8 +27,9 @@ SRCS_CPP := $(foreach sdir,$(SRC_DIRS),$(wildcard $(sdir)/*.cpp))
OBJS_C := $(patsubst $(SRC_DIR)/%.c,$(OBJ_DIR)/%.o,$(SRCS_C))
OBJS_CPP := $(patsubst $(SRC_DIR)/%.cpp,$(OBJ_DIR)/%.o,$(SRCS_CPP))
-C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter
-CXX_FLAGS := $(C_FLAGS)
+COMMON_C_FLAGS := -ggdb -fPIC -MMD -MP -W -Wall -Wno-unused-parameter
+C_FLAGS := $(COMMON_C_FLAGS) $(CFLAGS) $(CPPFLAGS)
+CXX_FLAGS := $(COMMON_C_FLAGS) $(CXXFLAGS) $(CPPFLAGS)
FPC_FLAGS := -Mdelphi
ifeq ($(shell uname),FreeBSD)
diff --git a/extern/btyacc/Makefile b/extern/btyacc/Makefile
index f432965..52d8443 100644
--- a/extern/btyacc/Makefile
+++ b/extern/btyacc/Makefile
@@ -12,7 +12,7 @@ HDRS = defs.h mstring.h
# across all of our supported compilers/platforms.
# Vanilla CFLAGS
-CFLAGS=
+CFLAGS=-fPIE
# No LDFLAGS
#LDFLAGS=

@ -1,36 +0,0 @@
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 {

@ -1 +0,0 @@
SHA512 (Firebird-4.0.0.2496-0.tar.xz) = 110f1e9b245631ba04fb1f3f3fe16209e432157615c5c23046a277f3e6a164a2142c6732e793d9cc6650d65239a0da8bf37a74329134bd006b7d2cb070812bd6

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save