download.lst
| 4 +-
external/firebird/0001-Revert-Backported-fix-for-7122-Invalid-state-of-mapp.patch.1
| 19 +---------
external/firebird/ExternalPackage_firebird.mk
| 4 +-
external/firebird/ExternalProject_firebird.mk
| 2 -
external/firebird/UnpackedTarball_firebird.mk
| 1
external/firebird/asan.patch
| 14 +++----
external/firebird/c++17.patch
| 6 +--
external/firebird/firebird-vs2017.patch.1
| 12 ------
external/firebird/macos-arm64.patch.0
| 19 ++--------
9 files changed, 21 insertions(+), 60 deletions(-)
New commits:
commit 7952cfcd7e539ca9b6efc622b8a457ef4128f279
Author: Xisco Fauli <[email protected]>
AuthorDate: Tue Feb 10 09:56:37 2026 +0100
Commit: Xisco Fauli <[email protected]>
CommitDate: Tue Feb 10 17:29:51 2026 +0100
firebird: upgrade to 3.0.12.33787
Downloaded from
https://github.com/FirebirdSQL/firebird/releases/download/v3.0.12/Firebird-3.0.12.33787-0.tar.bz2
Change-Id: Ia956269665587ada63fcf5854317b4dbaf7d4b6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199024
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <[email protected]>
diff --git a/download.lst b/download.lst
index 829e92f02f6f..3e2bc4511e5a 100644
--- a/download.lst
+++ b/download.lst
@@ -116,8 +116,8 @@ EXPAT_TARBALL := expat-2.7.4.tar.xz
# three static lines
# so that git cherry-pick
# will not run into conflicts
-FIREBIRD_SHA256SUM :=
c716fc1c788ed614050f5469e1ba0ff442c2f1f7b907a2c808a8bac1dc3d6f83
-FIREBIRD_TARBALL := Firebird-3.0.11.33703-0.tar.bz2
+FIREBIRD_SHA256SUM :=
85b2bf0dd8f71d4814e077fac3f4dcb3015f4b4eaa76ffa0e7549f216602811f
+FIREBIRD_TARBALL := Firebird-3.0.12.33787-0.tar.bz2
# three static lines
# so that git cherry-pick
# will not run into conflicts
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
index 625ab20ef440..f67bb097dcff 100644
---
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
@@ -38,19 +38,6 @@ index a891103b53..66be146060 100644
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
@@ -133,10 +120,10 @@ diff --git a/src/utilities/nbackup/nbackup.cpp
b/src/utilities/nbackup/nbackup.c
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),
+@@ -282,7 +282,7 @@
run_db_triggers(_run_db_triggers), direct_io(_direct_io),
- dbase(0), backup(0), decompress(_deco), childId(0),
db_size_pages(0),
+ dbase(INVALID_HANDLE_VALUE), backup(INVALID_HANDLE_VALUE),
+ 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)
{
diff --git a/external/firebird/ExternalPackage_firebird.mk
b/external/firebird/ExternalPackage_firebird.mk
index 83fc4967b448..def1db3437a8 100644
--- a/external/firebird/ExternalPackage_firebird.mk
+++ b/external/firebird/ExternalPackage_firebird.mk
@@ -16,11 +16,11 @@ $(eval $(call
gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/ifbclient.
$(eval $(call
gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/Engine12.dll,gen/$(if
$(ENABLE_DEBUG),Debug,Release)/firebird/plugins/Engine12.dll))
$(eval $(call
gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/intl/fbintl.dll,gen/$(if
$(ENABLE_DEBUG),Debug,Release)/firebird/intl/fbintl.dll))
else ifeq ($(OS),MACOSX)
-$(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)/libfbclient.dylib.3.0.12,gen/$(if
$(ENABLE_DEBUG),Debug,Release)/firebird/lib/libfbclient.dylib.3.0.12))
$(eval $(call
gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libEngine12.dylib,gen/$(if
$(ENABLE_DEBUG),Debug,Release)/firebird/plugins/libEngine12.dylib))
$(eval $(call
gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/intl/libfbintl.dylib,gen/$(if
$(ENABLE_DEBUG),Debug,Release)/firebird/intl/libfbintl.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.11))
+$(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.12))
$(eval $(call
gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libEngine12.so,gen/$(if
$(ENABLE_DEBUG),Debug,Release)/firebird/plugins/libEngine12.so))
$(eval $(call
gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/intl/libfbintl.so,gen/$(if
$(ENABLE_DEBUG),Debug,Release)/firebird/intl/libfbintl.so))
endif
diff --git a/external/firebird/ExternalProject_firebird.mk
b/external/firebird/ExternalProject_firebird.mk
index 8b249e54bf5d..c44b007513d7 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.11
+firebird_VERSION := 3.0.12
$(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 8d832bae2892..f812e06fe924 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -55,7 +55,6 @@ ifeq ($(OS),WNT)
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/firebird-cygwin-msvc.patch \
external/firebird/firebird-cygwin-msvc-warnings.patch \
- external/firebird/firebird-vs2017.patch.1 \
))
endif
diff --git a/external/firebird/asan.patch b/external/firebird/asan.patch
index 30d430466cfb..acebc9e865fa 100644
--- a/external/firebird/asan.patch
+++ b/external/firebird/asan.patch
@@ -141,16 +141,15 @@
--- src/common/classes/alloc.h
+++ src/common/classes/alloc.h
-@@ -295,40 +295,60 @@
-
- // operators new and delete
+@@ -290,6 +290,7 @@
+ #pragma warning(disable : 4595) // non-member operator new or
delete functions may not be declared inline
+ #endif
+#if !defined USE_ASAN
inline void* operator new(size_t s ALLOC_PARAMS)
{
return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS);
- }
- inline void* operator new[](size_t s ALLOC_PARAMS)
+@@ -298,16 +299,26 @@
{
return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS);
}
@@ -177,8 +176,7 @@
inline void operator delete(void* mem ALLOC_PARAMS) throw()
{
MemoryPool::globalFree(mem);
- }
- inline void operator delete[](void* mem ALLOC_PARAMS) throw()
+@@ -316,14 +327,23 @@
{
MemoryPool::globalFree(mem);
}
@@ -201,7 +199,7 @@
+#endif
}
- #ifdef DEBUG_GDS_ALLOC
+ #if _MSC_VER >= 1900
--- src/include/firebird.h
+++ src/include/firebird.h
@@ -38,8 +38,17 @@
diff --git a/external/firebird/c++17.patch b/external/firebird/c++17.patch
index 4863b89bd8fd..1b61cb39e0c5 100644
--- a/external/firebird/c++17.patch
+++ b/external/firebird/c++17.patch
@@ -284,9 +284,9 @@
static void globalFree(void* mem) throw ();
void deallocate(void* mem) throw ();
-@@ -289,20 +289,20 @@
-
- // operators new and delete
+@@ -290,20 +290,20 @@
+ #pragma warning(disable : 4595) // non-member operator new or
delete functions may not be declared inline
+ #endif
-inline void* operator new(size_t s ALLOC_PARAMS) throw (OOM_EXCEPTION)
+inline void* operator new(size_t s ALLOC_PARAMS)
diff --git a/external/firebird/firebird-vs2017.patch.1
b/external/firebird/firebird-vs2017.patch.1
deleted file mode 100644
index 3c7db187485c..000000000000
--- a/external/firebird/firebird-vs2017.patch.1
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru firebird.orig/src/common/os/win32/mod_loader.cpp
firebird/src/common/os/win32/mod_loader.cpp
---- firebird.orig/src/common/os/win32/mod_loader.cpp 2017-02-15
22:11:48.939042400 +0100
-+++ firebird/src/common/os/win32/mod_loader.cpp 2017-02-15
22:12:30.062262700 +0100
-@@ -101,7 +101,7 @@
- "msvcr110.dll",
- #elif _MSC_VER == 1800
- "msvcr120.dll",
--#elif _MSC_VER >= 1900 && _MSC_VER < 1920
-+#elif _MSC_VER >= 1900 && _MSC_VER < 2000
- "vcruntime140.dll",
- #else
- #error Specify CRT DLL name here !
diff --git a/external/firebird/macos-arm64.patch.0
b/external/firebird/macos-arm64.patch.0
index ab2596dbd987..b7da14627800 100644
--- a/external/firebird/macos-arm64.patch.0
+++ b/external/firebird/macos-arm64.patch.0
@@ -26,10 +26,10 @@
MAKEFILE_POSTFIX=darwin
--- src/common/common.h
+++ src/common/common.h
-@@ -234,6 +234,12 @@
- #define DARWINPPC64
- #define FB_CPU CpuPowerPc64
+@@ -246,6 +246,12 @@
+ #define DARWIN64 // Wrong, bad, but I follow HEAD rules for a
while
#endif
+
+#ifdef __aarch64__
+// This means x86_64, but does it matter? There is no arch_arm64,
arch_aarch64, arch_darwin_arm64,
+// or arch_darwin_aarch64 in the P_ARCH enum in src/remote/protocol.h.
@@ -42,7 +42,7 @@
--- src/jrd/license.h
+++ src/jrd/license.h
@@ -128,6 +128,9 @@
- #if defined(ARM)
+ #if defined(ARM) || defined(ARM64)
#define FB_PLATFORM "UA"
#endif
+#if defined(__aarch64__)
@@ -96,14 +96,3 @@
+SO_LINK_LIBS+=-liconv
+
+include $(ROOT)/gen/darwin.defaults
---- src/isql/InputDevices.cpp
-+++ src/isql/InputDevices.cpp
-@@ -23,7 +23,7 @@
-
- #include "firebird.h"
- #if defined(DARWIN) && !defined(IOS)
--#if defined(i386) || defined(__x86_64__)
-+#if defined(i386) || defined(__x86_64__) || defined(__arm64__)
- #include <architecture/i386/io.h>
- #else
- #include <io.h>