summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2017-10-23 15:31:52 +0200
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2017-10-24 13:11:13 +0200
commitd8522a7e0f98fb17ee0f1233b074bd8ba4089fde (patch)
tree742229daaf96d60d1129ec155d31104cc1b98287
parentd17c1496f3e5c786c41e7e165c0caae3e477fdde (diff)
tdf#112928: don't use "magic statics" for 5.4 (fails on WinXP)
https://stackoverflow.com/questions/32517234/access-violation-on-static-initialization Change-Id: Ibda63c6307e6dc4ae1eec4b0c673a987f33bed94 Reviewed-on: https://gerrit.libreoffice.org/43721 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> (cherry picked from commit 3c6ce662b444d713e45a2c326a81fc45685adbfb) Reviewed-on: https://gerrit.libreoffice.org/43739 Reviewed-by: Michael Stahl <mstahl@redhat.com> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
-rw-r--r--configure.ac4
-rwxr-xr-xsolenv/gbuild/platform/com_MSC_defs.mk2
2 files changed, 5 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index f990b3a8c7ce..98dcab39f8d6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5923,7 +5923,9 @@ if test "$GCC" = "yes"; then
else
# MSVC has sprouted C++11 thread-safe statics in 2015
# http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
- if test "$COM" = "MSC" -a "$VCVER" -ge "140"; then
+ # but it doesn't work on Windows XP, so don't use it for 32-bit builds baselined for Windows XP
+ if test "$COM" = "MSC" -a "$VCVER" -ge "140" -a "$with_windows_sdk" != "7.1A"; then
+ HAVE_THREADSAFE_STATICS=TRUE
AC_DEFINE(HAVE_THREADSAFE_STATICS)
AC_MSG_RESULT([yes])
else
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk b/solenv/gbuild/platform/com_MSC_defs.mk
index 5c9b86618516..068cfd6bf946 100755
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -138,6 +138,7 @@ gb_CFLAGS := \
-Gs \
-GS \
$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+ $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
-nologo \
-W4 \
-wd4091 \
@@ -168,6 +169,7 @@ gb_CXXFLAGS := \
-GS \
-Gy \
$(if $(MSVC_USE_DEBUG_RUNTIME),-MDd,-MD) \
+ $(if $(HAVE_THREADSAFE_STATICS),,-Zc:threadSafeInit-) \
-nologo \
-W4 \
-wd4091 \