diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2017-10-23 15:31:52 +0200 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2017-10-24 09:56:09 +0200 |
commit | 3c6ce662b444d713e45a2c326a81fc45685adbfb (patch) | |
tree | b5feaf7b452cc1a55968c3623401fdaff3e0d171 | |
parent | 3cd91be80f82f983f414018e4e57b6d3b570064e (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>
-rw-r--r-- | configure.ac | 4 | ||||
-rwxr-xr-x | solenv/gbuild/platform/com_MSC_defs.mk | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 3105fcb4dd3f..b4a2b14a7c77 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 \ |