Guard against undefined weak symbols before Mac OS X 10.9 (PR sanitizer/82825)

PR sanitizer/82825
	* sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream
	r??????.

From-SVN: r256813
This commit is contained in:
Rainer Orth 2018-01-17 19:31:43 +00:00 committed by Rainer Orth
parent a4d4d2f5cf
commit 2d509539db
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2018-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR sanitizer/82825
* sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream
r??????.
2018-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR sanitizer/82824

View File

@ -63,7 +63,13 @@
// SANITIZER_SUPPORTS_WEAK_HOOKS means that we support real weak functions that
// will evaluate to a null pointer when not defined.
#ifndef SANITIZER_SUPPORTS_WEAK_HOOKS
#if (SANITIZER_LINUX || SANITIZER_MAC) && !SANITIZER_GO
#if SANITIZER_LINUX && !SANITIZER_GO
# define SANITIZER_SUPPORTS_WEAK_HOOKS 1
// Before Xcode 4.5, the Darwin linker doesn't reliably support undefined
// weak symbols. Mac OS X 10.9/Darwin 13 is the first release only supported
// by Xcode >= 4.5.
#elif SANITIZER_MAC && \
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1090 && !SANITIZER_GO
# define SANITIZER_SUPPORTS_WEAK_HOOKS 1
#else
# define SANITIZER_SUPPORTS_WEAK_HOOKS 0