From 70c1ff8dac6ae1c4475de05f983b6e7faa87f170 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Wed, 21 Aug 2019 14:56:13 -0700 Subject: [PATCH] Always set ASAN_SYMBOLIZER_PATH appropriately Otherwise tools built with ASAN can't symbolize their dumps, as llvm-symbolizer is not allowed to be used from $PATH. Fixes: 139825736 Test: cherry-pick https://android-review.googlesource.com/c/platform/system/tools/aidl/+/1106532 mmma ASAN_OPTIONS="" SANITIZE_HOST=address system/tools/aidl Change-Id: Ib1eeec15ce6694d7bde54c7201b3280e38df3a83 --- ui/build/config.go | 5 +++++ ui/build/kati.go | 1 + 2 files changed, 6 insertions(+) diff --git a/ui/build/config.go b/ui/build/config.go index 434047bc5..665d2f0fa 100644 --- a/ui/build/config.go +++ b/ui/build/config.go @@ -180,6 +180,11 @@ func NewConfig(ctx Context, args ...string) Config { ret.environ.Set("TMPDIR", absPath(ctx, ret.TempDir())) + // Always set ASAN_SYMBOLIZER_PATH so that ASAN-based tools can symbolize any crashes + symbolizerPath := filepath.Join("prebuilts/clang/host", ret.HostPrebuiltTag(), + "llvm-binutils-stable/llvm-symbolizer") + ret.environ.Set("ASAN_SYMBOLIZER_PATH", absPath(ctx, symbolizerPath)) + // Precondition: the current directory is the top of the source tree checkTopDir(ctx) diff --git a/ui/build/kati.go b/ui/build/kati.go index 9ddbbea0d..a7799eadc 100644 --- a/ui/build/kati.go +++ b/ui/build/kati.go @@ -171,6 +171,7 @@ func runKatiPackage(ctx Context, config Config) { "TMPDIR", // Tool configs + "ASAN_SYMBOLIZER_PATH", "JAVA_HOME", "PYTHONDONTWRITEBYTECODE",