summaryrefslogtreecommitdiffstats
path: root/external/firebird
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2016-01-29 16:30:11 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2016-01-29 16:31:46 +0100
commit338441f9517e3cd3b54cd0b7fe5695b7724568da (patch)
treecad9e98c3768c1399343323a1ed2181ca151a6de /external/firebird
parenttesttools: disable MSVC warning C4503 (diff)
downloadcore-338441f9517e3cd3b54cd0b7fe5695b7724568da.tar.gz
core-338441f9517e3cd3b54cd0b7fe5695b7724568da.zip
Revert "new upstream version Firebird 2.5.5"
This reverts commit 8d5bca2a40d1fded921165cfc5637ff763b21510.
Diffstat (limited to 'external/firebird')
-rw-r--r--external/firebird/ExternalPackage_firebird.mk4
-rw-r--r--external/firebird/ExternalProject_firebird.mk2
-rw-r--r--external/firebird/UnpackedTarball_firebird.mk1
-rw-r--r--external/firebird/firebird-c++11.patch.1214
-rw-r--r--external/firebird/firebird-c++11replfn.patch.050
5 files changed, 268 insertions, 3 deletions
diff --git a/external/firebird/ExternalPackage_firebird.mk b/external/firebird/ExternalPackage_firebird.mk
index 6e757d8d9744..3b921edfada3 100644
--- a/external/firebird/ExternalPackage_firebird.mk
+++ b/external/firebird/ExternalPackage_firebird.mk
@@ -14,9 +14,9 @@ $(eval $(call gb_ExternalPackage_use_external_project,firebird,firebird))
ifeq ($(OS)-$(COM),WNT-MSC)
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/ifbembed.dll,gen/firebird/bin/ifbembed.dll))
else ifeq ($(OS),MACOSX)
-$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.dylib,gen/firebird/lib/libfbembed.dylib.2.5.5))
+$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.dylib,gen/firebird/lib/libfbembed.dylib.2.5.4))
else ifeq ($(DISABLE_DYNLOADING),)
-$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.so.2.5,gen/firebird/lib/libfbembed.so.2.5.5))
+$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_LIB_FOLDER)/libfbembed.so.2.5,gen/firebird/lib/libfbembed.so.2.5.4))
endif
$(eval $(call gb_ExternalPackage_add_file,firebird,$(LIBO_SHARE_FOLDER)/firebird/firebird.msg,gen/firebird/firebird.msg))
diff --git a/external/firebird/ExternalProject_firebird.mk b/external/firebird/ExternalProject_firebird.mk
index 353786a83a93..8d09a255ba4d 100644
--- a/external/firebird/ExternalProject_firebird.mk
+++ b/external/firebird/ExternalProject_firebird.mk
@@ -63,6 +63,6 @@ $(call gb_ExternalProject_get_state_target,firebird,build):
$(MAKE) CPU=$(PARALLELISM) SHELL=$(SHELL) firebird_embedded \
$(if $(filter MACOSX,$(OS)),&& $(PERL) \
$(SRCDIR)/solenv/bin/macosx-change-install-names.pl shl OOO \
- $(gb_Package_SOURCEDIR_firebird)/gen/firebird/lib/libfbembed.dylib.2.5.5) \
+ $(gb_Package_SOURCEDIR_firebird)/gen/firebird/lib/libfbembed.dylib.2.5.4) \
)
# vim: set noet sw=4 ts=4:
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index d04a350a66c2..9701fc2f0108 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,firebird,0))
$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
external/firebird/firebird-rpath.patch.0 \
external/firebird/firebird-c++11.patch.1 \
+ external/firebird/firebird-c++11replfn.patch.0 \
external/firebird/firebird.disable-ib-util-not-found.patch.1 \
external/firebird/firebird-c++14.patch \
))
diff --git a/external/firebird/firebird-c++11.patch.1 b/external/firebird/firebird-c++11.patch.1
index 8f22616862e0..289057766016 100644
--- a/external/firebird/firebird-c++11.patch.1
+++ b/external/firebird/firebird-c++11.patch.1
@@ -14,6 +14,163 @@
blr_eoc
};
static FB_API_HANDLE req_handle;
+--- firebird/src/gpre/c_cxx.cpp
++++ firebird/src/gpre/c_cxx.cpp
+@@ -876,7 +876,7 @@
+ if (based_on->bas_flags & BAS_segment)
+ {
+ if (*variable != '*')
+- fprintf(gpreGlob.out_file, "[%"SLONGFORMAT"]", length);
++ fprintf(gpreGlob.out_file, "[%" SLONGFORMAT "]", length);
+ }
+ else if (field->fld_array_info)
+ {
+@@ -885,7 +885,7 @@
+ for (const dim* dimension = field->fld_array_info->ary_dimension;
+ dimension; dimension = dimension->dim_next)
+ {
+- fprintf(gpreGlob.out_file, " [%"SLONGFORMAT"]", dimension->dim_upper - dimension->dim_lower + 1);
++ fprintf(gpreGlob.out_file, " [%" SLONGFORMAT "]", dimension->dim_upper - dimension->dim_lower + 1);
+ }
+
+ if (field->fld_array_info->ary_dtype <= dtype_varying && field->fld_length > 1)
+@@ -1577,7 +1577,7 @@
+ const gpre_dbb* db = (gpre_dbb*) action->act_object;
+ align(column);
+
+- fprintf(gpreGlob.out_file, "isc_drop_database (%s, %"SIZEFORMAT", \"%s\", rdb$k_db_type_gds);",
++ fprintf(gpreGlob.out_file, "isc_drop_database (%s, %" SIZEFORMAT ", \"%s\", rdb$k_db_type_gds);",
+ status_vector(action),
+ strlen(db->dbb_filename), db->dbb_filename);
+ set_sqlcode(action, column);
+@@ -3471,7 +3471,7 @@
+
+ static void gen_type( const act* action, int column)
+ {
+- printa(column, "%"SLONGFORMAT, (SLONG)(IPTR)action->act_object);
++ printa(column, "%" SLONGFORMAT, (SLONG)(IPTR)action->act_object);
+ }
+
+
+@@ -3623,7 +3623,7 @@
+ for (const dim* dimension = field->fld_array_info->ary_dimension; dimension;
+ dimension = dimension->dim_next)
+ {
+- fprintf(gpreGlob.out_file, " [%"SLONGFORMAT"]", dimension->dim_upper - dimension->dim_lower + 1);
++ fprintf(gpreGlob.out_file, " [%" SLONGFORMAT "]", dimension->dim_upper - dimension->dim_lower + 1);
+ }
+
+ if (field->fld_array_info->ary_dtype <= dtype_varying)
+--- firebird/src/gpre/exp.cpp
++++ firebird/src/gpre/exp.cpp
+@@ -398,7 +398,7 @@
+ if (gpreGlob.token_global.tok_type != tok_number)
+ CPR_s_error("<number>");
+
+- const char format[8] = "%"SQUADFORMAT;
++ const char format[8] = "%" SQUADFORMAT;
+ SINT64 n;
+ sscanf(gpreGlob.token_global.tok_string, format, &n);
+
+@@ -428,7 +428,7 @@
+
+ const SLONG n = atoi(gpreGlob.token_global.tok_string);
+ char buffer[32];
+- sprintf(buffer, "%"SLONGFORMAT, n);
++ sprintf(buffer, "%" SLONGFORMAT, n);
+ if (strcmp(buffer, gpreGlob.token_global.tok_string) != 0)
+ PAR_error("Numeric value out of range");
+
+@@ -478,7 +478,7 @@
+
+ const ULONG n = atoi(gpreGlob.token_global.tok_string);
+ char buffer[32];
+- sprintf(buffer, "%"ULONGFORMAT, n);
++ sprintf(buffer, "%" ULONGFORMAT, n);
+ if (strcmp(buffer, gpreGlob.token_global.tok_string) != 0)
+ PAR_error("Numeric value out of range");
+
+--- firebird/src/gpre/gpre.cpp
++++ firebird/src/gpre/gpre.cpp
+@@ -2525,9 +2525,9 @@
+ if (line_pending)
+ {
+ if (line == 1)
+- fprintf(gpreGlob.out_file, "#line %"SLONGFORMAT" \"%s\"\n", line, backlash_fixed_file_name);
++ fprintf(gpreGlob.out_file, "#line %" SLONGFORMAT " \"%s\"\n", line, backlash_fixed_file_name);
+ else
+- fprintf(gpreGlob.out_file, "\n#line %"SLONGFORMAT" \"%s\"", line, backlash_fixed_file_name);
++ fprintf(gpreGlob.out_file, "\n#line %" SLONGFORMAT " \"%s\"", line, backlash_fixed_file_name);
+
+ line_pending = false;
+ }
+@@ -2668,7 +2668,7 @@
+ {
+ if (c == '\n' && line_pending)
+ {
+- fprintf(gpreGlob.out_file, "\n#line %"SLONGFORMAT" \"%s\"", line + 1, backlash_fixed_file_name);
++ fprintf(gpreGlob.out_file, "\n#line %" SLONGFORMAT " \"%s\"", line + 1, backlash_fixed_file_name);
+ line_pending = false;
+ }
+ if (c == EOF)
+--- firebird/src/gpre/int_cxx.cpp
++++ firebird/src/gpre/int_cxx.cpp
+@@ -290,7 +290,7 @@
+ fprintf(gpreGlob.out_file, "if (!%s)", request->req_handle);
+ align(column);
+ fprintf(gpreGlob.out_file,
+- "%s = CMP_compile2 (tdbb, (UCHAR*) jrd_%"ULONGFORMAT", sizeof(jrd_%"ULONGFORMAT"), true);",
++ "%s = CMP_compile2 (tdbb, (UCHAR*) jrd_%" ULONGFORMAT ", sizeof(jrd_%" ULONGFORMAT "), true);",
+ request->req_handle, request->req_ident, request->req_ident);
+ }
+
+@@ -478,7 +478,7 @@
+ {
+
+ fprintf(gpreGlob.out_file,
+- "EXE_receive (tdbb, %s, %d, %d, (UCHAR*) &jrd_%"ULONGFORMAT");",
++ "EXE_receive (tdbb, %s, %d, %d, (UCHAR*) &jrd_%" ULONGFORMAT ");",
+ request->req_handle, port->por_msg_number, port->por_length,
+ port->por_ident);
+ }
+@@ -495,7 +495,7 @@
+ if (!(request->req_flags & REQ_exp_hand))
+ fprintf(gpreGlob.out_file, "static void\t*%s;\t// request handle \n", request->req_handle);
+
+- fprintf(gpreGlob.out_file, "static const UCHAR\tjrd_%"ULONGFORMAT" [%d] =",
++ fprintf(gpreGlob.out_file, "static const UCHAR\tjrd_%" ULONGFORMAT " [%d] =",
+ request->req_ident, request->req_length);
+ align(INDENT);
+ fprintf(gpreGlob.out_file, "{\t// blr string \n");
+@@ -588,7 +588,7 @@
+ }
+ align(column);
+
+- fprintf(gpreGlob.out_file, "EXE_send (tdbb, %s, %d, %d, (UCHAR*) &jrd_%"ULONGFORMAT");",
++ fprintf(gpreGlob.out_file, "EXE_send (tdbb, %s, %d, %d, (UCHAR*) &jrd_%" ULONGFORMAT ");",
+ request->req_handle, port->por_msg_number, port->por_length, port->por_ident);
+ }
+
+@@ -716,7 +716,7 @@
+ fprintf(gpreGlob.out_file, fmtstr, reference->ref_ident, name);
+ }
+ align(column);
+- fprintf(gpreGlob.out_file, "} jrd_%"ULONGFORMAT";", port->por_ident);
++ fprintf(gpreGlob.out_file, "} jrd_%" ULONGFORMAT ";", port->por_ident);
+ }
+
+
+--- firebird/src/gpre/pat.cpp
++++ firebird/src/gpre/pat.cpp
+@@ -417,7 +417,7 @@
+ }
+ }
+ else if (long_flag) {
+- sprintf(p, "%"SLONGFORMAT, long_value);
++ sprintf(p, "%" SLONGFORMAT , long_value);
+ }
+ else {
+ sprintf(p, "%d", value);
--- firebird/src/gpre/sqe.cpp
+++ firebird/src/gpre/sqe.cpp
@@ -2529,7 +2529,7 @@
@@ -25,3 +182,60 @@
MSC_match(KW_PLUS);
+--- firebird/src/common/classes/alloc.cpp
++++ firebird/src/common/classes/alloc.cpp
+@@ -1100,7 +1100,7 @@
+ if (blk->mbk_flags & MBK_LAST)
+ break;
+ }
+- fprintf(file, "Blocks %"SIZEFORMAT" min %"SIZEFORMAT" max %"SIZEFORMAT" size %"SIZEFORMAT" \n\n",
++ fprintf(file, "Blocks %" SIZEFORMAT " min %" SIZEFORMAT " max %" SIZEFORMAT " size %" SIZEFORMAT " \n\n",
+ cnt, min, max, sum);
+ }
+
+@@ -1303,7 +1303,7 @@
+ FreeMemoryBlock* freeBlock = blockToPtr<FreeMemoryBlock*>(blk);
+ freeBlock->fbk_next_fragment = NULL;
+
+- BlockInfo temp = {blockLength, freeBlock};
++ BlockInfo temp = {static_cast<size_t>(blockLength), freeBlock};
+ pool->freeBlocks.add(temp);
+ if (!pool->parent_redirect)
+ {
+--- firebird/src/common/cvt.cpp
++++ firebird/src/common/cvt.cpp
+@@ -144,7 +144,7 @@
+
+ #ifndef NATIVE_QUAD
+ #ifndef WORDS_BIGENDIAN
+-static const SQUAD quad_min_int = { 0, SLONG_MIN };
++static const SQUAD quad_min_int = { 0, static_cast<ULONG>(SLONG_MIN) };
+ static const SQUAD quad_max_int = { -1, SLONG_MAX };
+ #else
+ static const SQUAD quad_min_int = { SLONG_MIN, 0 };
+--- firebird/src/jrd/perf.cpp
++++ firebird/src/jrd/perf.cpp
+@@ -164,20 +164,20 @@
+ case 'b':
+ case 'c':
+ case 'x':
+- sprintf(p, "%"SQUADFORMAT, delta);
++ sprintf(p, "%" SQUADFORMAT , delta);
+ while (*p)
+ p++;
+ break;
+
+ case 'u':
+ case 's':
+- sprintf(p, "%"SQUADFORMAT".%.2"SQUADFORMAT, delta / TICK, (delta % TICK) * 100 / TICK);
++ sprintf(p, "%" SQUADFORMAT ".%.2" SQUADFORMAT , delta / TICK, (delta % TICK) * 100 / TICK);
+ while (*p)
+ p++;
+ break;
+
+ case 'e':
+- sprintf(p, "%"SQUADFORMAT".%.2"SQUADFORMAT, delta / 100, delta % 100);
++ sprintf(p, "%" SQUADFORMAT ".%.2" SQUADFORMAT , delta / 100, delta % 100);
+ while (*p)
+ p++;
+ break;
diff --git a/external/firebird/firebird-c++11replfn.patch.0 b/external/firebird/firebird-c++11replfn.patch.0
new file mode 100644
index 000000000000..53b1dd0d045c
--- /dev/null
+++ b/external/firebird/firebird-c++11replfn.patch.0
@@ -0,0 +1,50 @@
+--- src/common/classes/alloc.h
++++ src/common/classes/alloc.h
+@@ -489,23 +489,7 @@
+ inline static MemoryPool* getDefaultMemoryPool() { return Firebird::MemoryPool::processMemoryPool; }
+
+ // Global versions of operators new and delete
+-inline void* operator new(size_t s) THROW_BAD_ALLOC
+-{
+- return Firebird::MemoryPool::globalAlloc(s);
+-}
+-inline void* operator new[](size_t s) THROW_BAD_ALLOC
+-{
+- return Firebird::MemoryPool::globalAlloc(s);
+-}
+
+-inline void operator delete(void* mem) throw()
+-{
+- Firebird::MemoryPool::globalFree(mem);
+-}
+-inline void operator delete[](void* mem) throw()
+-{
+- Firebird::MemoryPool::globalFree(mem);
+-}
+
+ #ifdef DEBUG_GDS_ALLOC
+ inline void* operator new(size_t s, Firebird::MemoryPool& pool, const char* file, int line)
+--- src/common/classes/alloc.cpp
++++ src/common/classes/alloc.cpp
+@@ -2080,3 +2080,21 @@
+ #endif
+
+ } // namespace Firebird
++
++void* operator new(size_t s) THROW_BAD_ALLOC
++{
++ return Firebird::MemoryPool::globalAlloc(s);
++}
++void* operator new[](size_t s) THROW_BAD_ALLOC
++{
++ return Firebird::MemoryPool::globalAlloc(s);
++}
++
++void operator delete(void* mem) throw()
++{
++ Firebird::MemoryPool::globalFree(mem);
++}
++void operator delete[](void* mem) throw()
++{
++ Firebird::MemoryPool::globalFree(mem);
++}