Fix ClassLinker::LinkInterfaceMethods bug
Also:
- Expanded class_linker_test with additional vtable and iftable coverage
- Added -fkeep-inline-functions where it works on host for debugging
- Added disabled test for running command line Fibonacci with oatexec
Change-Id: Ie295551e42493c7cca05684e71e56bf55bd362a4
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 9481df2..c62b038 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -45,6 +45,10 @@
ART_TARGET_CFLAGS += -DANDROID_SMP=0
endif
+art_debug_cflags := -UNDEBUG
+# TODO: move -fkeep-inline-functions to art_debug_cflags when target gcc > 4.4
+ART_HOST_DEBUG_CFLAGS := $(art_debug_cflags) -fkeep-inline-functions
+ART_TARGET_DEBUG_CFLAGS := $(art_debug_cflags)
DEX2OAT_SRC_FILES := \
src/dex2oat.cc
diff --git a/build/Android.executable.mk b/build/Android.executable.mk
index 1b2f41d..60d37ee 100644
--- a/build/Android.executable.mk
+++ b/build/Android.executable.mk
@@ -40,7 +40,12 @@
LOCAL_CFLAGS := $(ART_HOST_CFLAGS)
endif
ifeq ($(4),debug)
- LOCAL_CFLAGS += -UNDEBUG
+ ifeq ($(3),target)
+ LOCAL_CFLAGS += $(ART_TARGET_DEBUG_CFLAGS)
+ else
+ LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
+ LOCAL_STATIC_LIBRARIES := libgtest_host
+ endif
endif
LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := libnativehelper
diff --git a/build/Android.libart.mk b/build/Android.libart.mk
index 96202eb..48ac809 100644
--- a/build/Android.libart.mk
+++ b/build/Android.libart.mk
@@ -38,8 +38,12 @@
else
LOCAL_CFLAGS := $(ART_HOST_CFLAGS)
endif
- ifeq ($(2),debug)
- LOCAL_CFLAGS += -UNDEBUG
+ ifeq ($(4),debug)
+ ifeq ($(3),target)
+ LOCAL_CFLAGS += $(ART_TARGET_DEBUG_CFLAGS)
+ else
+ LOCAL_CFLAGS += $(ART_HOST_DEBUG_CFLAGS)
+ endif
endif
LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := liblog libnativehelper
diff --git a/build/Android.libarttest.mk b/build/Android.libarttest.mk
index baf37d9..6e1619d 100644
--- a/build/Android.libarttest.mk
+++ b/build/Android.libarttest.mk
@@ -25,10 +25,10 @@
LOCAL_MODULE_TAGS := tests
LOCAL_SRC_FILES := $(LIBARTTEST_COMMON_SRC_FILES)
ifeq ($(1),target)
- LOCAL_CFLAGS := $(ART_TARGET_CFLAGS) -UNDEBUG
+ LOCAL_CFLAGS := $(ART_TARGET_CFLAGS) $(ART_TARGET_DEBUG_CFLAGS)
LOCAL_SHARED_LIBRARIES := libdl libstlport
else
- LOCAL_CFLAGS := $(ART_HOST_CFLAGS) -UNDEBUG
+ LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS)
LOCAL_LDLIBS := -ldl -lrt
endif
ifeq ($(1),target)
diff --git a/build/Android.test.mk b/build/Android.test.mk
index 798a69f..6e82b26 100644
--- a/build/Android.test.mk
+++ b/build/Android.test.mk
@@ -31,11 +31,11 @@
LOCAL_C_INCLUDES += $(ART_C_INCLUDES)
LOCAL_SHARED_LIBRARIES := libarttest libartd
ifeq ($(1),target)
- LOCAL_CFLAGS := $(ART_TARGET_CFLAGS) -UNDEBUG
+ LOCAL_CFLAGS := $(ART_TARGET_CFLAGS) $(ART_TARGET_DEBUG_CFLAGS)
LOCAL_SHARED_LIBRARIES += libdl libicuuc libicui18n libnativehelper libstlport libz
LOCAL_STATIC_LIBRARIES := libgtest libgtest_main
else
- LOCAL_CFLAGS := $(ART_HOST_CFLAGS) -UNDEBUG
+ LOCAL_CFLAGS := $(ART_HOST_CFLAGS) $(ART_HOST_DEBUG_CFLAGS)
LOCAL_SHARED_LIBRARIES += libicuuc-host libicui18n-host libnativehelper libz-host
LOCAL_WHOLE_STATIC_LIBRARIES := libgtest_host libgtest_main_host
endif