summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2020-02-28 09:21:45 +0100
committerStephan Bergmann <sbergman@redhat.com>2020-02-28 10:25:45 +0100
commit8bda8ad7c0e48867c2abe44e0e84c0d86187f9ff (patch)
treefc8e02d80639c2c010f017d49d5d83c8a7e9b157
parent4a33c86a5b44184a3ed34398cd795a9d42ac1a72 (diff)
Adapt Clang -fsanitize jurt/source/pipe/staticsalhack.cxx
...to 1782810f886acd26db211d8fdd7ae8796d203c57 "Related: tdf#130725: use strtod also in rtl::math::stringToDouble". The sal code recompiled into staticsalhack now uses StaticLibrary_dtoa, and that external/dtoa code needs to be recompiled, too. Change-Id: I60a88fc2b38766da36b356f89853f322657bde34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89662 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r--external/dtoa/StaticLibrary_dtoa.mk1
-rw-r--r--jurt/Library_jpipe.mk4
-rw-r--r--jurt/source/pipe/staticsalhack.cxx6
3 files changed, 11 insertions, 0 deletions
diff --git a/external/dtoa/StaticLibrary_dtoa.mk b/external/dtoa/StaticLibrary_dtoa.mk
index edb358c21da4..9726ffbbd51f 100644
--- a/external/dtoa/StaticLibrary_dtoa.mk
+++ b/external/dtoa/StaticLibrary_dtoa.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_StaticLibrary_StaticLibrary,dtoa))
$(eval $(call gb_StaticLibrary_use_unpacked,dtoa,dtoa))
+# A place that duplicates these settings is jurt/source/pipe/staticsalhack.cxx:
$(eval $(call gb_StaticLibrary_add_cflags,dtoa,-DIEEE_8087))
$(eval $(call gb_StaticLibrary_set_warnings_disabled,dtoa))
diff --git a/jurt/Library_jpipe.mk b/jurt/Library_jpipe.mk
index 204da654c553..334f6b16e1fc 100644
--- a/jurt/Library_jpipe.mk
+++ b/jurt/Library_jpipe.mk
@@ -62,6 +62,8 @@ $(eval $(call gb_Library_set_include,jpipe, \
-I$(SRCDIR)/sal/osl/unx \
-I$(SRCDIR)/sal/rtl \
-I$(SRCDIR)/sal/textenc \
+ -I$(call gb_UnpackedTarball_get_dir,dtoa) \
+ -I$(call gb_UnpackedTarball_get_dir,dtoa/include) \
))
$(eval $(call gb_Library_use_externals,jpipe, \
@@ -75,6 +77,8 @@ $(eval $(call gb_Library_use_system_darwin_frameworks,jpipe, \
endif
$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,jpipe)): \
+ $(call gb_UnpackedTarball_get_target,dtoa)
+$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,jpipe)): \
gb_CC := $(filter-out -fsanitize%,$(gb_CC))
$(call gb_LinkTarget_get_target,$(call gb_Library_get_linktarget,jpipe)): \
gb_CXX := $(filter-out -fsanitize%,$(gb_CXX))
diff --git a/jurt/source/pipe/staticsalhack.cxx b/jurt/source/pipe/staticsalhack.cxx
index 4c25067f13c0..fa9547a9e0b8 100644
--- a/jurt/source/pipe/staticsalhack.cxx
+++ b/jurt/source/pipe/staticsalhack.cxx
@@ -76,4 +76,10 @@ extern "C" ImplTextEncodingData const * sal_getFullTextEncodingData(
std::abort();
}
+#define IEEE_8087 // see external/dtoa/StaticLibrary_dtoa.mk
+#pragma clang diagnostic ignored "-Weverything"
+extern "C" {
+#include <src/dtoa.c> // workdir/UnpackedTarball/dtoa/src/dtoa.c
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */