Create the runtime support table from the function list.

Change-Id: I04fb12c51e7820e3fe169bc0865778350071cd93
diff --git a/src/compiler_llvm/runtime_support_llvm.cc b/src/compiler_llvm/runtime_support_llvm.cc
index 24a2d1f..5a4ebb9 100644
--- a/src/compiler_llvm/runtime_support_llvm.cc
+++ b/src/compiler_llvm/runtime_support_llvm.cc
@@ -343,28 +343,13 @@
   };
 
   static struct func_entry_t const tab[] = {
-#define DEF(NAME, ADDR) \
-    { NAME, sizeof(NAME) - 1, (void *)(&(ADDR)) },
+#define DEFINE_ENTRY(ID, NAME) \
+    { #NAME, sizeof(#NAME) - 1, reinterpret_cast<void*>(NAME) },
 
-    DEF("art_push_shadow_frame_from_code", art_push_shadow_frame_from_code)
-    DEF("art_pop_shadow_frame_from_code", art_pop_shadow_frame_from_code)
-    DEF("art_is_exception_pending_from_code", art_is_exception_pending_from_code)
-    DEF("art_throw_div_zero_from_code", art_throw_div_zero_from_code)
-    DEF("art_throw_array_bounds_from_code", art_throw_array_bounds_from_code)
-    DEF("art_throw_no_such_method_from_code", art_throw_no_such_method_from_code)
-    DEF("art_throw_null_pointer_exception_from_code", art_throw_null_pointer_exception_from_code)
-    DEF("art_throw_stack_overflow_from_code", art_throw_stack_overflow_from_code)
-    DEF("art_throw_exception_from_code", art_throw_exception_from_code)
-    DEF("art_find_catch_block_from_code", art_find_catch_block_from_code)
-    DEF("art_test_suspend_from_code", art_test_suspend_from_code)
-    DEF("art_set_current_thread_from_code", art_set_current_thread_from_code)
-    DEF("printf", printf)
-    DEF("scanf", scanf)
-    DEF("__isoc99_scanf", scanf)
-    DEF("rand", rand)
-    DEF("time", time)
-    DEF("srand", srand)
-#undef DEF
+#include "runtime_support_func_list.h"
+    RUNTIME_SUPPORT_FUNC_LIST(DEFINE_ENTRY)
+#undef RUNTIME_SUPPORT_FUNC_LIST
+#undef DEFINE_ENTRY
   };
 
   static size_t const tab_size = sizeof(tab) / sizeof(struct func_entry_t);