aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasily Tarasov <vtarasov@google.com>2018-03-01 17:32:50 -0800
committerVasily Tarasov <vtarasov@google.com>2018-03-02 21:31:44 +0000
commit92ce3ba451e595f583c86132d98a688046e2851d (patch)
tree3ac9eb94a77d88b8b669e2b2f1074ea20a6d9ab4
parent2bfdd46c36e3a3603d1a1dbc01f820da07091492 (diff)
downloadvalgrind-92ce3ba451e595f583c86132d98a688046e2851d.tar.gz
Build vgdb and lackey tools
vgdb allows debugging apps from perspective of valgrind's emulated CPU. lackey tool allows to observe execution traces and memory access traces. Test: lackey tool worked out of the box. vgdb functionality that was tested: - attaching to a valgrind process launched with --vgdb=yes - frame disassembly with sources - settings breakpoints / continuing / breaking into those breakpoints Change-Id: I4d9cb2e9caaad18ad0e6dcbdf32de53c9278f5eb
-rw-r--r--Android.mk34
1 files changed, 34 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
index 19f38ef85..a1c632473 100644
--- a/Android.mk
+++ b/Android.mk
@@ -568,6 +568,27 @@ vg_local_whole_static_libraries := libreplacemalloc_toolpreload
include $(LOCAL_PATH)/Android.build_all.mk
+# Build lackey-$(TARGET_ARCH)-linux
+vg_local_module := lackey
+vg_local_module_class := SHARED_LIBRARIES
+vg_local_target := EXECUTABLE
+vg_local_no_crt := true
+vg_local_without_system_shared_libraries := true
+vg_local_src_files := lackey/lk_main.c
+vg_local_ldflags := $(tool_ldflags)
+vg_local_cflags := $(common_cflags)
+vg_local_static_libraries := libcoregrind libvex
+include $(LOCAL_PATH)/Android.build_all.mk
+
+# Build vgpreload_lackey-$(TARGET_ARCH)-linux.so
+vg_local_module := vgpreload_lackey
+vg_local_module_class := SHARED_LIBRARIES
+vg_local_target := SHARED_LIBRARY
+vg_local_src_files :=
+vg_local_ldflags := $(preload_ldflags)
+vg_local_cflags := $(common_cflags)
+include $(LOCAL_PATH)/Android.build_all.mk
+
# Build none-$(TARGET_ARCH)-linux
vg_local_module := none
vg_local_module_class := SHARED_LIBRARIES
@@ -600,6 +621,19 @@ LOCAL_CFLAGS_$(TARGET_ARCH) = $(target_arch_cflags)
include $(BUILD_EXECUTABLE)
+# Build standalone vgdb
+include $(CLEAR_VARS)
+LOCAL_MODULE := vgdb
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+ coregrind/vgdb.c \
+ coregrind/vgdb-invoker-none.c
+
+LOCAL_C_INCLUDES := $(common_includes)
+LOCAL_CFLAGS := $(common_cflags)
+LOCAL_CFLAGS_$(TARGET_ARCH) = $(target_arch_cflags)
+include $(BUILD_EXECUTABLE)
+
# Build valgrind for linux host
ifeq ($(HOST_OS), linux)
include $(CLEAR_VARS)