summaryrefslogtreecommitdiff
path: root/external/firebird
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-04-09 10:59:47 +0200
committerStephan Bergmann <sbergman@redhat.com>2018-04-09 13:54:34 +0200
commit3d12f4c2715596ceb33fe8323457aea13f2aa674 (patch)
tree2950f27e79004ee5ab4f0053a6b84dd0ac4bdf85 /external/firebird
parent2318501c14d9eb8cee050dc0d8f8ec646c520352 (diff)
external/firebird: Fix -fsanitize=function
...while building external/firebird. I started to get this failure around the time I switched the machine from Fedora 27 to Fedora 28 beta, but not sure whether the issue is related to that, nor why it only started to happen now: > workdir/UnpackedTarball/firebird/src/common/unicode_util.cpp:1206:2: runtime error: call to function u_versionToString_60 through pointer to incorrect function type 'void (*)(unsigned char *, char *)' > workdir/UnpackedTarball/icu/source/common/putil.cpp:2280: note: u_versionToString_60 defined here > #0 in Jrd::UnicodeUtil::getCollVersion(Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator>&) at workdir/UnpackedTarball/firebird/src/common/unicode_util.cpp:1206:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x22ff24d) > #1 in Firebird::IntlUtil::setupIcuAttributes(charset*, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator>&) at workdir/UnpackedTarball/firebird/src/common/IntlUtil.cpp:629:7 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x2277bbd) > #2 in INTL_builtin_setup_attributes(char const*, char const*, char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/jrd/intl_builtin.cpp:1731:7 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x16b712c) > #3 in Jrd::IntlManager::setupCollationAttributes(Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator>&) at workdir/UnpackedTarball/firebird/src/jrd/IntlManager.cpp:689:16 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x16ecd8b) > #4 in setupSpecificCollationAttributes(Jrd::thread_db*, Jrd::jrd_tra*, unsigned short, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:7483:7 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1918f67) > #5 in create_collation(Jrd::thread_db*, short, Jrd::DeferredWork*, Jrd::jrd_tra*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:7542:3 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1936e2e) > #6 in DFW_perform_work(Jrd::thread_db*, Jrd::jrd_tra*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:4513:11 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1912e49) > #7 in DFW_perform_system_work(Jrd::thread_db*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:4457:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x191259d) > #8 in INI_format(char const*, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/ini.cpp:1808:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x18df473) > #9 in Jrd::JProvider::createDatabase(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/jrd/jrd.cpp:2691:4 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x172d05f) > #10 in Firebird::IProviderBaseImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::IPluginBaseImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IReferenceCountedImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IProvider> > > > > > >::cloopcreateDatabaseDispatcher(Firebird::IProvider*, Firebird::IStatus*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:9010:44 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x10d511f) > #11 in Firebird::IAttachment* Firebird::IProvider::createDatabase<Firebird::CheckStatusWrapper>(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:2034:23 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x3937f4) > #12 in Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper*, bool, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:5681:15 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x35adb7) > #13 in Why::Dispatcher::createDatabase(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:5606:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x35baa4) > #14 in PREPARSE_execute(Firebird::CheckStatusWrapper*, Why::YAttachment**, unsigned short, char const*, bool*, unsigned short) at workdir/UnpackedTarball/firebird/src/yvalve/preparse.cpp:288:26 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x427888) > #15 in Why::UtilInterface::executeCreateDatabase(Firebird::CheckStatusWrapper*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/yvalve/utl.cpp:587:8 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x481209) > #16 in Firebird::IUtilBaseImpl<Why::UtilInterface, Firebird::CheckStatusWrapper, Firebird::IVersionedImpl<Why::UtilInterface, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IUtil> > >::cloopexecuteCreateDatabaseDispatcher(Firebird::IUtil*, Firebird::IStatus*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:12375:44 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x495a09) > #17 in Firebird::IAttachment* Firebird::IUtil::executeCreateDatabase<Firebird::CheckStatusWrapper>(Firebird::CheckStatusWrapper*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:3504:23 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x4c41df) > #18 in create_db(char const*, char*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:5314:38 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x48606b) > #19 in frontend(char const*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:6152:10 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x477e4e) > #20 in get_statement(char*, unsigned long, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:7019:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x4740e6) > #21 in do_isql() at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:5481:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x461d48) > #22 in ISQL_main(int, char**) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:1693:3 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x45d8cf) > #23 in main at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:1599:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x45cf09) > #24 in __libc_start_main at <null> (/lib64/libc.so.6 +0x231ba) > #25 in _start at <null> (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x40bd89) Change-Id: I03ccded73840865f104ccf6d434f425f7c7e6907 Reviewed-on: https://gerrit.libreoffice.org/52620 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'external/firebird')
-rw-r--r--external/firebird/ubsan.patch11
1 files changed, 11 insertions, 0 deletions
diff --git a/external/firebird/ubsan.patch b/external/firebird/ubsan.patch
index 2b659681be24..bdfbac26e2f8 100644
--- a/external/firebird/ubsan.patch
+++ b/external/firebird/ubsan.patch
@@ -86,6 +86,17 @@
return *this;
}
StringType& assign(const_pointer s)
+--- src/common/unicode_util.cpp
++++ src/common/unicode_util.cpp
+@@ -187,7 +187,7 @@
+ Mutex ciAiTransCacheMutex;
+ Array<UTransliterator*> ciAiTransCache;
+
+- void (U_EXPORT2 *uVersionToString)(UVersionInfo versionArray, char* versionString);
++ void (U_EXPORT2 *uVersionToString)(UVersionInfo const versionArray, char* versionString);
+
+ int32_t (U_EXPORT2 *ulocCountAvailable)();
+ const char* (U_EXPORT2 *ulocGetAvailable)(int32_t n);
--- src/dsql/StmtNodes.cpp
+++ src/dsql/StmtNodes.cpp
@@ -6643,7 +6643,7 @@