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-cygwin-msvc-warnings.patch                          
     |    4 +-
 external/firebird/firebird-vs2017.patch.1                                      
     |   12 ++++++
 external/firebird/macos-arm64.patch.0                                          
     |   19 +++++++---
 10 files changed, 62 insertions(+), 23 deletions(-)

New commits:
commit daaf43e06bef5072c2e872a5a3b57c79fb0a487d
Author:     Xisco Fauli <[email protected]>
AuthorDate: Fri Mar 6 09:04:39 2026 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Sat Mar 7 00:10:27 2026 +0100

    Revert "firebird: upgrade to 3.0.12.33787"
    
    This reverts commit 7952cfcd7e539ca9b6efc622b8a457ef4128f279.
    
    it's causing some tests to fail on Windows with
    
    ##Failure Location unknown## : Error
    Test name: MigrationTest::testTime
    An uncaught UNO exception
    - com.sun.star.sdbc.SQLException: {Message: "firebird_sdbc error:
    *Wrong file for memory mapping, see details in firebird.log
    caused by
    'isc_create_database'
     at 
E:/jenkins/workspace/gerrit_windows_wsl/connectivity/source/drivers/firebird/Util.cxx:69",
 Context: @0000002A787862E0, SQLState: "", ErrorCode: 1, NextException: void: 
void}
    
    Change-Id: Id7928999ff34cf6e81c1b1ed560411f59adb3a6e
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201100
    Tested-by: Xisco Fauli <[email protected]>
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/download.lst b/download.lst
index 36b57dd4b9b1..596cacbf6f0d 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 := 
85b2bf0dd8f71d4814e077fac3f4dcb3015f4b4eaa76ffa0e7549f216602811f
-FIREBIRD_TARBALL := Firebird-3.0.12.33787-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-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 f67bb097dcff..625ab20ef440 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,6 +38,19 @@ 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
@@ -120,10 +133,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
-@@ -282,7 +282,7 @@
+@@ -281,7 +281,7 @@ public:
+               username(_username), role(_role), password(_password),
                run_db_triggers(_run_db_triggers), direct_io(_direct_io),
-               dbase(INVALID_HANDLE_VALUE), backup(INVALID_HANDLE_VALUE),
-               decompress(_deco), childId(0), db_size_pages(0),
+               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)
        {
diff --git a/external/firebird/ExternalPackage_firebird.mk 
b/external/firebird/ExternalPackage_firebird.mk
index def1db3437a8..83fc4967b448 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.12,gen/$(if
 $(ENABLE_DEBUG),Debug,Release)/firebird/lib/libfbclient.dylib.3.0.12))
+$(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))
 $(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.12))
+$(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))
 $(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 c44b007513d7..8b249e54bf5d 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.12
+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 796130ba7571..fb533fcb5014 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -55,6 +55,7 @@ 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 acebc9e865fa..30d430466cfb 100644
--- a/external/firebird/asan.patch
+++ b/external/firebird/asan.patch
@@ -141,15 +141,16 @@
  
 --- src/common/classes/alloc.h
 +++ src/common/classes/alloc.h
-@@ -290,6 +290,7 @@
- #pragma warning(disable : 4595)               // non-member operator new or 
delete functions may not be declared inline
- #endif
+@@ -295,40 +295,60 @@
+ 
+ // operators new and delete
  
 +#if !defined USE_ASAN
  inline void* operator new(size_t s ALLOC_PARAMS)
  {
        return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS);
-@@ -298,16 +299,26 @@
+ }
+ inline void* operator new[](size_t s ALLOC_PARAMS)
  {
        return MemoryPool::globalAlloc(s ALLOC_PASS_ARGS);
  }
@@ -176,7 +177,8 @@
  inline void operator delete(void* mem ALLOC_PARAMS) throw()
  {
        MemoryPool::globalFree(mem);
-@@ -316,14 +327,23 @@
+ }
+ inline void operator delete[](void* mem ALLOC_PARAMS) throw()
  {
        MemoryPool::globalFree(mem);
  }
@@ -199,7 +201,7 @@
 +#endif
  }
  
- #if _MSC_VER >= 1900
+ #ifdef DEBUG_GDS_ALLOC
 --- 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 1b61cb39e0c5..4863b89bd8fd 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 ();
