forked from amazingfate/loongoffice
..when building ExternalProject_python3 with Clang -fsanitize=thread, > WARNING: ThreadSanitizer: destroy of a locked mutex (pid=973799) > #0 in AnnotateRWLockDestroy at /home/sbergman/github.com/llvm/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cpp:184:3 (workdir/UnpackedTarball/python3/python +0x498460) > #1 in recreate_gil at workdir/UnpackedTarball/python3/Python/ceval_gil.h:138:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xe84aa9) > #2 in _PyEval_ReInitThreads at workdir/UnpackedTarball/python3/Python/ceval.c:350:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xe847c7) > #3 in PyOS_AfterFork_Child at workdir/UnpackedTarball/python3/./Modules/posixmodule.c:469:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x1163dbd) > #4 in os_fork_impl at workdir/UnpackedTarball/python3/./Modules/posixmodule.c:6253:9 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x11adcad) > #5 in os_fork at workdir/UnpackedTarball/python3/./Modules/clinic/posixmodule.c.h:2750:12 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x117b481) > #6 in cfunction_vectorcall_NOARGS at workdir/UnpackedTarball/python3/Objects/methodobject.c:463:24 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x9db7e1) > #7 in _PyObject_Vectorcall at workdir/UnpackedTarball/python3/./Include/cpython/abstract.h:127:11 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xf0225e) > #8 in call_function at workdir/UnpackedTarball/python3/Python/ceval.c:4963:13 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xef3f4a) > #9 in _PyEval_EvalFrameDefault at workdir/UnpackedTarball/python3/Python/ceval.c:3469:23 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0xedc5d8) [...] > #143 in pymain_run_python at workdir/UnpackedTarball/python3/Modules/main.c:610:21 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x1149f6c) > #144 in Py_RunMain at workdir/UnpackedTarball/python3/Modules/main.c:689:5 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x11495e9) > #145 in pymain_main at workdir/UnpackedTarball/python3/Modules/main.c:719:12 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x114a299) > #146 in Py_BytesMain at workdir/UnpackedTarball/python3/Modules/main.c:743:12 (workdir/UnpackedTarball/python3/libpython3.8d.so.1.0 +0x114a30d) > #147 in main at workdir/UnpackedTarball/python3/./Programs/python.c:16:12 (workdir/UnpackedTarball/python3/python +0x4d00f8) Assuming that the GIL is always locked before the fork, better tell TSan about a fake RELEASED before telling it about a fake DESTROY, to keep TSan's model consistent. Change-Id: I6c68d7e415aa0ffc3047e5a5c4c4aca6b0cce8cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130985 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
53 lines
1.8 KiB
Makefile
53 lines
1.8 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
|
|
$(eval $(call gb_UnpackedTarball_UnpackedTarball,python3))
|
|
|
|
$(eval $(call gb_UnpackedTarball_set_tarball,python3,$(PYTHON_TARBALL),,python3))
|
|
|
|
$(eval $(call gb_UnpackedTarball_fix_end_of_line,python3,\
|
|
PCbuild/pcbuild.sln \
|
|
))
|
|
|
|
# For the configure part of external/python3/darwin.patch.0, see
|
|
# <https://bugs.python.org/issue44065> "'configure: error: internal configure error for the platform
|
|
# triplet' on macOS with Clang supporting --print-multiarch:"
|
|
$(eval $(call gb_UnpackedTarball_add_patches,python3,\
|
|
external/python3/i100492-freebsd.patch.1 \
|
|
external/python3/python-3.3.0-darwin.patch.1 \
|
|
external/python3/python-3.8-msvc-sdk.patch.1 \
|
|
external/python3/python-3.7.6-msvc-ssl.patch.1 \
|
|
external/python3/python-3.5.4-msvc-disable.patch.1 \
|
|
external/python3/ubsan.patch.0 \
|
|
external/python3/python-3.5.tweak.strip.soabi.patch \
|
|
external/python3/darwin.patch.0 \
|
|
external/python3/macos-11.patch.0 \
|
|
external/python3/tsan.patch.0 \
|
|
))
|
|
|
|
ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
|
|
$(eval $(call gb_UnpackedTarball_add_patches,python3,\
|
|
external/python3/python-3.3.3-elf-rpath.patch.1 \
|
|
))
|
|
endif
|
|
|
|
ifneq ($(ENABLE_RUNTIME_OPTIMIZATIONS),TRUE)
|
|
$(eval $(call gb_UnpackedTarball_add_patches,python3,\
|
|
external/python3/python-3.3.3-disable-obmalloc.patch.0 \
|
|
))
|
|
endif
|
|
|
|
ifneq ($(SYSTEM_ZLIB),TRUE)
|
|
$(eval $(call gb_UnpackedTarball_add_patches,python3, \
|
|
external/python3/internal-zlib.patch.0 \
|
|
))
|
|
endif
|
|
|
|
# vim: set noet sw=4 ts=4:
|