summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaichi Haradaguchi <20001722@ymail.ne.jp>2023-04-27 00:57:05 +0900
committerTaichi Haradaguchi <20001722@ymail.ne.jp>2024-01-06 02:37:26 +0100
commit00eae23267bf64e07cf057f828cd85f3c38ac669 (patch)
treed89ba9b33007534e6f92823efc2f667d004beb5b
parent25276df12abd9d002f7f899900434617b256f745 (diff)
tdf#134526 Firebird: upgrade to release 3.0.11
- Removed unneeded patches [1][2][3][4]. - No changes of ODS version. - Added patch to revert upstream commits to avoid CppunitTest_dbaccess_firebird_test, CppunitTest_dbaccess_hsql_binary_import, CppunitTest_dbaccess_tdf119625 and CppunitTest_dbaccess_tdf126268 failing when building on Windows. [1] "extern/cloop: Missing dependencies of compilations on output directories" <https://github.com/FirebirdSQL/firebird/pull/6948> [2] "Fix checks for null HANDLE in Windows-only code" <https://github.com/FirebirdSQL/firebird/pull/301> [3] "Fix warning on Win64 build" <https://github.com/FirebirdSQL/firebird/pull/231> [4] "Mac sandbox" <https://github.com/FirebirdSQL/firebird/pull/308> Change-Id: I17aa4938e41bfc070317fbb92ccea10f2db4d24d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152016 Tested-by: Jenkins Reviewed-by: Taichi Haradaguchi <20001722@ymail.ne.jp>
-rw-r--r--connectivity/inc/pch/precompiled_firebird_sdbc.hxx11
-rw-r--r--download.lst4
-rw-r--r--external/firebird/0001-Fix-checks-for-null-HANDLE-in-Windows-only-code.patch.141
-rw-r--r--external/firebird/0001-Fix-warning-on-Win64-build-231.patch.137
-rw-r--r--external/firebird/0001-Revert-Backported-fix-for-7122-Invalid-state-of-mapp.patch.1180
-rw-r--r--external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.141
-rw-r--r--external/firebird/ExternalPackage_firebird.mk4
-rw-r--r--external/firebird/ExternalProject_firebird.mk2
-rw-r--r--external/firebird/UnpackedTarball_firebird.mk19
-rw-r--r--external/firebird/asan.patch12
-rw-r--r--external/firebird/configure-c99.patch12
-rw-r--r--external/firebird/firebird-cygwin-msvc-warnings.patch36
-rw-r--r--external/firebird/firebird-cygwin-msvc.patch102
-rw-r--r--external/firebird/firebird-macosx-sandbox.patch.113
-rw-r--r--external/firebird/firebird-macosx.patch.111
-rw-r--r--external/firebird/sanitizer.patch8
-rw-r--r--external/firebird/ubsan.patch21
17 files changed, 290 insertions, 264 deletions
diff --git a/connectivity/inc/pch/precompiled_firebird_sdbc.hxx b/connectivity/inc/pch/precompiled_firebird_sdbc.hxx
index bd628cf76a9a..7860e0b4af4e 100644
--- a/connectivity/inc/pch/precompiled_firebird_sdbc.hxx
+++ b/connectivity/inc/pch/precompiled_firebird_sdbc.hxx
@@ -13,7 +13,7 @@
manual changes will be rewritten by the next run of update_pch.sh (which presumably
also fixes all possible problems, so it's usually better to use it).
- Generated on 2021-03-08 13:12:28 using:
+ Generated on 2023-10-28 10:48:29 using:
./bin/update_pch connectivity firebird_sdbc --cutoff=2 --exclude:system --exclude:module --exclude:local
If after updating build fails, use the following command to locate conflicting headers:
@@ -30,22 +30,24 @@
#endif // PCH_LEVEL >= 1
#if PCH_LEVEL >= 2
#include <osl/diagnose.h>
-#include <osl/file.h>
#include <osl/file.hxx>
#include <osl/mutex.hxx>
#include <osl/process.h>
#include <osl/thread.h>
-#include <osl/time.h>
#include <rtl/alloc.h>
#include <rtl/bootstrap.hxx>
+#include <rtl/character.hxx>
+#include <rtl/math.h>
#include <rtl/strbuf.hxx>
#include <rtl/ustrbuf.hxx>
+#include <rtl/ustring.h>
#include <rtl/ustring.hxx>
#include <sal/log.hxx>
#include <sal/types.h>
#endif // PCH_LEVEL >= 2
#if PCH_LEVEL >= 3
#include <com/sun/star/embed/ElementModes.hpp>
+#include <com/sun/star/io/XStream.hpp>
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp>
#include <com/sun/star/sdbc/ColumnValue.hpp>
@@ -59,10 +61,11 @@
#include <com/sun/star/uno/Reference.hxx>
#include <comphelper/comphelperdllapi.h>
#include <comphelper/sequence.hxx>
+#include <comphelper/servicehelper.hxx>
+#include <comphelper/types.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <resource/sharedresources.hxx>
-#include <unotools/localfilehelper.hxx>
#endif // PCH_LEVEL >= 3
#if PCH_LEVEL >= 4
#include <TConnection.hxx>
diff --git a/download.lst b/download.lst
index 568b404f03f3..8921f425cc67 100644
--- a/download.lst
+++ b/download.lst
@@ -116,8 +116,8 @@ EXPAT_TARBALL := expat-2.5.0.tar.xz
# three static lines
# so that git cherry-pick
# will not run into conflicts
-FIREBIRD_SHA256SUM := acb85cedafa10ce106b1823fb236b1b3e5d942a5741e8f8435cc8ccfec0afe76
-FIREBIRD_TARBALL := Firebird-3.0.7.33374-0.tar.bz2
+FIREBIRD_SHA256SUM := c716fc1c788ed614050f5469e1ba0ff442c2f1f7b907a2c808a8bac1dc3d6f83
+FIREBIRD_TARBALL := Firebird-3.0.11.33703-0.tar.bz2
# three static lines
# so that git cherry-pick
# will not run into conflicts
diff --git a/external/firebird/0001-Fix-checks-for-null-HANDLE-in-Windows-only-code.patch.1 b/external/firebird/0001-Fix-checks-for-null-HANDLE-in-Windows-only-code.patch.1
deleted file mode 100644
index 22cc1e119a32..000000000000
--- a/external/firebird/0001-Fix-checks-for-null-HANDLE-in-Windows-only-code.patch.1
+++ /dev/null
@@ -1,41 +0,0 @@
-From f4c0aa3ba070e5c3ce996b33a31323a3a6820f0c Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Wed, 2 Dec 2020 10:44:28 +0100
-Subject: Fix checks for null HANDLE in Windows-only code
-
-clang-cl failed with "error: unordered comparison between pointer and zero
-('HANDLE' (aka 'void *') and 'int')" in these two places introduced with
-f219283b72ab537c2b5938222708f35227c1ebde "Sub-task CORE-4463: Windows
-implementation for CORE-4462 (Make it possible to restore compressed .nbk files
-without explicitly decompressing them)" and
-c2cfa7824189ed7c3e5a19721effdf97c07dadfd "Prevent child process hung if it
-writes too much data to the pipe and overflow the pipe buffer".
----
- src/utilities/nbackup/nbackup.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/utilities/nbackup/nbackup.cpp b/src/utilities/nbackup/nbackup.cpp
-index 6598b6e331..4703079d67 100644
---- a/src/utilities/nbackup/nbackup.cpp
-+++ b/src/utilities/nbackup/nbackup.cpp
-@@ -385,7 +385,7 @@ FB_SIZE_T NBackup::read_file(FILE_HANDLE &file, void *buffer, FB_SIZE_T bufsize)
- #ifdef WIN_NT
- // Read child's stderr often to prevent child process hung if it writes
- // too much data to the pipe and overflow the pipe buffer.
-- const bool checkChild = (childStdErr > 0 && file == backup);
-+ const bool checkChild = (childStdErr != 0 && file == backup);
- if (checkChild)
- print_child_stderr();
-
-@@ -790,7 +790,7 @@ void NBackup::close_backup()
- return;
- #ifdef WIN_NT
- CloseHandle(backup);
-- if (childId > 0)
-+ if (childId != 0)
- {
- const bool killed = (WaitForSingleObject(childId, 5000) != WAIT_OBJECT_0);
- if (killed)
---
-2.28.0
-
diff --git a/external/firebird/0001-Fix-warning-on-Win64-build-231.patch.1 b/external/firebird/0001-Fix-warning-on-Win64-build-231.patch.1
deleted file mode 100644
index 0e21f9e27925..000000000000
--- a/external/firebird/0001-Fix-warning-on-Win64-build-231.patch.1
+++ /dev/null
@@ -1,37 +0,0 @@
-From 60cb8e07b17ad8533d7d13f52435aa11e48f4659 Mon Sep 17 00:00:00 2001
-From: Dimitry Sibiryakov <sd@ibphoenix.com>
-Date: Tue, 12 Nov 2019 13:42:49 +0100
-Subject: [PATCH] Fix warning on Win64 build (#231)
-
----
- src/common/ThreadStart.cpp | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/src/common/ThreadStart.cpp b/src/common/ThreadStart.cpp
-index 184c93a32b..758056432f 100644
---- a/src/common/ThreadStart.cpp
-+++ b/src/common/ThreadStart.cpp
-@@ -309,13 +309,16 @@ Thread Thread::start(ThreadEntryPoint* routine, void* arg, int priority_arg, Han
- * Advanced Windows by Richter pg. # 109. */
-
- unsigned thread_id;
-- unsigned long real_handle =
-- _beginthreadex(NULL, 0, THREAD_ENTRYPOINT, THREAD_ARG, CREATE_SUSPENDED, &thread_id);
-- if (!real_handle)
-+ HANDLE handle =
-+ reinterpret_cast<HANDLE>(_beginthreadex(NULL, 0, THREAD_ENTRYPOINT, THREAD_ARG, CREATE_SUSPENDED, &thread_id));
-+ if (!handle)
- {
-+ // Though MSDN says that _beginthreadex() returns error in errno,
-+ // GetLastError() still works because RTL call no other system
-+ // functions after CreateThread() in the case of error.
-+ // Watch out if it is ever changed.
- Firebird::system_call_failed::raise("_beginthreadex", GetLastError());
- }
-- HANDLE handle = reinterpret_cast<HANDLE>(real_handle);
-
- SetThreadPriority(handle, priority);
-
---
-2.20.1
-
diff --git a/external/firebird/0001-Revert-Backported-fix-for-7122-Invalid-state-of-mapp.patch.1 b/external/firebird/0001-Revert-Backported-fix-for-7122-Invalid-state-of-mapp.patch.1
new file mode 100644
index 000000000000..625ab20ef440
--- /dev/null
+++ b/external/firebird/0001-Revert-Backported-fix-for-7122-Invalid-state-of-mapp.patch.1
@@ -0,0 +1,180 @@
+From f1d64f5eb4569fe722f312d84a3c084c2255e03f Mon Sep 17 00:00:00 2001
+From: Taichi Haradaguchi <20001722@ymail.ne.jp>
+Date: Wed, 22 Nov 2023 21:34:00 +0900
+Subject: [PATCH] Revert "Backported fix for #7122: Invalid state of mapping
+ cache after replacement of database"
+
+This reverts commit 585b2d133a3891b58b7aeb4ddd3ccd124168abf0.
+---
+ src/include/consts_pub.h | 1 -
+ src/include/gen/Firebird.pas | 1 -
+ src/jrd/Mapping.h | 2 +-
+ src/jrd/jrd.cpp | 14 --------------
+ src/jrd/shut.cpp | 7 -------
+ src/utilities/nbackup/nbackup.cpp | 14 +-------------
+ 6 files changed, 2 insertions(+), 37 deletions(-)
+
+diff --git a/src/include/consts_pub.h b/src/include/consts_pub.h
+index 769a3e372b..6107e0975a 100644
+--- a/src/include/consts_pub.h
++++ b/src/include/consts_pub.h
+@@ -123,7 +123,6 @@
+ #define isc_dpb_nolinger 88
+ #define isc_dpb_reset_icu 89
+ #define isc_dpb_map_attach 90
+-#define isc_dpb_clear_map 96
+
+ /**************************************************/
+ /* clumplet tags used inside isc_dpb_address_path */
+diff --git a/src/include/gen/Firebird.pas b/src/include/gen/Firebird.pas
+index a891103b53..66be146060 100644
+--- a/src/include/gen/Firebird.pas
++++ b/src/include/gen/Firebird.pas
+@@ -3233,7 +3233,6 @@ const
+ isc_dpb_nolinger = byte(88);
+ isc_dpb_reset_icu = byte(89);
+ isc_dpb_map_attach = byte(90);
+- isc_dpb_clear_map = byte(96);
+ isc_dpb_address = byte(1);
+ isc_dpb_addr_protocol = byte(1);
+ isc_dpb_addr_endpoint = byte(2);
+diff --git a/src/jrd/Mapping.h b/src/jrd/Mapping.h
+index b5e068d5a0..3ab1c70c92 100644
+--- a/src/jrd/Mapping.h
++++ b/src/jrd/Mapping.h
+@@ -44,7 +44,7 @@ bool mapUser(Firebird::string& name, Firebird::string& trusted_role, Firebird::s
+ void clearMap(const char* dbName);
+ void shutdownMappingIpc();
+
+-class GlobalMappingScan : public VirtualTableScan
++class GlobalMappingScan: public VirtualTableScan
+ {
+ public:
+ GlobalMappingScan(CompilerScratch* csb, const Firebird::string& alias,
+diff --git a/src/jrd/jrd.cpp b/src/jrd/jrd.cpp
+index 43be48c5a6..4200780aa6 100644
+--- a/src/jrd/jrd.cpp
++++ b/src/jrd/jrd.cpp
+@@ -958,7 +958,6 @@ public:
+ bool dpb_reset_icu;
+ bool dpb_map_attach;
+ ULONG dpb_remote_flags;
+- bool dpb_clear_map;
+
+ // here begin compound objects
+ // for constructor to work properly dpb_user_name
+@@ -1473,12 +1472,6 @@ JAttachment* JProvider::internalAttach(CheckStatusWrapper* user_status, const ch
+ if (ISC_check_if_remote(expanded_name, true))
+ ERR_post(Arg::Gds(isc_unavailable));
+
+- // Clear old mapping cache data on request.
+- // Unfortunately have to do it w/o access rights check - to check access rights engine
+- // needs correct mapping which sometimes can't be guaranteed before cleaning cache.
+- if (options.dpb_clear_map)
+- clearMap(expanded_name.c_str());
+-
+ // Check for correct credentials supplied
+ if (existingId)
+ userId = *existingId;
+@@ -2726,9 +2719,6 @@ JAttachment* JProvider::createDatabase(CheckStatusWrapper* user_status, const ch
+
+ dbb->dbb_tip_cache = FB_NEW_POOL(*dbb->dbb_permanent) TipCache(dbb);
+
+- // Clear old mapping cache data (if present)
+- clearMap(dbb->dbb_filename.c_str());
+-
+ // Initialize backup difference subsystem. This must be done before WAL and shadowing
+ // is enabled because nbackup it is a lower level subsystem
+ dbb->dbb_backup_manager = FB_NEW_POOL(*dbb->dbb_permanent) BackupManager(tdbb,
+@@ -6043,10 +6033,6 @@ void DatabaseOptions::get(const UCHAR* dpb, USHORT dpb_length, bool& invalid_cli
+ getString(rdr, dpb_config);
+ break;
+
+- case isc_dpb_clear_map:
+- dpb_clear_map = rdr.getBoolean();
+- break;
+-
+ default:
+ break;
+ }
+diff --git a/src/jrd/shut.cpp b/src/jrd/shut.cpp
+index acfd5e136d..9783e2cab3 100644
+--- a/src/jrd/shut.cpp
++++ b/src/jrd/shut.cpp
+@@ -26,7 +26,6 @@
+ #include "../jrd/scl.h"
+ #include "../jrd/nbak.h"
+ #include "../jrd/ods.h"
+-#include "../jrd/Mapping.h"
+ #include "../jrd/cch_proto.h"
+ #include "../jrd/cmp_proto.h"
+ #include "../jrd/err_proto.h"
+@@ -223,9 +222,6 @@ void SHUT_database(thread_db* tdbb, SSHORT flag, SSHORT delay, Sync* guard)
+ check_backup_state(tdbb);
+ }
+
+- // Clear old mapping cache data (if present)
+- clearMap(dbb->dbb_filename.c_str());
+-
+ attachment->att_flags |= ATT_shutdown_manager;
+
+ // Database is being shutdown. First notification gives shutdown type and delay in seconds.
+@@ -409,9 +405,6 @@ void SHUT_online(thread_db* tdbb, SSHORT flag, Sync* guard)
+ check_backup_state(tdbb);
+ }
+
+- // Clear old mapping cache data (if present)
+- clearMap(dbb->dbb_filename.c_str());
+-
+ // Reset shutdown flag on database header page
+
+ WIN window(HEADER_PAGE_NUMBER);
+diff --git a/src/utilities/nbackup/nbackup.cpp b/src/utilities/nbackup/nbackup.cpp
+index e5384bf67a..4703079d67 100644
+--- a/src/utilities/nbackup/nbackup.cpp
++++ b/src/utilities/nbackup/nbackup.cpp
+@@ -281,7 +281,7 @@ public:
+ username(_username), role(_role), password(_password),
+ run_db_triggers(_run_db_triggers), direct_io(_direct_io),
+ dbase(0), backup(0), decompress(_deco), childId(0), db_size_pages(0),
+- m_odsNumber(0), m_silent(false), m_printed(false), m_flash_map(false)
++ m_odsNumber(0), m_silent(false), m_printed(false)
+ {
+ // Recognition of local prefix allows to work with
+ // database using TCP/IP loopback while reading file locally.
+@@ -347,7 +347,6 @@ private:
+ USHORT m_odsNumber;
+ bool m_silent; // are we already handling an exception?
+ bool m_printed; // pr_error() was called to print status vector
+- bool m_flash_map; // clear mapping cache on attach
+
+ // IO functions
+ FB_SIZE_T read_file(FILE_HANDLE &file, void *buffer, FB_SIZE_T bufsize);
+@@ -954,9 +953,6 @@ void NBackup::attach_database()
+ if (!run_db_triggers)
+ dpb.insertByte(isc_dpb_no_db_triggers, 1);
+
+- if (m_flash_map)
+- dpb.insertByte(isc_dpb_clear_map, 1);
+-
+ if (m_silent)
+ {
+ ISC_STATUS_ARRAY temp;
+@@ -1578,14 +1574,6 @@ void NBackup::restore_database(const BackupFiles& files)
+ {
+ close_database();
+ fixup_database();
+-
+- m_silent = true;
+- m_flash_map = true;
+- run_db_triggers = false;
+-
+- attach_database();
+- detach_database();
+-
+ delete[] page_buffer;
+ return;
+ }
+--
+2.42.1
+
diff --git a/external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1 b/external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1
deleted file mode 100644
index a59e70e06abc..000000000000
--- a/external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1
+++ /dev/null
@@ -1,41 +0,0 @@
-From 8305b41bb262b6e249f2551639fa88392e152287 Mon Sep 17 00:00:00 2001
-From: Stephan Bergmann <sbergman@redhat.com>
-Date: Tue, 7 Sep 2021 08:47:32 +0200
-Subject: [PATCH] extern/cloop: Missing dependencies of compilations on output
- directories
-
-When building Firebird 3.0.7 as part of LibreOffice, we noticed occasional build
-failures like <https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/96392/>
-
-> error: unable to open output file '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/firebird/temp/Debug/cloop/release/tests/test1/CTest.o': 'No such file or directory'
-> 1 error generated.
-> Makefile:72: recipe for target '/home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/firebird/temp/Debug/cloop/release/tests/test1/CTest.o' failed
-
-and while target "all" depends on target "mkdirs" (which would create all those
-directories) in extern/cloop/Makefile, there is no order among the dependencies
-of "all", so no guarantee that the directories are already created when the
-compilation recipes are executed.
----
- extern/cloop/Makefile | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/extern/cloop/Makefile b/extern/cloop/Makefile
-index 3fca0c7356..c5a2b52628 100644
---- a/extern/cloop/Makefile
-+++ b/extern/cloop/Makefile
-@@ -54,10 +54,10 @@ vpath %.c $(SRC_DIRS)
- vpath %.cpp $(SRC_DIRS)
-
- define compile
--$1/%.o: %.c
-+$1/%.o: %.c | $1
- $(CC) -c $$(C_FLAGS) $$< -o $$@
-
--$1/%.o: %.cpp
-+$1/%.o: %.cpp | $1
- $(CXX) -c $$(CXX_FLAGS) $$< -o $$@
- endef
-
---
-2.31.1
-
diff --git a/external/firebird/ExternalPackage_firebird.mk b/external/firebird/ExternalPackage_firebird.mk
index 2416c13d61e6..895f3d344f06 100644
--- a/external/firebird/ExternalPackage_firebird.mk
+++ b/external/firebird/ExternalPackage_firebird.mk
@@ -15,10 +15,10 @@ ifeq ($(OS),WNT)
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/ifbclient.dll,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/bin/ifbclient.dll))
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/Engine12.dll,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/plugins/Engine12.dll))
else ifeq ($(OS),MACOSX)
-$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbclient.dylib.3.0.7,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib/libfbclient.dylib.3.0.7))
+$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbclient.dylib.3.0.11,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib/libfbclient.dylib.3.0.11))
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libEngine12.dylib,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/plugins/libEngine12.dylib))
else ifeq ($(DISABLE_DYNLOADING),)
-$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbclient.so.2,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib/libfbclient.so.3.0.7))
+$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbclient.so.2,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/lib/libfbclient.so.3.0.11))
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libEngine12.so,gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird/plugins/libEngine12.so))
endif
diff --git a/external/firebird/ExternalProject_firebird.mk b/external/firebird/ExternalProject_firebird.mk
index 29a71763600f..5b39fd82b1e3 100644
--- a/external/firebird/ExternalProject_firebird.mk
+++ b/external/firebird/ExternalProject_firebird.mk
@@ -23,7 +23,7 @@ $(eval $(call gb_ExternalProject_register_targets,firebird,\
))
firebird_BUILDDIR = $(EXTERNAL_WORKDIR)/gen/$(if $(ENABLE_DEBUG),Debug,Release)/firebird
-firebird_VERSION := 3.0.7
+firebird_VERSION := 3.0.11
$(call gb_ExternalProject_get_state_target,firebird,build):
$(call gb_Trace_StartRange,firebird,EXTERNAL)
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index 1f76870b8d18..c7d9a881550c 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -21,15 +21,12 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,firebird,\
# * external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 is upstream at
# <https://github.com/FirebirdSQL/firebird/pull/227> "Make comparison operator member functions
# const";
-# * external/firebird/0001-Fix-checks-for-null-HANDLE-in-Windows-only-code.patch.1 is upstream at
-# <https://github.com/FirebirdSQL/firebird/pull/301> "Fix checks for null HANDLE in Windows-only
-# code",
# * external/firebird/0001-extern-cloop-Missing-dependency-of-BIN_DIR-cloop-on-.patch.1 is upstream
# at <https://github.com/FirebirdSQL/firebird/pull/302> "extern/cloop: Missing dependency of
# $(BIN_DIR)/cloop on $(BIN_DIR)",
-# * external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1 is upstream
-# at <https://github.com/FirebirdSQL/firebird/pull/6948> "extern/cloop: Missing dependencies of
-# compilations on output directories":
+# * external/firebird/0001-Revert-Backported-fix-for-7122-Invalid-state-of-mapp.patch.1 is a revert
+# of <https://github.com/FirebirdSQL/firebird/commit/585b2d133a3891b58b7aeb4ddd3ccd124168abf0>
+# "Backported fix for #7122: Invalid state of mapping cache after replacement of database":
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/firebird.disable-ib-util-not-found.patch.1 \
external/firebird/firebird-Engine12.patch \
@@ -40,17 +37,15 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/asan.patch \
external/firebird/firebird-tdf125284.patch.1 \
external/firebird/0001-Make-comparison-operator-member-functions-const.patch.1 \
- external/firebird/0001-Fix-warning-on-Win64-build-231.patch.1 \
external/firebird/macos-arm64.patch.0 \
external/firebird/firebird-btyacc-add-explicit-rule.patch \
external/firebird/firebird-307.patch.1 \
- external/firebird/0001-Fix-checks-for-null-HANDLE-in-Windows-only-code.patch.1 \
external/firebird/0001-extern-cloop-Missing-dependency-of-BIN_DIR-cloop-on-.patch.1 \
external/firebird/msvc.patch \
external/firebird/wnt-per-process-trace-storage.patch.1 \
- external/firebird/0001-extern-cloop-Missing-dependencies-of-compilations-on.patch.1 \
external/firebird/configure-c99.patch \
external/firebird/Wincompatible-function-pointer-types.patch \
+ external/firebird/0001-Revert-Backported-fix-for-7122-Invalid-state-of-mapp.patch.1 \
))
ifeq ($(OS),WNT)
@@ -68,12 +63,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\
))
endif
-ifeq ($(ENABLE_MACOSX_SANDBOX),TRUE)
-$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
- external/firebird/firebird-macosx-sandbox.patch.1 \
-))
-endif
-
ifneq ($(filter -fsanitize=%,$(CC)),)
$(eval $(call gb_UnpackedTarball_add_patches,firebird, \
external/firebird/sanitizer.patch \
diff --git a/external/firebird/asan.patch b/external/firebird/asan.patch
index 2564c54d46ea..30d430466cfb 100644
--- a/external/firebird/asan.patch
+++ b/external/firebird/asan.patch
@@ -1,6 +1,6 @@
--- builds/posix/Makefile.in
+++ builds/posix/Makefile.in
-@@ -323,8 +323,8 @@
+@@ -364,8 +364,8 @@
metadata.fdb: $(RUN_ISQL) $(SRC_ROOT)/dbs/metadata.sql
-$(RM) $@
@@ -11,16 +11,16 @@
$(CHMOD) 0444 $@
$(HELP_FDB): help.fdb
-@@ -333,7 +333,7 @@
+@@ -374,7 +374,7 @@
$(CHMOD) 0444 $@
help.fdb: $(BLD_ROOT)/misc/help.gbak
-- $(RUN_GBAK) -MODE read_only -R $< $@
-+ $(LIBO_TUNNEL_LIBRARY_PATH) $(RUN_GBAK) -MODE read_only -R $< $@
+- $(RUN_GBAK) -MODE read_only -replace $< $@
++ $(LIBO_TUNNEL_LIBRARY_PATH) $(RUN_GBAK) -MODE read_only -replace $< $@
$(CHMOD) 0444 $@
$(SECURITY_FDB): security.fdb
-@@ -343,18 +343,18 @@
+@@ -384,18 +384,18 @@
security.fdb: $(SRC_ROOT)/dbs/security.sql
-$(RM) $@
-$(RM) $(SECURITY_TMP)
@@ -46,7 +46,7 @@
$(TOUCH) $@
-@@ -560,7 +560,7 @@
+@@ -603,7 +603,7 @@
message_file: $(FIREBIRD_MSG)
$(FIREBIRD_MSG): $(BUILD_FILE) msg.timestamp
diff --git a/external/firebird/configure-c99.patch b/external/firebird/configure-c99.patch
index a62a63fb024e..3b5569b8c7c1 100644
--- a/external/firebird/configure-c99.patch
+++ b/external/firebird/configure-c99.patch
@@ -1,6 +1,6 @@
--- configure
+++ configure
-@@ -20518,8 +20518,9 @@
+@@ -20687,8 +20687,9 @@
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -9,9 +9,9 @@
- main () {
+ int main () {
sem_t s;
- exit(sem_init(&s,0,0));
+ return sem_init(&s,0,0);
}
-@@ -21263,8 +21264,9 @@
+@@ -21432,8 +21433,9 @@
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -19,10 +19,10 @@
#include <unistd.h>
- main () {
+ int main () {
- exit(!(sizeof(off_t) == 8));
+ return !(sizeof(off_t) == 8);
}
_ACEOF
-@@ -21478,8 +21480,9 @@
+@@ -21647,8 +21649,9 @@
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -33,7 +33,7 @@
struct s {
char a;
union { long long x; sem_t y; } b;
-@@ -21514,7 +21517,8 @@
+@@ -21683,7 +21686,8 @@
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
diff --git a/external/firebird/firebird-cygwin-msvc-warnings.patch b/external/firebird/firebird-cygwin-msvc-warnings.patch
index 942522439bac..8665b4d8d523 100644
--- a/external/firebird/firebird-cygwin-msvc-warnings.patch
+++ b/external/firebird/firebird-cygwin-msvc-warnings.patch
@@ -47,9 +47,9 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
# Clear out dependancies files created by the gcc compiler
# since when .o and other files are deleted the dependant
diff -ur builds/posix/make.rules builds/posix/make.rules
---- builds/posix/make.rules 2016-07-07 13:56:13.036235166 +0200
-+++ builds/posix/make.rules 2016-07-07 14:31:16.116291485 +0200
-@@ -92,21 +92,21 @@
+--- builds/posix/make.rules 2023-11-11 16:29:34.391837300 +0900
++++ builds/posix/make.rules 2023-11-11 17:08:33.694764600 +0900
+@@ -85,24 +85,24 @@
$(LIBO_TUNNEL_LIBRARY_PATH) $(GPRE_CURRENT) $(GPRE_FLAGS) $(firstword $<) $@
@@ -64,6 +64,10 @@ diff -ur builds/posix/make.rules builds/posix/make.rules
+$(OBJ)/%.$(OBJ_EXT): $(SRC_ROOT)/%.c
$(CC) $(WCFLAGS) -c $(firstword $<) -o $@
+-$(OBJ)/%.o: $(SRC_ROOT)/%.m
++$(OBJ)/%.$(OBJ_EXT): $(SRC_ROOT)/%.m
+ $(CC) $(WCFLAGS) -c $(firstword $<) -o $@
+
-$(OBJ)/%.o: $(OBJ)/%.cpp
+$(OBJ)/%.$(OBJ_EXT): $(OBJ)/%.cpp
$(CXX) $(WCXXFLAGS) -c $(firstword $<) -o $@
@@ -77,15 +81,15 @@ diff -ur builds/posix/make.rules builds/posix/make.rules
$(CC) $(WCFLAGS) -c $(firstword $<) -o $@
.SUFFIXES: .epp .e
---- builds/posix/make.shared.variables.orig 2020-11-12 19:36:29.773409900 +0100
-+++ builds/posix/make.shared.variables 2020-11-12 19:37:14.976503300 +0100
+--- builds/posix/make.shared.variables.orig 2023-08-03 22:46:32.000000000 +0900
++++ builds/posix/make.shared.variables 2023-11-11 17:11:03.453261500 +0900
@@ -1,5 +1,5 @@
# Helper functions
--doObjects= $(patsubst %.y,%.o,$(patsubst %.epp,%.o,$(patsubst %.c,%.o,$(1:.cpp=.o))))
-+doObjects= $(patsubst %.y,%.$(OBJ_EXT),$(patsubst %.epp,%.$(OBJ_EXT),$(patsubst %.c,%.$(OBJ_EXT),$(1:.cpp=.$(OBJ_EXT)))))
+-doObjects= $(patsubst %.m,%.o,$(patsubst %.y,%.o,$(patsubst %.epp,%.o,$(patsubst %.c,%.o,$(1:.cpp=.o)))))
++doObjects= $(patsubst %.m,%.$(OBJ_EXT),$(patsubst %.y,%.$(OBJ_EXT),$(patsubst %.epp,%.$(OBJ_EXT),$(patsubst %.c,%.$(OBJ_EXT),$(1:.cpp=.$(OBJ_EXT))))))
makeObjects= $(addprefix $(OBJ)/$(patsubst ../%,%,$(1))/,$(call doObjects,$2))
dirFiles= $(notdir $(wildcard ../src/$(1)/*.cpp)) $(notdir $(wildcard ../src/$(1)/*.c)) \
- $(notdir $(wildcard ../src/$(1)/*.epp)) $(notdir $(wildcard ../src/$(1)/*.y))
+ $(notdir $(wildcard ../src/$(1)/*.epp)) $(notdir $(wildcard ../src/$(1)/*.y)) \
--- src/include/gen/autoconfig.h.in.orig 2020-11-12 20:52:49.835722200 +0100
+++ src/include/gen/autoconfig.h.in 2020-11-12 20:53:18.148311100 +0100
@@ -773,7 +773,9 @@
@@ -163,8 +167,8 @@ diff -ur builds/posix/make.rules builds/posix/make.rules
+symtab.obj: defs.h
+verbose.obj: defs.h
+warshall.obj: defs.h
---- extern/cloop/Makefile.orig 2020-11-13 10:59:53.282923700 +0100
-+++ extern/cloop/Makefile 2020-11-13 11:00:24.267079900 +0100
+--- extern/cloop/Makefile.orig 2023-11-11 15:59:43.477031600 +0900
++++ extern/cloop/Makefile 2023-11-11 17:22:56.976163500 +0900
@@ -24,8 +24,8 @@
SRCS_C := $(foreach sdir,$(SRC_DIRS),$(wildcard $(sdir)/*.c))
SRCS_CPP := $(foreach sdir,$(SRC_DIRS),$(wildcard $(sdir)/*.cpp))
@@ -189,7 +193,7 @@ diff -ur builds/posix/make.rules builds/posix/make.rules
$(CXX) -c $$(CXX_FLAGS) $$< -o $$@
endef
-@@ -75,11 +75,11 @@
+@@ -79,11 +79,11 @@
-include $(addsuffix .d,$(basename $(OBJS_CPP)))
$(BIN_DIR)/cloop$(EXE_EXT): \
@@ -206,7 +210,7 @@ diff -ur builds/posix/make.rules builds/posix/make.rules
| $(BIN_DIR)
$(LD) $^ -o $@
-@@ -105,24 +105,24 @@
+@@ -110,24 +110,24 @@
$(SRC_DIR)/tests/test1/CppTest.cpp: $(SRC_DIR)/tests/test1/CalcCppApi.h
$(BIN_DIR)/test1-c$(SHRLIB_EXT): \
@@ -250,9 +254,9 @@ diff -ur builds/posix/make.rules builds/posix/make.rules
#ifdef _MSC_VER // don't know if this is useful for MinGW
#define NOATOM
diff -ur builds/posix/Makefile.in.examples builds/posix/Makefile.in.examples
---- builds/posix/Makefile.in.examples 2016-07-07 13:56:13.048235166 +0200
-+++ builds/posix/Makefile.in.examples 2016-07-07 14:37:36.904301682 +0200
-@@ -65,9 +65,9 @@
+--- builds/posix/Makefile.in.examples 2023-08-03 22:46:32.000000000 +0900
++++ builds/posix/Makefile.in.examples 2023-11-11 17:50:22.666278400 +0900
+@@ -67,9 +67,9 @@
EXAMPLES_SRC= $(ROOT)/examples
@@ -264,7 +268,7 @@ diff -ur builds/posix/Makefile.in.examples builds/posix/Makefile.in.examples
INPUT_Files = empddl.sql empdml.sql indexoff.sql indexon.sql \
job.inp lang.inp proj.inp qtr.inp
-@@ -172,3 +175,6 @@
+@@ -173,3 +173,6 @@
$(EXAMPLES_DEST)/%.h: $(EXAMPLES_SRC)/common/%.h
$(CP) $^ $@
diff --git a/external/firebird/firebird-cygwin-msvc.patch b/external/firebird/firebird-cygwin-msvc.patch
index c59c614ba5da..9e7349073a47 100644
--- a/external/firebird/firebird-cygwin-msvc.patch
+++ b/external/firebird/firebird-cygwin-msvc.patch
@@ -16,7 +16,7 @@
+++ src/misc/writeBuildNum.sh 2016-07-13 11:31:18.132820200 +0200
@@ -95,9 +95,9 @@
createMakeVersion() {
-
+
OdsH="${Root}/src/jrd/ods.h"
-Mini="/tmp/miniods.h"
-TestCpp="/tmp/test.cpp"
@@ -24,12 +24,12 @@
+Mini=$(cygpath -m "/tmp/miniods.h")
+TestCpp=$(cygpath -m "/tmp/test.cpp")
+AOut=$(cygpath -m "/tmp/a.out")
-
+
grep ODS_VERSION $OdsH | grep -v ENCODE_ODS >$Mini
-
---- configure 2016-07-07 15:57:04.538983200 +0200
-+++ configure 2016-07-13 11:31:18.132820200 +0200
-@@ -21490,13 +21490,12 @@
+
+--- configure 2023-11-11 02:44:14.576802800 +0900
++++ configure 2023-11-11 02:59:09.005211200 +0900
+@@ -21650,11 +21650,10 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
@@ -40,10 +40,8 @@
- union { long long x; sem_t y; } b;
+ long long b;
};
- exit((int)&((struct s*)1024)->b - 1024);
+ return (int)&((struct s*)1024)->b - 1024;
}
- _ACEOF
- if ac_fn_c_try_run "$LINENO"; then :
--- builds/make.new/config/config.h.in 2016-07-07 15:55:55.693112800 +0200
+++ builds/make.new/config/config.h.in 2016-07-08 13:38:49.994986400 +0200
@@ -211,7 +211,7 @@
@@ -122,8 +120,8 @@
/*****************************************************
diff -ur builds/posix/make.defaults builds/posix/make.defaults
---- builds/posix/make.defaults 2016-07-07 13:56:13.036235166 +0200
-+++ builds/posix/make.defaults 2016-07-07 14:29:52.368289242 +0200
+--- builds/posix/make.defaults 2023-11-11 14:37:21.822343900 +0900
++++ builds/posix/make.defaults 2023-11-11 15:13:06.175152700 +0900
@@ -56,7 +56,7 @@
else
FIREBIRD=$(FB_BUILD)
@@ -155,7 +153,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
SHRLIB_FOREIGN_EXT= $(SHRLIB_EXT)
#_____________________________________________________________________________
-@@ -201,9 +202,8 @@
+@@ -201,9 +201,8 @@
# Search path for libraries
@@ -166,7 +164,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
#_____________________________________________________________________________
-@@ -217,9 +217,9 @@
+@@ -217,9 +216,9 @@
#
#LibraryFileName=libfbclient
@@ -179,7 +177,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
LibraryBaseName=$(LibraryFileName).${SHRLIB_EXT}
LIBFIREBIRD_FULLNAME = $(LIB)/$(LibraryFullName)
-@@ -228,7 +228,7 @@
+@@ -228,7 +227,7 @@
# The firebird engine library name
@@ -188,7 +186,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
EngineSoName=$(EngineFileName).${SHRLIB_EXT}
ENGINE_SONAME = $(PLUGINS)/$(EngineSoName)
-@@ -242,7 +242,7 @@
+@@ -242,7 +241,7 @@
ifeq ($(STD_EDITLINE), true)
LIBEDITLINE := -l$(READLINE)
else
@@ -197,16 +195,16 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
endif
endif
-@@ -313,7 +313,7 @@
+@@ -313,7 +312,7 @@
LIB_LINK_SONAME= -Wl,-soname,$(1)
LIB_LINK_MAPFILE= -Wl,--version-script,$(1)
-FIREBIRD_LIBRARY_LINK= -L$(LIB) -lfbclient $(MATHLIB)
+FIREBIRD_LIBRARY_LINK= -L$(LIB) -lifbclient $(MATHLIB)
- EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(LINK_EMPTY_SYMBOLS)
+ EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(call LINK_DARWIN_RPATH,..) $(LINK_EMPTY_SYMBOLS)
LIB_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) -shared
-@@ -355,7 +355,7 @@
+@@ -355,7 +354,7 @@
# Pay attention - we place common library into obj, not lib dir
# It's just a set of object files, prepared to be used by ld, not an output library
@@ -215,18 +213,18 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
# From utilities
CREATE_DB = $(RBIN)/create_db$(EXEC_EXT)
---- builds/posix/Makefile.in 2016-07-07 15:56:06.459221300 +0200
-+++ builds/posix/Makefile.in 2016-07-13 12:44:57.134217200 +0200
+--- builds/posix/Makefile.in 2023-11-11 14:40:14.036728600 +0900
++++ builds/posix/Makefile.in 2023-11-11 15:27:30.810728700 +0900
@@ -33,7 +33,7 @@
# Alex Peshkoff - created single makefile based on Mark's files
#
-
+
-ROOT=$(shell cd ..; pwd)
+ROOT=$(shell cygpath -m '$(shell cd ..; pwd)')
-
+
include make.defaults
ifeq ($(CROSS_OUT), Y)
-@@ -178,7 +178,7 @@
+@@ -183,7 +183,7 @@
.PHONY: cross1 cross2 boot yvalve engine fbintl gpre utilities plugins rest codes ids examples cross_rest preliminaryCheck
master_process:
@@ -235,16 +233,16 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
$(MAKE) updateBuildNum
$(MAKE) export_lists
$(MAKE) extern
-@@ -214,7 +215,7 @@
+@@ -219,7 +219,7 @@
$(MAKE) CROSS_OUT=Y cross2
-
+
cross1:
- ln -sf $(SRC_ROOT)/include/gen/autoconfig.auto $(SRC_ROOT)/include/gen/autoconfig.h
+ cp -f $(SRC_ROOT)/include/gen/autoconfig.auto $(SRC_ROOT)/include/gen/autoconfig.h
$(MAKE) updateBuildNum
$(MAKE) export_lists
$(MAKE) extern
-@@ -239,7 +240,7 @@
+@@ -244,7 +244,7 @@
$(MAKE) -f Makefile.examples -C $(GEN_ROOT)/examples/
cross2:
@@ -253,7 +251,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
$(MAKE) prerequisites
$(MAKE) tommath
$(MAKE) yvalve
-@@ -310,7 +311,7 @@
+@@ -315,7 +315,7 @@
# remote redirector is statically linked in main FB library
$(LIBFIREBIRD_FULLNAME): $(YValve_Objects) $(Remote_Client_Objects) $(COMMON_LIB)
@@ -262,7 +260,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
#___________________________________________________________________________
-@@ -320,8 +321,8 @@
+@@ -324,8 +324,8 @@
engine: $(ENGINE_SONAME)
@@ -273,7 +271,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
#___________________________________________________________________________
-@@ -330,8 +331,8 @@
+@@ -334,8 +334,8 @@
fbintl: $(LIBFBINTL_SO)
@@ -284,7 +282,7 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
#___________________________________________________________________________
-@@ -427,12 +429,13 @@
+@@ -434,12 +434,13 @@
.PHONY: firebird_server fb_lock_print fbguard fbsvcmgr fbtracemgr gbak gfix gsec gsplit gstat isql nbackup
@@ -295,13 +293,13 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
firebird_server: $(FB_DAEMON)
-$(FB_DAEMON): $(Remote_Server_Objects) $(COMMON_LIB)
-- $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(call LINK_DARWIN_RPATH,..)
+- $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS)
+$(FB_DAEMON): $(Remote_Server_Objects) $(Remote_Client_Objects) $(COMMON_LIB)
-+ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(LIB_GUI) $(call LINK_DARWIN_RPATH,..)
++ $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) $(LIB_GUI)
fb_lock_print: $(LOCKPRINT)
-@@ -633,7 +635,7 @@
+@@ -638,7 +639,7 @@
IBASE_ExtraFiles = include/types_pub.h include/consts_pub.h dsql/sqlda_pub.h common/dsc_pub.h jrd/ibase.h jrd/inf_pub.h jrd/blr.h include/gen/iberror.h
SRC_IBASE_ExtraFiles = $(addprefix $(SRC_ROOT)/, $(IBASE_ExtraFiles))
MAKE_HEADER_Src = $(addprefix $(SRC_ROOT)/, misc/makeHeader.cpp)
@@ -311,14 +309,18 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
$(INCLUDE_DEST)/ibase.h: $(SRC_IBASE_ExtraFiles)
$(STATICEXE_LINK) -o $(MAKE_HEADER_Bin) $(MAKE_HEADER_Src)
diff -ur builds/posix/make.rules builds/posix/make.rules
---- builds/posix/make.rules 2016-07-07 13:56:13.036235166 +0200
-+++ builds/posix/make.rules 2016-07-07 14:31:16.116291485 +0200
-@@ -92,26 +92,23 @@
+--- builds/posix/make.rules 2023-08-03 22:46:32.000000000 +0900
++++ builds/posix/make.rules 2023-11-11 15:41:57.592482300 +0900
+@@ -92,30 +92,26 @@
$(OBJ)/%.o: $(SRC_ROOT)/%.c
$(CC) $(WCFLAGS) -c $(firstword $<) -o $@
- @sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
+ $(OBJ)/%.o: $(SRC_ROOT)/%.m
+ $(CC) $(WCFLAGS) -c $(firstword $<) -o $@
+- @sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
+
$(OBJ)/%.o: $(OBJ)/%.cpp
$(CXX) $(WCXXFLAGS) -c $(firstword $<) -o $@
- @sed $(INLINE_EDIT_SED) -e "1,2s/:/: \$$(wildcard/" -e "\$$s/\(.*\)/\\1)/" $(patsubst %.o,%.d,$@)
@@ -373,7 +375,7 @@ diff -ur builds/posix/prefix.mingw builds/posix/prefix.mingw
+++ builds/posix/prefix.mingw 2016-07-07 14:50:54.704323046 +0200
@@ -20,8 +20,8 @@
#
-
+
# -Wno-unused-variable is used due to unused gpre generated variables
-PROD_FLAGS=-O2 -DMINGW -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor
-DEV_FLAGS=-ggdb -DMINGW -Wall -Wshadow -Wundef -Wno-long-long -Wno-unused-variable -Wno-sign-compare -Wno-parentheses -Wno-switch -fmessage-length=0 -Dlint -DWIN32_LEAN_AND_MEAN -MMD -mthreads -Wno-non-virtual-dtor
@@ -384,7 +386,7 @@ diff -ur builds/posix/prefix.mingw builds/posix/prefix.mingw
@@ -29,6 +29,7 @@
LIB_LINK=$(LD)
-
+
LIB_LINK_OPTIONS+=-Wl,--enable-stdcall-fixup
+LIB_PLATFORM_RPATH=
@@ -393,7 +395,7 @@ diff -ur builds/posix/prefix.mingw builds/posix/prefix.mingw
@@ -36,6 +37,9 @@
LIB_LINK_OPTIONS+=-Wl,-s
endif
-
+
+LIB_LINK_OPTIONS=
+LINK_OPTS=
+
@@ -402,13 +404,13 @@ diff -ur builds/posix/prefix.mingw builds/posix/prefix.mingw
LIB_GUI:= -mwindows -lcomctl32 -lgdi32
@@ -55,7 +59,9 @@
ClientLibrarySoName := $(ClientLibraryName)
-
+
# Looks like MinGW 3 does not support version scripts but support def-files
-LINK_FIREBIRD_SYMBOLS = $(BLD_ROOT)/win32/defs/fbclient_s.def $(BLD_ROOT)/win32/defs/fbclient.def
+LINK_FIREBIRD_SYMBOLS = /def:$(BLD_ROOT)/win32/defs/fbclient_s.def /def:$(BLD_ROOT)/win32/defs/firebird.def
+LINK_PLUGIN_SYMBOLS = /def:$(BLD_ROOT)/win32/defs/plugin.def
+LINK_IBUTIL_SYMBOLS = /def:$(BLD_ROOT)/win32/defs/ib_util.def
-
+
# This is required for newly built executable to find newly built shared
# libraries because on Win32 there is no such thing as LD_LIBRARY_PATH
--- builds/posix/make.shared.variables 2016-07-22 17:07:46.650672300 +0200
@@ -427,7 +429,7 @@ diff -ur configure configure
@@ -3337,6 +3337,14 @@
SHRLIB_EXT=dll
;;
-
+
+ *-*-cygwin*)
+ MAKEFILE_PREFIX=mingw
+ PLATFORM=win32
@@ -502,8 +504,8 @@ diff -ur extern/btyacc/Makefile extern/btyacc/Makefile
#ifdef WIN32
#include <windows.h>
#define DLL_EXPORT __declspec(dllexport)
---- extern/cloop/Makefile 2016-07-07 15:56:28.279136300 +0200
-+++ extern/cloop/Makefile 2016-07-13 16:22:38.493479800 +0200
+--- extern/cloop/Makefile 2023-11-11 14:40:41.522517700 +0900
++++ extern/cloop/Makefile 2023-11-11 15:59:43.477031600 +0900
@@ -11,8 +11,8 @@
SRC_DIR := src
BUILD_DIR := build
@@ -544,7 +546,7 @@ diff -ur extern/btyacc/Makefile extern/btyacc/Makefile
$(OBJ_DIRS) $(BIN_DIR) $(LIB_DIR):
@mkdir -p $@
-@@ -74,7 +74,7 @@
+@@ -74,7 +78,7 @@
-include $(addsuffix .d,$(basename $(OBJS_C)))
-include $(addsuffix .d,$(basename $(OBJS_CPP)))
@@ -553,7 +555,7 @@ diff -ur extern/btyacc/Makefile extern/btyacc/Makefile
$(OBJ_DIR)/cloop/Expr.o \
$(OBJ_DIR)/cloop/Generator.o \
$(OBJ_DIR)/cloop/Lexer.o \
-@@ -83,20 +83,20 @@
+@@ -84,20 +88,20 @@
$(LD) $^ -o $@
@@ -582,7 +584,7 @@ diff -ur extern/btyacc/Makefile extern/btyacc/Makefile
--uses "SysUtils" \
--interfaceFile $(SRC_DIR)/tests/test1/CalcPascalApi.interface.pas \
--implementationFile $(SRC_DIR)/tests/test1/CalcPascalApi.implementation.pas \
-@@ -108,23 +108,23 @@
+@@ -109,23 +113,23 @@
$(OBJ_DIR)/tests/test1/CalcCApi.o \
$(OBJ_DIR)/tests/test1/CTest.o \
@@ -638,9 +640,9 @@ diff -ur src/misc/makeHeader.cpp src/misc/makeHeader.cpp
#include <unistd.h>
-//#endif
+#endif
-
-
-
+
+
+
--- builds/posix/Makefile.in.plugins_examples.orig 2020-11-13 18:07:52.515550600 +0100
+++ builds/posix/Makefile.in.plugins_examples 2020-11-13 18:08:33.218626500 +0100
@@ -28,7 +28,7 @@
diff --git a/external/firebird/firebird-macosx-sandbox.patch.1 b/external/firebird/firebird-macosx-sandbox.patch.1
deleted file mode 100644
index 3bf246c682ba..000000000000
--- a/external/firebird/firebird-macosx-sandbox.patch.1
+++ /dev/null
@@ -1,13 +0,0 @@
--*- Mode: Diff -*-
-
---- firebird/src/common/isc_s_proto.h
-+++ firebird/src/common/isc_s_proto.h
-@@ -37,6 +37,8 @@
- // Firebird platform-specific synchronization data structures
-
- #if defined(DARWIN)
-+#define USE_POSIX_SEMAPHORE
-+#define USE_SHARED_FUTEX
- #define USE_FILELOCKS
- #endif
-
diff --git a/external/firebird/firebird-macosx.patch.1 b/external/firebird/firebird-macosx.patch.1
index 676f2195ad55..c9c41c000c65 100644
--- a/external/firebird/firebird-macosx.patch.1
+++ b/external/firebird/firebird-macosx.patch.1
@@ -20,18 +20,7 @@
-
#DYLD_PRINT_ENV=1
#export DYLD_PRINT_ENV
-
-@@ -31,8 +31,8 @@
- MACOSX_DEPLOYMENT_TARGET=10.9
- export MACOSX_DEPLOYMENT_TARGET
--PROD_FLAGS=-DDARWIN -pipe -O2 -MMD -fPIC -fno-common -mmacosx-version-min=10.9
--DEV_FLAGS=-ggdb -DDARWIN -pipe -MMD -fPIC -fno-omit-frame-pointer -fno-common -Wall -fno-optimize-sibling-calls -mmacosx-version-min=10.9 -Wno-non-virtual-dtor
-+PROD_FLAGS=-DDARWIN -pipe -O2 -MMD -fPIC -fno-common
-+DEV_FLAGS=-ggdb -DDARWIN -pipe -MMD -fPIC -fno-omit-frame-pointer -fno-common -Wall -fno-optimize-sibling-calls -Wno-non-virtual-dtor
- CXXFLAGS:=$(CXXFLAGS) -fvisibility-inlines-hidden -fvisibility=hidden -stdlib=libc++ -msse4
-
- EXE_LINK_OPTIONS:=
--- firebird.org/src/common/unicode_util.cpp 2016-07-07 13:55:55.992234709 +0200
+++ firebird/src/common/unicode_util.cpp 2016-08-10 11:25:46.422331020 +0200
@@ -63,8 +63,8 @@
diff --git a/external/firebird/sanitizer.patch b/external/firebird/sanitizer.patch
index 3707b5bf54af..52ff5ddddfc7 100644
--- a/external/firebird/sanitizer.patch
+++ b/external/firebird/sanitizer.patch
@@ -21,7 +21,7 @@
+_ZTI*
--- builds/posix/make.defaults
+++ builds/posix/make.defaults
-@@ -252,7 +252,7 @@
+@@ -263,7 +263,7 @@
# LINKER OPTIONS
#
@@ -30,12 +30,12 @@
ifeq ($(TARGET),Debug)
UNDEF_FLAGS = $(UNDEF_PLATFORM)
endif
-@@ -291,7 +291,7 @@
+@@ -315,7 +315,7 @@
LIB_LINK_MAPFILE= -Wl,--version-script,$(1)
FIREBIRD_LIBRARY_LINK= -L$(LIB) -lfbclient $(MATHLIB)
--EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(LINK_EMPTY_SYMBOLS)
-+EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS)
+-EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(call LINK_DARWIN_RPATH,..) $(LINK_EMPTY_SYMBOLS)
++EXE_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) $(UNDEF_FLAGS) $(LIB_PATH_OPTS) $(call LINK_DARWIN_RPATH,..)
LIB_LINK_OPTIONS= $(LDFLAGS) $(THR_FLAGS) -shared
FB_DAEMON = $(BIN)/firebird$(EXEC_EXT)
diff --git a/external/firebird/ubsan.patch b/external/firebird/ubsan.patch
index fa296108d3d6..4f55bfc7a54b 100644
--- a/external/firebird/ubsan.patch
+++ b/external/firebird/ubsan.patch
@@ -1,20 +1,20 @@
--- configure
+++ configure
-@@ -21506,7 +21468,7 @@
+@@ -21637,7 +21637,7 @@
char a;
union { long long x; sem_t y; } b;
};
-- exit((int)&((struct s*)0)->b);
-+ exit((int)&((struct s*)1024)->b - 1024);
+- return (int)&((struct s*)0)->b;
++ return (int)&((struct s*)1024)->b - 1024;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
-@@ -21541,7 +21503,7 @@
+@@ -21672,7 +21672,7 @@
char a;
double b;
};
-- exit((int)&((struct s*)0)->b);
-+ exit((int)&((struct s*)1024)->b - 1024);
+- return (int)&((struct s*)0)->b;
++ return (int)&((struct s*)1024)->b - 1024;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -86,15 +86,6 @@
return *this;
}
StringType& assign(const_pointer s)
---- src/common/common.h
-+++ src/common/common.h
-@@ -1002,6 +1002,5 @@
- }
-
- #undef UCHAR_TYPE
--#define UCHAR_TYPE uint16_t
-
- #endif /* COMMON_COMMON_H */
--- src/common/unicode_util.cpp
+++ src/common/unicode_util.cpp
@@ -187,7 +187,7 @@