From e223eb95c4f3df36a7c24c3b9a4dfdeec06ac15d Mon Sep 17 00:00:00 2001 From: Chih-Hung Hsieh Date: Fri, 20 Nov 2015 13:52:13 -0800 Subject: [PATCH] Disable clang for arm64 where local __thread is used. clang/llvm for aarch64 generates relocation references to local symbols and that is not supported by Android dynamic linker. BUG: 25642296 Change-Id: If99aca50002eef4cce7735c6defef2fcb76f5a9b --- libdw/Android.mk | 3 +++ libdwfl/Android.mk | 3 +++ libelf/Android.mk | 3 +++ 3 files changed, 9 insertions(+) diff --git a/libdw/Android.mk b/libdw/Android.mk index 6e8d77ddf..55a04dc96 100755 --- a/libdw/Android.mk +++ b/libdw/Android.mk @@ -178,6 +178,9 @@ include $(CLEAR_VARS) # Clang has no nested functions. LOCAL_CLANG := false +# b/25642296, local __thread variable does not work with arm64 clang/llvm. +LOCAL_CLANG_arm64 := false + LOCAL_SRC_FILES := $(LIBDW_SRC_FILES) LOCAL_C_INCLUDES := \ diff --git a/libdwfl/Android.mk b/libdwfl/Android.mk index eb668e2c4..a2c099313 100755 --- a/libdwfl/Android.mk +++ b/libdwfl/Android.mk @@ -134,6 +134,9 @@ include $(CLEAR_VARS) # Clang has no nested functions. LOCAL_CLANG := false +# b/25642296, local __thread variable does not work with arm64 clang/llvm. +LOCAL_CLANG_arm64 := false + LOCAL_SRC_FILES := $(LIBDWFL_SRC_FILES) LOCAL_C_INCLUDES := \ diff --git a/libelf/Android.mk b/libelf/Android.mk index 9fc71ace7..1c0195c44 100755 --- a/libelf/Android.mk +++ b/libelf/Android.mk @@ -160,6 +160,9 @@ endif # linux include $(CLEAR_VARS) +# b/25642296, local __thread variable does not work with arm64 clang/llvm. +LOCAL_CLANG_arm64 := false + LOCAL_SRC_FILES := $(LIBELF_SRC_FILES) LOCAL_C_INCLUDES := \