Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5adfcb16 authored by Evgenii Stepanov's avatar Evgenii Stepanov
Browse files

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
parent 8f180b90
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -34,6 +34,20 @@ ifeq ($(my_sanitize),never)
  my_sanitize :=
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.
ifneq ($(my_clang),true)
  ifneq ($(my_sanitize),)