diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2014-09-11 15:18:29 +0200 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2014-09-11 15:21:23 +0200 |
commit | e9778073e37fb75f1b65a8d38b41feb584060705 (patch) | |
tree | 185d4943a69ee02fedf07d82f5e7c460523dd4a4 /external/python3 | |
parent | 22ff143b1c26ec6bfcf6dbb52da43c26ee4e4edd (diff) |
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
Diffstat (limited to 'external/python3')
-rw-r--r-- | external/python3/ExternalProject_python3.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/external/python3/ExternalProject_python3.mk b/external/python3/ExternalProject_python3.mk index 21a3f110a747..b0548f6d33d8 100644 --- a/external/python3/ExternalProject_python3.mk +++ b/external/python3/ExternalProject_python3.mk @@ -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)) \ |