SANITIZE_TARGET: allow undef symbols in non-sanitized shared libraries.
These symbols are defined in the ASan runtime library, which is always present at runtime. Bug:21785137 Change-Id: Ib8418c66323fd4cdfdc05548048f32380cb84ee5
This commit is contained in:
parent
8f180b904f
commit
5adfcb166e
1 changed files with 14 additions and 0 deletions
|
@ -34,6 +34,20 @@ ifeq ($(my_sanitize),never)
|
||||||
my_sanitize :=
|
my_sanitize :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Undefined symbols can occur if a non-sanitized library links
|
||||||
|
# sanitized static libraries. That's OK, because the executable
|
||||||
|
# always depends on the ASan runtime library, which defines these
|
||||||
|
# symbols.
|
||||||
|
ifneq ($(strip $(SANITIZE_TARGET)),)
|
||||||
|
ifndef LOCAL_IS_HOST_MODULE
|
||||||
|
ifeq ($(LOCAL_MODULE_CLASS),SHARED_LIBRARIES)
|
||||||
|
ifeq ($(my_sanitize),)
|
||||||
|
my_allow_undefined_symbols := true
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Sanitizers can only be used with clang.
|
# Sanitizers can only be used with clang.
|
||||||
ifneq ($(my_clang),true)
|
ifneq ($(my_clang),true)
|
||||||
ifneq ($(my_sanitize),)
|
ifneq ($(my_sanitize),)
|
||||||
|
|
Loading…
Reference in a new issue