[Libreoffice-commits] core.git: external/firebird
Stephan Bergmann (via logerrit)
logerrit at kemper.freedesktop.org
Mon Dec 7 09:25:32 UTC 2020
external/firebird/ExternalProject_firebird.mk | 1 +
1 file changed, 1 insertion(+)
New commits:
commit e70168ec88642dc4940bf6cf7ae49a97afc84916
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Mon Dec 7 09:35:25 2020 +0100
Commit: Stephan Bergmann <sbergman at redhat.com>
CommitDate: Mon Dec 7 10:24:55 2020 +0100
external/firebird: clang-cl needs -march=x86-64-v2 now
...to avoid
> C:/lo/core/workdir/UnpackedTarball/firebird/src/common/CRC32C.cpp(41,10): error: always_inline function '_mm_crc32_u8' requires target feature 'sse4.2', but would be inlined into function 'CRC32C' that is compiled without support for 'sse4.2'
> return _mm_crc32_u8(hash_value, *value);
> ^
etc.
With <https://github.com/FirebirdSQL/firebird/commit/
52d9a05a0f3d811a9de7f15956ee9286d5711648> "Backport from master", that code
appeared on the B3_0_Release branch only after R3_0_1, so was not present in our
Firebird-3.0.0.32483-0.tar.bz2 before 86744f03992213af162df6954313c9f9e44e3a0a
"firebird: update to 3.0.7".
This is apparently about the SSE4.2 CRC32 instruction. Not sure how this works
in the MSVC build, whether it implicitly generates code targeting SSE4.2
(<https://docs.microsoft.com/en-us/cpp/build/reference/arch-x64?view=msvc-160>
"/arch (x64)" does not mention any switch to explicitly enable it), or whether
its _mm_crc32_u* intrinsics would be smart enough to generate code that also
works when SSE4.2 is not available at runtime.
Change-Id: I893733eb079e6c0eb8b685a55ce09e1fdcd2eda2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107334
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/external/firebird/ExternalProject_firebird.mk b/external/firebird/ExternalProject_firebird.mk
index 95663a508928..0a1706031746 100644
--- a/external/firebird/ExternalProject_firebird.mk
+++ b/external/firebird/ExternalProject_firebird.mk
@@ -47,6 +47,7 @@ $(call gb_ExternalProject_get_state_target,firebird,build):
&& export CXXFLAGS=" \
$(BOOST_CXXFLAGS) \
$(if $(filter MSC,$(COM)),$(if $(MSVC_USE_DEBUG_RUNTIME),-DMSVC_USE_DEBUG_RUNTIME)) \
+ $(if $(filter MSC-TRUE-X86_64,$(COM)-$(COM_IS_CLANG)-$(CPUNAME)),-march=x86-64-v2) \
$(if $(HAVE_GCC_FNO_SIZED_DEALLOCATION),-fno-sized-deallocation -fno-delete-null-pointer-checks) \
$(CXXFLAGS_CXX11) \
$(if $(filter TRUE,$(COM_IS_CLANG)), -Wno-c++11-narrowing) \
More information about the Libreoffice-commits
mailing list