forked from amazingfate/loongoffice
For ASAN __cxa_throw interception to work, link python.bin to libstdc++
...where the intercepted __cxa_throw is found, as otherwise PythonTest_sw_python fails with AddressSanitizer CHECK failed: projects/compiler-rt/lib/asan/asan_interceptors.cc:293 "((IndirectExternCall(__interception::real___cxa_throw))) != (0)" (0x0, 0x0) #0 in __asan::AsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) projects/compiler-rt/lib/asan/asan_rtl.cc:70:3 #1 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) projects/compiler-rt/lib/sanitizer_common/sanitizer_common.cc:76:5 #2 0x48c3ac in __cxa_throw projects/compiler-rt/lib/asan/asan_interceptors.cc:293:3 #3 0x7f67faec0ef5 in pyuno::createClass(rtl::OUString const&, pyuno::Runtime const&) pyuno/source/module/pyuno_except.cxx:92:9 ... Change-Id: I0cb364eacab49644b426fb62f49bf9d7c8b5090c
This commit is contained in:
1
external/python3/ExternalProject_python3.mk
vendored
1
external/python3/ExternalProject_python3.mk
vendored
@ -83,6 +83,7 @@ $(call gb_ExternalProject_get_state_target,python3,build) :
|
||||
$(if $(SYSBASE), -I$(SYSBASE)/usr/include) \
|
||||
)" \
|
||||
$(if $(python3_cflags),CFLAGS='$(python3_cflags)') \
|
||||
$(if $(filter -fsanitize=address,$(CC)),LINKCC="$(CXX)") \
|
||||
LDFLAGS="$(strip $(LDFLAGS) \
|
||||
$(if $(SYSTEM_OPENSSL),,-L$(call gb_UnpackedTarball_get_dir,openssl)) \
|
||||
$(if $(SYSTEM_EXPAT),,-L$(gb_StaticLibrary_WORKDIR)) \
|
||||
|
||||
Reference in New Issue
Block a user