-@@ -290,20 +290,20 @@
- #pragma warning(disable : 4595)               // non-member operator new or 
delete functions may not be declared inline
- #endif
+@@ -289,20 +289,20 @@
+ 
+ // operators new and delete
  
 -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
new file mode 100644
index 000000000000..3c7db187485c
--- /dev/null
+++ b/external/firebird/firebird-vs2017.patch.1
@@ -0,0 +1,12 @@
+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 b7da14627800..ab2596dbd987 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
-@@ -246,6 +246,12 @@
- #define DARWIN64              // Wrong, bad, but I follow HEAD rules for a 
while
+@@ -234,6 +234,12 @@
+ #define DARWINPPC64
+ #define FB_CPU CpuPowerPc64
  #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) || defined(ARM64)
+ #if defined(ARM)
  #define FB_PLATFORM     "UA"
  #endif
 +#if defined(__aarch64__)
@@ -96,3 +96,14 @@
 +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>
commit bddad5774b683ad3f583751feeb290309f6ab8d4
Author:     Xisco Fauli <[email protected]>
AuthorDate: Fri Mar 6 09:02:14 2026 +0100
Commit:     Xisco Fauli <[email protected]>
CommitDate: Sat Mar 7 00:10:14 2026 +0100

    Revert "firebird: upgrade to 3.0.13.33818"
    
    This reverts commit 5b8b35946557de8f834e593ca5775fab46ab31f7.
    
    After
    commit 7952cfcd7e539ca9b6efc622b8a457ef4128f279
    Author: Xisco Fauli <[email protected]>
    Date:   Tue Feb 10 09:56:37 2026 +0100
    
        firebird: upgrade to 3.0.12.33787
    
    Some tests are failing on Windows with
    
    ##Failure Location unknown## : Error
    Test name: MigrationTest::testTime
    An uncaught UNO exception
    - com.sun.star.sdbc.SQLException: {Message: "firebird_sdbc error:
    *Wrong file for memory mapping, see details in firebird.log
    caused by
    'isc_create_database'
     at 
E:/jenkins/workspace/gerrit_windows_wsl/connectivity/source/drivers/firebird/Util.cxx:69",
 Context: @0000002A787862E0, SQLState: "", ErrorCode: 1, NextException: void: 
void}
    
    Reverting this patch as well since it depends on
    7952cfcd7e539ca9b6efc622b8a457ef4128f279
    
    Change-Id: I5f9c4d4b7fc3f712ce3225740ec531ebd5d811bd
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/201099
    Reviewed-by: Xisco Fauli <[email protected]>
    Tested-by: Xisco Fauli <[email protected]>

diff --git a/download.lst b/download.lst
index e3af86450a7a..36b57dd4b9b1 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 := 
bd263c4f685fb8fc3f1dcb8be8a411033cc31c5404d1dfce5d3849aa3f63a64d
-FIREBIRD_TARBALL := Firebird-3.0.13.33818-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/ExternalPackage_firebird.mk 
b/external/firebird/ExternalPackage_firebird.mk
index 33416eea12fe..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.13,gen/$(if
 $(ENABLE_DEBUG),Debug,Release)/firebird/lib/libfbclient.dylib.3.0.13))
+$(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.13))
+$(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 140a6624484f..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.13
+firebird_VERSION := 3.0.12
 
 $(call gb_ExternalProject_get_state_target,firebird,build):
        $(call gb_Trace_StartRange,firebird,EXTERNAL)
diff --git a/external/firebird/firebird-cygwin-msvc-warnings.patch 
b/external/firebird/firebird-cygwin-msvc-warnings.patch
index 74f581541573..8665b4d8d523 100644
--- a/external/firebird/firebird-cygwin-msvc-warnings.patch
+++ b/external/firebird/firebird-cygwin-msvc-warnings.patch
@@ -4,8 +4,8 @@ diff -ur builds/posix/make.defaults builds/posix/make.defaults
 @@ -102,7 +102,7 @@
  #____________________________________________________________________________
  
- # Firebird needs no RTTI, make it build with icu-76.1
--RTTI_FLAG:= -fno-rtti -DU_SHOW_CPLUSPLUS_API=0 -DU_SHOW_CPLUSPLUS_HEADER_API=0
+ # Firebird needs no RTTI
+-RTTI_FLAG:= -fno-rtti
 +RTTI_FLAG:=
  
  # If this is defined then we use special rules useful for developers only

Reply via email to