aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2016-08-15 23:34:52 -0700
committerChih-Hung Hsieh <chh@google.com>2016-08-19 00:06:48 -0700
commitd20e2a66b1d30c1a8d795826f5edb32a8f6f24f3 (patch)
tree2ca991eb33479f68376429876453b1bca2e60bbb
parent24905f154e8ed939fe2e276052681aee1004d405 (diff)
downloadvalgrind-d20e2a66b1d30c1a8d795826f5edb32a8f6f24f3.tar.gz
Fix clang compiled memset recursive call problem.
* Use LOCAL_CLANG_CFLAGS += -fno-builtin-memset to avoid calling memset from VG(memset). Bug: 28454823 Change-Id: I48569bf3d2a5876980206fda521327f1a46258bb Test: Run valgrind on linux host and arm/x86 targets.
-rw-r--r--Android.build_host.mk6
-rw-r--r--Android.build_one.mk8
2 files changed, 7 insertions, 7 deletions
diff --git a/Android.build_host.mk b/Android.build_host.mk
index 77d11ba4d..ee07d2de3 100644
--- a/Android.build_host.mk
+++ b/Android.build_host.mk
@@ -23,10 +23,8 @@ else
vg_local_arch := amd64
endif
-# TODO: This workaround is to avoid calling memset from VG(memset)
-# wrapper because of invalid clang optimization; This seems to be
-# limited to amd64/x86 codegen(?);
-LOCAL_CLANG := false
+# Do not call (builtin) memset from VG(memset).
+LOCAL_CLANG_CFLAGS += -fno-builtin-memset
LOCAL_MODULE := $(vg_local_module)-$(vg_local_arch)-linux
diff --git a/Android.build_one.mk b/Android.build_one.mk
index cb5de0748..16ea662bb 100644
--- a/Android.build_one.mk
+++ b/Android.build_one.mk
@@ -23,13 +23,15 @@ LOCAL_MULTILIB := first
vg_local_arch := $(vg_arch)
endif
-# TODO: This workaround is to avoid calling memset from VG(memset)
-# wrapper because of invalid clang optimization; This seems to be
-# limited to amd64/x86 codegen(?);
+# For arm and arm64 targets, clang compiled module has other
+# undefined errors, see bug 28454823.
ifeq ($(filter $TARGET_ARCH,x86 x86_64),)
LOCAL_CLANG := false
endif
+# Do not call (builtin) memset from VG(memset).
+LOCAL_CLANG_CFLAGS += -fno-builtin-memset
+
LOCAL_MODULE := $(vg_local_module)-$(vg_local_arch)-linux
LOCAL_MODULE_TARGET_ARCH := $(vg_local_arch)