Stack scanning: Find RegisterMap and unit-test it. Add decoding of the map.

Tests disabled, because there is a bug in System's LoadLibrary.

Change-Id: Ied3f4a31ce454f37c4d0f9caacd4ba03c4adb493
diff --git a/build/Android.common.mk b/build/Android.common.mk
index ce04683..f0e80b1 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -166,7 +166,8 @@
 
 LIBARTTEST_COMMON_SRC_FILES := \
 	src/base64.cc \
-	src/jni_tests.cc
+	src/jni_tests.cc \
+	src/stack_walk.cc
 
 TEST_COMMON_SRC_FILES := \
 	src/class_linker_test.cc \
@@ -215,6 +216,8 @@
 	Nested \
 	ProtoCompare \
 	ProtoCompare2 \
+	StackWalk \
+	StackWalk2 \
 	StaticLeafMethods \
 	Statics \
 	SystemMethods \
diff --git a/build/Android.libarttest.mk b/build/Android.libarttest.mk
index 6e1619d..823f78e 100644
--- a/build/Android.libarttest.mk
+++ b/build/Android.libarttest.mk
@@ -24,13 +24,16 @@
   LOCAL_MODULE := libarttest
   LOCAL_MODULE_TAGS := tests
   LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES)
+  LOCAL_SHARED_LIBRARIES := libartd
   ifeq ($(1),target)
     LOCAL_CFLAGS := $(ART_TARGET_CFLAGS) $(ART_TARGET_DEBUG_CFLAGS)
-    LOCAL_SHARED_LIBRARIES := libdl libstlport
+    LOCAL_SHARED_LIBRARIES += libdl libstlport
+    LOCAL_STATIC_LIBRARIES := libgtest
   else
     LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS)
-    LOCAL_LDLIBS := -ldl -lrt
+    LOCAL_LDLIBS := -ldl -lrt -lpthread
   endif
+  LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
   ifeq ($(1),target)
     include $(BUILD_SHARED_LIBRARY)
   else
diff --git a/build/Android.oattest.mk b/build/Android.oattest.mk
index 5942fcf..48371a8 100644
--- a/build/Android.oattest.mk
+++ b/build/Android.oattest.mk
@@ -77,5 +77,8 @@
 $(eval $(call declare-test-test-target,Invoke,))
 $(eval $(call declare-test-test-target,ExceptionTest,))
 $(eval $(call declare-test-test-target,SystemMethods,))
+# TODO: Re-enable the test when System.LoadLibrary is working.
+# $(eval $(call declare-test-test-target,StackWalk,))
+# $(eval $(call declare-test-test-target,StackWalk2,))
 
 ########################################################################