summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.mk2
-rw-r--r--device/include/llvm/Config/AsmParsers.def3
-rw-r--r--device/include/llvm/Config/Disassemblers.def3
-rw-r--r--device/include/llvm/Config/config.h230
-rw-r--r--device/include/llvm/Config/llvm-config.h94
-rw-r--r--host/include/llvm/Config/AsmParsers.def1
-rw-r--r--host/include/llvm/Config/Disassemblers.def1
-rw-r--r--host/include/llvm/Config/config.h240
-rw-r--r--host/include/llvm/Config/llvm-config.h94
-rw-r--r--include/llvm/Config/llvm-config.h1
-rw-r--r--include/llvm/Config/llvm-platform-config.h126
-rw-r--r--lib/Support/Unix/Signals.inc4
-rw-r--r--lib/Target/Mips/AsmParser/Android.mk53
-rw-r--r--lib/Target/Mips/Disassembler/Android.mk50
14 files changed, 719 insertions, 183 deletions
diff --git a/Android.mk b/Android.mk
index 2b78aba..b5925b7 100644
--- a/Android.mk
+++ b/Android.mk
@@ -45,7 +45,9 @@ subdirs += \
# MIPS Code Generation Libraries
subdirs += \
lib/Target/Mips \
+ lib/Target/Mips/AsmParser \
lib/Target/Mips/InstPrinter \
+ lib/Target/Mips/Disassembler \
lib/Target/Mips/MCTargetDesc \
lib/Target/Mips/TargetInfo
diff --git a/device/include/llvm/Config/AsmParsers.def b/device/include/llvm/Config/AsmParsers.def
index 106734f..46d22a1 100644
--- a/device/include/llvm/Config/AsmParsers.def
+++ b/device/include/llvm/Config/AsmParsers.def
@@ -27,8 +27,7 @@
#if defined(__arm__)
LLVM_ASM_PARSER(ARM)
#elif defined(__mips__)
- // MIPS does not support assembly parser.
- //LLVM_ASM_PARSER(Mips)
+ LLVM_ASM_PARSER(Mips)
#elif defined(__i386__)
LLVM_ASM_PARSER(X86)
#else
diff --git a/device/include/llvm/Config/Disassemblers.def b/device/include/llvm/Config/Disassemblers.def
index c6d6a60..4a834ea 100644
--- a/device/include/llvm/Config/Disassemblers.def
+++ b/device/include/llvm/Config/Disassemblers.def
@@ -27,8 +27,7 @@
#if defined(__arm__)
LLVM_DISASSEMBLER(ARM)
#elif defined(__mips__)
- // MIPS does not support disassembler.
- //LLVM_DISASSEMBLER(Mips)
+ LLVM_DISASSEMBLER(Mips)
#elif defined(__i386__)
LLVM_DISASSEMBLER(X86)
#else
diff --git a/device/include/llvm/Config/config.h b/device/include/llvm/Config/config.h
index 8f6b8f6..e0ee708 100644
--- a/device/include/llvm/Config/config.h
+++ b/device/include/llvm/Config/config.h
@@ -4,59 +4,53 @@
#ifndef CONFIG_H
#define CONFIG_H
+/* Bug report URL. */
+#define BUG_REPORT_URL "http://llvm.org/bugs/"
+
/* Relative directory for resource files */
#define CLANG_RESOURCE_DIR ""
-/* 32 bit multilib directory. */
-#define CXX_INCLUDE_32BIT_DIR ""
-
-/* 64 bit multilib directory. */
-#define CXX_INCLUDE_64BIT_DIR ""
-
-/* Arch the libstdc++ headers. */
-#define CXX_INCLUDE_ARCH ""
-
-/* Directory with the libstdc++ headers. */
-#define CXX_INCLUDE_ROOT ""
-
/* Directories clang will search for headers */
#define C_INCLUDE_DIRS ""
-/* Define if CBE is enabled for printf %a output */
-#define ENABLE_CBE_PRINTF_A 1
+/* Default <path> to all compiler invocations for --sysroot=<path>. */
+#define DEFAULT_SYSROOT ""
/* Define if position independent code is enabled */
-#define ENABLE_PIC 0
-
-/* Define if threads enabled */
-#define ENABLE_THREADS 0
+#define ENABLE_PIC 1
/* Define if timestamp information (e.g., __DATE___) is allowed */
#define ENABLE_TIMESTAMPS 1
+/* Directory where gcc is installed. */
+#define GCC_INSTALL_PREFIX ""
+
/* Define to 1 if you have the `argz_append' function. */
-#define HAVE_ARGZ_APPEND 1
+/* #undef HAVE_ARGZ_APPEND */
/* Define to 1 if you have the `argz_create_sep' function. */
-#define HAVE_ARGZ_CREATE_SEP 1
+/* #undef HAVE_ARGZ_CREATE_SEP */
/* Define to 1 if you have the <argz.h> header file. */
-#define HAVE_ARGZ_H 1
+/* #undef HAVE_ARGZ_H */
/* Define to 1 if you have the `argz_insert' function. */
-#define HAVE_ARGZ_INSERT 1
+/* #undef HAVE_ARGZ_INSERT */
/* Define to 1 if you have the `argz_next' function. */
-#define HAVE_ARGZ_NEXT 1
+/* #undef HAVE_ARGZ_NEXT */
/* Define to 1 if you have the `argz_stringify' function. */
-#define HAVE_ARGZ_STRINGIFY 1
+/* #undef HAVE_ARGZ_STRINGIFY */
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
/* Define to 1 if you have the `backtrace' function. */
+#if defined(HAVE_BACKTRACE) && HAVE_BACKTRACE == 0
+/* Defined by AndroidConfig.h as 0 */
#undef HAVE_BACKTRACE
+#endif
/* Define to 1 if you have the `bcopy' function. */
/* #undef HAVE_BCOPY */
@@ -73,9 +67,19 @@
/* Define to 1 if you have the <CrashReporterClient.h> header file. */
/* #undef HAVE_CRASHREPORTERCLIENT_H */
+/* Define if __crashreporter_info__ exists. */
+/* #undef HAVE_CRASHREPORTER_INFO */
+
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
+/* Define to 1 if you have the <cxxabi.h> header file. */
+#define HAVE_CXXABI_H 0
+
+/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
+ don't. */
+#define HAVE_DECL_STRERROR_S 0
+
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
@@ -90,7 +94,7 @@
#define HAVE_DLERROR 1
/* Define to 1 if you have the <dlfcn.h> header file. */
-/* #undef HAVE_DLFCN_H */
+#define HAVE_DLFCN_H 1
/* Define if dlopen() is available on this platform. */
#define HAVE_DLOPEN 1
@@ -114,7 +118,7 @@
#define HAVE_ERROR_T 1
/* Define to 1 if you have the <execinfo.h> header file. */
-/* #undef HAVE_EXECINFO_H */
+#define HAVE_EXECINFO_H 0
/* Define to 1 if you have the <fcntl.h> header file. */
#define HAVE_FCNTL_H 1
@@ -122,6 +126,9 @@
/* Define if the neat program is available */
/* #undef HAVE_FDP */
+/* Define to 1 if you have the <fenv.h> header file. */
+#define HAVE_FENV_H 1
+
/* Define if libffi is available on this platform. */
/* #undef HAVE_FFI_CALL */
@@ -228,6 +235,9 @@
/* Define if mallinfo() is available on this platform. */
#define HAVE_MALLINFO 1
+/* Define to 1 if you have the <malloc.h> header file. */
+//#define HAVE_MALLOC_H 1 /* Defined by AndroidConfig.h */
+
/* Define to 1 if you have the <malloc/malloc.h> header file. */
/* #undef HAVE_MALLOC_MALLOC_H */
@@ -244,7 +254,7 @@
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkdtemp' function. */
-/* #undef HAVE_MKDTEMP */
+#define HAVE_MKDTEMP 0
/* Define to 1 if you have the `mkstemp' function. */
#define HAVE_MKSTEMP 1
@@ -280,6 +290,9 @@
/* Define to 1 if you have the `powf' function. */
#define HAVE_POWF 1
+/* Define to 1 if you have the `pread' function. */
+#define HAVE_PREAD 1
+
/* Define if libtool can extract symbol lists from object files. */
#define HAVE_PRELOADED_SYMBOLS 1
@@ -287,16 +300,16 @@
#define HAVE_PRINTF_A 1
/* Have pthread_getspecific */
-/* #undef HAVE_PTHREAD_GETSPECIFIC */
+#define HAVE_PTHREAD_GETSPECIFIC 1
/* Define to 1 if you have the <pthread.h> header file. */
-/* #undef HAVE_PTHREAD_H */
+#define HAVE_PTHREAD_H 1
/* Have pthread_mutex_lock */
-/* #undef HAVE_PTHREAD_MUTEX_LOCK */
+#define HAVE_PTHREAD_MUTEX_LOCK 1
/* Have pthread_rwlock_init */
-/* #undef HAVE_PTHREAD_RWLOCK_INIT */
+#define HAVE_PTHREAD_RWLOCK_INIT 1
/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
#define HAVE_RAND48 1
@@ -374,10 +387,9 @@
#define HAVE_STRERROR 1
/* Define to 1 if you have the `strerror_r' function. */
+#ifndef USE_MINGW
#define HAVE_STRERROR_R 1
-
-/* Define to 1 if you have the `strerror_s' function. */
-/* #undef HAVE_STRERROR_S */
+#endif
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
@@ -432,6 +444,9 @@
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
@@ -459,72 +474,101 @@
/* Define to 1 if you have the <windows.h> header file. */
/* #undef HAVE_WINDOWS_H */
+/* Define to 1 if you have the `writev' function. */
+#define HAVE_WRITEV 1
+
+/* Define if the xdot.py program is available */
+/* #undef HAVE_XDOT_PY */
+
+/* Have host's _alloca */
+/* #undef HAVE__ALLOCA */
+
+/* Have host's __alloca */
+/* #undef HAVE___ALLOCA */
+
+/* Have host's __ashldi3 */
+/* #undef HAVE___ASHLDI3 */
+
+/* Have host's __ashrdi3 */
+/* #undef HAVE___ASHRDI3 */
+
+/* Have host's __chkstk */
+/* #undef HAVE___CHKSTK */
+
+/* Have host's __cmpdi2 */
+/* #undef HAVE___CMPDI2 */
+
+/* Have host's __divdi3 */
+/* #undef HAVE___DIVDI3 */
+
/* Define to 1 if you have the `__dso_handle' function. */
#define HAVE___DSO_HANDLE 1
+/* Have host's __fixdfdi */
+/* #undef HAVE___FIXDFDI */
+
+/* Have host's __fixsfdi */
+/* #undef HAVE___FIXSFDI */
+
+/* Have host's __floatdidf */
+/* #undef HAVE___FLOATDIDF */
+
+/* Have host's __lshrdi3 */
+/* #undef HAVE___LSHRDI3 */
+
+/* Have host's __main */
+/* #undef HAVE___MAIN */
+
+/* Have host's __moddi3 */
+/* #undef HAVE___MODDI3 */
+
+/* Have host's __udivdi3 */
+/* #undef HAVE___UDIVDI3 */
+
+/* Have host's __umoddi3 */
+/* #undef HAVE___UMODDI3 */
+
+/* Have host's ___chkstk */
+/* #undef HAVE____CHKSTK */
+
/* Linker version detected at compile time. */
-/* #undef HOST_LINK_VERSION */
+#define HOST_LINK_VERSION "2.20.1"
/* Installation directory for binary executables */
-#define LLVM_BINDIR "/usr/local/google/llvm/bin"
+#define LLVM_BINDIR "/opt/llvm-android/bin"
/* Time at which LLVM was configured */
-#define LLVM_CONFIGTIME "Tue Apr 27 18:30:43 CST 2010"
+#define LLVM_CONFIGTIME "Tue May 8 14:22:45 CST 2012"
/* Installation directory for data files */
-#define LLVM_DATADIR "/usr/local/google/llvm/share/llvm"
+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
+
+/* Target triple LLVM will generate code for by default */
+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
/* Installation directory for documentation */
-#define LLVM_DOCSDIR "/usr/local/google/llvm/docs/llvm"
+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
+
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 1
/* Installation directory for config files */
-#define LLVM_ETCDIR "/usr/local/google/llvm/etc/llvm"
+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
-/* Host triple we were built on */
-#define LLVM_DEFAULT_TARGET_TRIPLE "x86_64-unknown-linux-gnu"
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 1
/* Installation directory for include files */
-#define LLVM_INCLUDEDIR "/usr/local/google/llvm/include"
+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
/* Installation directory for .info files */
-#define LLVM_INFODIR "/usr/local/google/llvm/info"
+#define LLVM_INFODIR "/opt/llvm-android/info"
/* Installation directory for libraries */
-#define LLVM_LIBDIR "/usr/local/google/llvm/lib"
+#define LLVM_LIBDIR "/opt/llvm-android/lib"
/* Installation directory for man pages */
-#define LLVM_MANDIR "/usr/local/google/llvm/man"
-
-/* Build multithreading support into LLVM */
-/* #undef LLVM_MULTITHREADED */
-
-/* LLVM architecture name for the native architecture, if available */
-#if defined(__arm__)
-# define LLVM_NATIVE_ARCH ARMTarget
-#elif defined(__mips__)
-# define LLVM_NATIVE_ARCH MipsTarget
-#elif defined(__i386__)
-# define LLVM_NATIVE_ARCH X86Target
-#else
-# error Unsupported target architecture for LLVM_NATIVE_ARCH
-#endif
-
-/* Short LLVM architecture name for the native architecture, if available */
-#if defined(__arm__)
-# define LLVM_NATIVE_ARCHNAME ARM
-#elif defined(__mips__)
-# define LLVM_NATIVE_ARCHNAME Mips
-#elif defined(__i386__)
-# define LLVM_NATIVE_ARCHNAME X86
-#else
-# error Unsupported target architecture for LLVM_NATIVE_ARCHNAME
-#endif
-
-/* Define if this is Unixish platform */
-#define LLVM_ON_UNIX 1
-
-/* Define if this is Win32ish platform */
-/* #undef LLVM_ON_WIN32 */
+#define LLVM_MANDIR "/opt/llvm-android/man"
/* Define to path to circo program if found or 'echo circo' otherwise */
/* #undef LLVM_PATH_CIRCO */
@@ -550,8 +594,23 @@
/* Define to path to twopi program if found or 'echo twopi' otherwise */
/* #undef LLVM_PATH_TWOPI */
+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
+/* #undef LLVM_PATH_XDOT_PY */
+
/* Installation prefix directory */
-#define LLVM_PREFIX "/usr/local/google/llvm"
+#define LLVM_PREFIX "/opt/llvm-android"
+
+/* Define if we have the Intel JIT API runtime support library */
+#define LLVM_USE_INTEL_JITEVENTS 0
+
+/* Define if we have the oprofile JIT-support library */
+#define LLVM_USE_OPROFILE 0
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 3
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 1
/* Define if the OS needs help to load dependent libraries for dlopen(). */
/* #undef LTDL_DLOPEN_DEPLIBS */
@@ -578,19 +637,19 @@
/* #undef NEED_USCORE */
/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "llvmbugs@cs.uiuc.edu"
+#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
/* Define to the full name of this package. */
-#define PACKAGE_NAME "llvm"
+#define PACKAGE_NAME "LLVM"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "llvm 2.8svn"
+#define PACKAGE_STRING "LLVM 3.1svn"
/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "-llvm-"
+#define PACKAGE_TARNAME "llvm"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.8svn"
+#define PACKAGE_VERSION "3.1svn"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
@@ -607,9 +666,6 @@
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
/* #undef TM_IN_SYS_TIME */
-/* Define if we have the oprofile JIT-support library */
-#define USE_OPROFILE 0
-
/* Define if use udis86 library */
#define USE_UDIS86 0
@@ -625,4 +681,6 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
+#include "llvm/Config/llvm-platform-config.h"
+
#endif
diff --git a/device/include/llvm/Config/llvm-config.h b/device/include/llvm/Config/llvm-config.h
new file mode 100644
index 0000000..ca49e77
--- /dev/null
+++ b/device/include/llvm/Config/llvm-config.h
@@ -0,0 +1,94 @@
+/* include/llvm/Config/llvm-config.h. Generated from llvm-config.h.in by configure. */
+/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+/* This file enumerates all of the llvm variables from configure so that
+ they can be in exported headers and won't override package specific
+ directives. This is a C file so we can include it in the llvm-c headers. */
+
+/* To avoid multiple inclusions of these variables when we include the exported
+ headers and config.h, conditionally include these. */
+/* TODO: This is a bit of a hack. */
+#ifndef CONFIG_H
+
+/* Installation directory for binary executables */
+#define LLVM_BINDIR "/opt/llvm-android/bin"
+
+/* Time at which LLVM was configured */
+#define LLVM_CONFIGTIME "Tue May 8 14:22:45 CST 2012"
+
+/* Installation directory for data files */
+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
+
+/* Target triple LLVM will generate code for by default */
+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
+
+/* Installation directory for documentation */
+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
+
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 1
+
+/* Installation directory for config files */
+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
+
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 1
+
+/* Installation directory for include files */
+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
+
+/* Installation directory for .info files */
+#define LLVM_INFODIR "/opt/llvm-android/info"
+
+/* Installation directory for libraries */
+#define LLVM_LIBDIR "/opt/llvm-android/lib"
+
+/* Installation directory for man pages */
+#define LLVM_MANDIR "/opt/llvm-android/man"
+
+/* Define to path to circo program if found or 'echo circo' otherwise */
+/* #undef LLVM_PATH_CIRCO */
+
+/* Define to path to dot program if found or 'echo dot' otherwise */
+/* #undef LLVM_PATH_DOT */
+
+/* Define to path to dotty program if found or 'echo dotty' otherwise */
+/* #undef LLVM_PATH_DOTTY */
+
+/* Define to path to fdp program if found or 'echo fdp' otherwise */
+/* #undef LLVM_PATH_FDP */
+
+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
+/* #undef LLVM_PATH_GRAPHVIZ */
+
+/* Define to path to gv program if found or 'echo gv' otherwise */
+/* #undef LLVM_PATH_GV */
+
+/* Define to path to neato program if found or 'echo neato' otherwise */
+/* #undef LLVM_PATH_NEATO */
+
+/* Define to path to twopi program if found or 'echo twopi' otherwise */
+/* #undef LLVM_PATH_TWOPI */
+
+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
+/* #undef LLVM_PATH_XDOT_PY */
+
+/* Installation prefix directory */
+#define LLVM_PREFIX "/opt/llvm-android"
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 3
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 1
+
+#include "llvm/Config/llvm-platform-config.h"
+
+#endif
diff --git a/host/include/llvm/Config/AsmParsers.def b/host/include/llvm/Config/AsmParsers.def
index 7e60e4e..a03b5b6 100644
--- a/host/include/llvm/Config/AsmParsers.def
+++ b/host/include/llvm/Config/AsmParsers.def
@@ -25,6 +25,7 @@
#endif
LLVM_ASM_PARSER(ARM)
+LLVM_ASM_PARSER(Mips)
LLVM_ASM_PARSER(X86)
#undef LLVM_ASM_PARSER
diff --git a/host/include/llvm/Config/Disassemblers.def b/host/include/llvm/Config/Disassemblers.def
index 4b2abdd..408a77e 100644
--- a/host/include/llvm/Config/Disassemblers.def
+++ b/host/include/llvm/Config/Disassemblers.def
@@ -25,6 +25,7 @@
#endif
LLVM_DISASSEMBLER(ARM)
+LLVM_DISASSEMBLER(Mips)
LLVM_DISASSEMBLER(X86)
#undef LLVM_DISASSEMBLER
diff --git a/host/include/llvm/Config/config.h b/host/include/llvm/Config/config.h
index a2d1f4e..1d16f41 100644
--- a/host/include/llvm/Config/config.h
+++ b/host/include/llvm/Config/config.h
@@ -4,39 +4,27 @@
#ifndef CONFIG_H
#define CONFIG_H
-/* Bug report url */
+/* Bug report URL. */
#define BUG_REPORT_URL "http://llvm.org/bugs/"
/* Relative directory for resource files */
#define CLANG_RESOURCE_DIR ""
-/* 32 bit multilib directory. */
-#define CXX_INCLUDE_32BIT_DIR ""
-
-/* 64 bit multilib directory. */
-#define CXX_INCLUDE_64BIT_DIR ""
-
-/* Arch the libstdc++ headers. */
-#define CXX_INCLUDE_ARCH ""
-
-/* Directory with the libstdc++ headers. */
-#define CXX_INCLUDE_ROOT ""
-
/* Directories clang will search for headers */
#define C_INCLUDE_DIRS ""
-/* Define if CBE is enabled for printf %a output */
-#define ENABLE_CBE_PRINTF_A 1
+/* Default <path> to all compiler invocations for --sysroot=<path>. */
+#define DEFAULT_SYSROOT ""
/* Define if position independent code is enabled */
#define ENABLE_PIC 1
-/* Define if threads enabled */
-#define ENABLE_THREADS 1
-
/* Define if timestamp information (e.g., __DATE___) is allowed */
#define ENABLE_TIMESTAMPS 1
+/* Directory where gcc is installed. */
+#define GCC_INSTALL_PREFIX ""
+
/* Define to 1 if you have the `argz_append' function. */
/* #undef HAVE_ARGZ_APPEND */
@@ -58,6 +46,9 @@
/* Define to 1 if you have the <assert.h> header file. */
#define HAVE_ASSERT_H 1
+/* Define to 1 if you have the `backtrace' function. */
+/* #define HAVE_BACKTRACE 1 */ /* Defined by AndroidConfig.h */
+
/* Define to 1 if you have the `bcopy' function. */
/* #undef HAVE_BCOPY */
@@ -73,9 +64,19 @@
/* Define to 1 if you have the <CrashReporterClient.h> header file. */
/* #undef HAVE_CRASHREPORTERCLIENT_H */
+/* Define if __crashreporter_info__ exists. */
+#define HAVE_CRASHREPORTER_INFO 0
+
/* Define to 1 if you have the <ctype.h> header file. */
#define HAVE_CTYPE_H 1
+/* Define to 1 if you have the <cxxabi.h> header file. */
+#define HAVE_CXXABI_H 0
+
+/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you
+ don't. */
+#define HAVE_DECL_STRERROR_S 0
+
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/
#define HAVE_DIRENT_H 1
@@ -111,7 +112,7 @@
#define HAVE_ERRNO_H 1
/* Define to 1 if the system has the type `error_t'. */
-/* #undef HAVE_ERROR_T */
+#define HAVE_ERROR_T 1
/* Define to 1 if you have the <execinfo.h> header file. */
#define HAVE_EXECINFO_H 1
@@ -122,6 +123,9 @@
/* Define if the neat program is available */
/* #undef HAVE_FDP */
+/* Define to 1 if you have the <fenv.h> header file. */
+#define HAVE_FENV_H 1
+
/* Define if libffi is available on this platform. */
/* #undef HAVE_FFI_CALL */
@@ -174,13 +178,13 @@
#define HAVE_ISATTY 1
/* Set to 1 if the isinf function is found in <cmath> */
-/* #undef HAVE_ISINF_IN_CMATH */
+#define HAVE_ISINF_IN_CMATH 1
/* Set to 1 if the isinf function is found in <math.h> */
#define HAVE_ISINF_IN_MATH_H 1
/* Set to 1 if the isnan function is found in <cmath> */
-/* #undef HAVE_ISNAN_IN_CMATH */
+#define HAVE_ISNAN_IN_CMATH 1
/* Set to 1 if the isnan function is found in <math.h> */
#define HAVE_ISNAN_IN_MATH_H 1
@@ -188,9 +192,18 @@
/* Define if you have the libdl library or equivalent. */
#define HAVE_LIBDL 1
+/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
+/* #undef HAVE_LIBIMAGEHLP */
+
/* Define to 1 if you have the `m' library (-lm). */
#define HAVE_LIBM 1
+/* Define to 1 if you have the `psapi' library (-lpsapi). */
+/* #undef HAVE_LIBPSAPI */
+
+/* Define to 1 if you have the `pthread' library (-lpthread). */
+#define HAVE_LIBPTHREAD 1
+
/* Define to 1 if you have the `udis86' library (-ludis86). */
/* #undef HAVE_LIBUDIS86 */
@@ -198,14 +211,14 @@
#define HAVE_LIMITS_H 1
/* Define if you can use -Wl,-export-dynamic. */
-/* #undef HAVE_LINK_EXPORT_DYNAMIC */
+#define HAVE_LINK_EXPORT_DYNAMIC 1
/* Define to 1 if you have the <link.h> header file. */
-/* #undef HAVE_LINK_H */
+#define HAVE_LINK_H 1
/* Define if you can use -Wl,-R. to pass -R. to the linker, in order to add
the current directory to the dynamic linker search path. */
-/* #undef HAVE_LINK_R */
+#define HAVE_LINK_R 1
/* Define to 1 if you have the `longjmp' function. */
#define HAVE_LONGJMP 1
@@ -217,7 +230,10 @@
/* #undef HAVE_MACH_O_DYLD_H */
/* Define if mallinfo() is available on this platform. */
-/* #undef HAVE_MALLINFO */
+#define HAVE_MALLINFO 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+/* #define HAVE_MALLOC_H 1 */ /* Defined by AndroidConfig.h */
/* Define to 1 if you have the <malloc/malloc.h> header file. */
/* #undef HAVE_MALLOC_MALLOC_H */
@@ -248,7 +264,7 @@
/* Define if mmap() uses MAP_ANONYMOUS to map anonymous pages, or undefine if
it uses MAP_ANON */
-/* #undef HAVE_MMAP_ANONYMOUS */
+#define HAVE_MMAP_ANONYMOUS 1
/* Define if mmap() can map files into memory */
#define HAVE_MMAP_FILE
@@ -266,21 +282,20 @@
#define HAVE_OPENDIR 1
/* Define to 1 if you have the `posix_spawn' function. */
-/*#define HAVE_POSIX_SPAWN 1*/
+#define HAVE_POSIX_SPAWN 1
/* Define to 1 if you have the `powf' function. */
#define HAVE_POWF 1
+/* Define to 1 if you have the `pread' function. */
+#define HAVE_PREAD 1
+
/* Define if libtool can extract symbol lists from object files. */
#define HAVE_PRELOADED_SYMBOLS 1
/* Define to have the %a format string */
#define HAVE_PRINTF_A 1
-#ifndef USE_MINGW
-/* Define to 1 if you have the `pthread' library (-lpthread). */
-#define HAVE_LIBPTHREAD 1
-
/* Have pthread_getspecific */
#define HAVE_PTHREAD_GETSPECIFIC 1
@@ -292,7 +307,6 @@
/* Have pthread_rwlock_init */
#define HAVE_PTHREAD_RWLOCK_INIT 1
-#endif /* not USE_MINGW */
/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
#define HAVE_RAND48 1
@@ -352,7 +366,7 @@
#define HAVE_STDLIB_H 1
/* Set to 1 if the std::isinf function is found in <cmath> */
-/* #undef HAVE_STD_ISINF_IN_CMATH */
+#define HAVE_STD_ISINF_IN_CMATH 1
/* Set to 1 if the std::isnan function is found in <cmath> */
#define HAVE_STD_ISNAN_IN_CMATH 1
@@ -374,9 +388,6 @@
#define HAVE_STRERROR_R 1
#endif
-/* Define to 1 if you have the `strerror_s' function. */
-/* #undef HAVE_STRERROR_S */
-
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
@@ -430,6 +441,9 @@
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#define HAVE_SYS_WAIT_H 1
@@ -451,71 +465,107 @@
/* Define to 1 if the system has the type `u_int64_t'. */
/* #undef HAVE_U_INT64_T */
+/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
+/* #undef HAVE_VALGRIND_VALGRIND_H */
+
+/* Define to 1 if you have the <windows.h> header file. */
+/* #undef HAVE_WINDOWS_H */
+
+/* Define to 1 if you have the `writev' function. */
+#define HAVE_WRITEV 1
+
+/* Define if the xdot.py program is available */
+/* #undef HAVE_XDOT_PY */
+
+/* Have host's _alloca */
+/* #undef HAVE__ALLOCA */
+
+/* Have host's __alloca */
+/* #undef HAVE___ALLOCA */
+
+/* Have host's __ashldi3 */
+/* #undef HAVE___ASHLDI3 */
+
+/* Have host's __ashrdi3 */
+/* #undef HAVE___ASHRDI3 */
+
+/* Have host's __chkstk */
+/* #undef HAVE___CHKSTK */
+
+/* Have host's __cmpdi2 */
+/* #undef HAVE___CMPDI2 */
+
+/* Have host's __divdi3 */
+/* #undef HAVE___DIVDI3 */
+
/* Define to 1 if you have the `__dso_handle' function. */
#define HAVE___DSO_HANDLE 1
-/* Linker version detected at compile time. */
-/* #undef HOST_LINK_VERSION */
+/* Have host's __fixdfdi */
+/* #undef HAVE___FIXDFDI */
-/* Installation directory for binary executables */
-#define LLVM_BINDIR "/usr/local/google/llvm/bin"
+/* Have host's __fixsfdi */
+/* #undef HAVE___FIXSFDI */
-/* Time at which LLVM was configured */
-#define LLVM_CONFIGTIME "Tue Apr 27 18:30:43 CST 2010"
+/* Have host's __floatdidf */
+/* #undef HAVE___FLOATDIDF */
-/* Installation directory for data files */
-#define LLVM_DATADIR "/usr/local/google/llvm/share/llvm"
+/* Have host's __lshrdi3 */
+/* #undef HAVE___LSHRDI3 */
-/* Installation directory for documentation */
-#define LLVM_DOCSDIR "/usr/local/google/llvm/docs/llvm"
+/* Have host's __main */
+/* #undef HAVE___MAIN */
-/* Installation directory for config files */
-#define LLVM_ETCDIR "/usr/local/google/llvm/etc/llvm"
+/* Have host's __moddi3 */
+/* #undef HAVE___MODDI3 */
-/* Host triple we were built on */
-#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
+/* Have host's __udivdi3 */
+/* #undef HAVE___UDIVDI3 */
-/* Installation directory for include files */
-#define LLVM_INCLUDEDIR "/usr/local/google/llvm/include"
+/* Have host's __umoddi3 */
+/* #undef HAVE___UMODDI3 */
-/* Installation directory for .info files */
-#define LLVM_INFODIR "/usr/local/google/llvm/info"
+/* Have host's ___chkstk */
+/* #undef HAVE____CHKSTK */
-/* Installation directory for libraries */
-#define LLVM_LIBDIR "/usr/local/google/llvm/lib"
+/* Linker version detected at compile time. */
+#define HOST_LINK_VERSION "2.20.1"
-/* Installation directory for man pages */
-#define LLVM_MANDIR "/usr/local/google/llvm/man"
+/* Installation directory for binary executables */
+#define LLVM_BINDIR "/opt/llvm-android/bin"
-/* Build multithreading support into LLVM */
-#define LLVM_MULTITHREADED 0
+/* Time at which LLVM was configured */
+#define LLVM_CONFIGTIME "Tue May 8 14:22:45 CST 2012"
-/* LLVM architecture name for the native architecture, if available */
-#define LLVM_NATIVE_ARCH X86Target
+/* Installation directory for data files */
+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
-/* Short LLVM architecture name for the native architecture, if available */
-#define LLVM_NATIVE_ARCHNAME X86
+/* Target triple LLVM will generate code for by default */
+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
-#ifdef USE_MINGW
-/* Define if this is Win32ish platform */
-#define LLVM_ON_WIN32 1
+/* Installation directory for documentation */
+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
-/* Define to 1 if you have the <windows.h> header file. */
-#define HAVE_WINDOWS_H 1
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 1
-/* Define to 1 if you have the `psapi' library (-lpsapi). */
-#define HAVE_LIBPSAPI 1
+/* Installation directory for config files */
+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
-/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
-#define HAVE_LIBIMAGEHLP 1
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 1
-#else /* not USE_MINGW */
+/* Installation directory for include files */
+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
-/* Define if this is Unixish platform */
-#define LLVM_ON_UNIX 1
+/* Installation directory for .info files */
+#define LLVM_INFODIR "/opt/llvm-android/info"
-#endif
+/* Installation directory for libraries */
+#define LLVM_LIBDIR "/opt/llvm-android/lib"
+/* Installation directory for man pages */
+#define LLVM_MANDIR "/opt/llvm-android/man"
/* Define to path to circo program if found or 'echo circo' otherwise */
/* #undef LLVM_PATH_CIRCO */
@@ -541,8 +591,23 @@
/* Define to path to twopi program if found or 'echo twopi' otherwise */
/* #undef LLVM_PATH_TWOPI */
+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
+/* #undef LLVM_PATH_XDOT_PY */
+
/* Installation prefix directory */
-#define LLVM_PREFIX "/usr/local/google/llvm"
+#define LLVM_PREFIX "/opt/llvm-android"
+
+/* Define if we have the Intel JIT API runtime support library */
+#define LLVM_USE_INTEL_JITEVENTS 0
+
+/* Define if we have the oprofile JIT-support library */
+#define LLVM_USE_OPROFILE 0
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 3
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 1
/* Define if the OS needs help to load dependent libraries for dlopen(). */
/* #undef LTDL_DLOPEN_DEPLIBS */
@@ -569,19 +634,19 @@
/* #undef NEED_USCORE */
/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "llvmbugs@cs.uiuc.edu"
+#define PACKAGE_BUGREPORT "http://llvm.org/bugs/"
/* Define to the full name of this package. */
-#define PACKAGE_NAME "llvm"
+#define PACKAGE_NAME "LLVM"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "llvm 2.8svn"
+#define PACKAGE_STRING "LLVM 3.1svn"
/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "-llvm-"
+#define PACKAGE_TARNAME "llvm"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.8svn"
+#define PACKAGE_VERSION "3.1svn"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
@@ -598,15 +663,9 @@
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
/* #undef TM_IN_SYS_TIME */
-/* Define if we have the oprofile JIT-support library */
-#define USE_OPROFILE 0
-
/* Define if use udis86 library */
#define USE_UDIS86 0
-/* Define use of PSTR type for Windows platforms */
-#define WIN32_ELMCB_PCSTR PSTR
-
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
@@ -619,5 +678,6 @@
/* Define to `unsigned int' if <sys/types.h> does not define. */
/* #undef size_t */
-#endif
+#include "llvm/Config/llvm-platform-config.h"
+#endif
diff --git a/host/include/llvm/Config/llvm-config.h b/host/include/llvm/Config/llvm-config.h
new file mode 100644
index 0000000..ca49e77
--- /dev/null
+++ b/host/include/llvm/Config/llvm-config.h
@@ -0,0 +1,94 @@
+/* include/llvm/Config/llvm-config.h. Generated from llvm-config.h.in by configure. */
+/*===-- llvm/config/llvm-config.h - llvm configure variable -------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+/* This file enumerates all of the llvm variables from configure so that
+ they can be in exported headers and won't override package specific
+ directives. This is a C file so we can include it in the llvm-c headers. */
+
+/* To avoid multiple inclusions of these variables when we include the exported
+ headers and config.h, conditionally include these. */
+/* TODO: This is a bit of a hack. */
+#ifndef CONFIG_H
+
+/* Installation directory for binary executables */
+#define LLVM_BINDIR "/opt/llvm-android/bin"
+
+/* Time at which LLVM was configured */
+#define LLVM_CONFIGTIME "Tue May 8 14:22:45 CST 2012"
+
+/* Installation directory for data files */
+#define LLVM_DATADIR "/opt/llvm-android/share/llvm"
+
+/* Target triple LLVM will generate code for by default */
+#define LLVM_DEFAULT_TARGET_TRIPLE "i386-unknown-linux"
+
+/* Installation directory for documentation */
+#define LLVM_DOCSDIR "/opt/llvm-android/share/doc/llvm"
+
+/* Define if threads enabled */
+#define LLVM_ENABLE_THREADS 1
+
+/* Installation directory for config files */
+#define LLVM_ETCDIR "/opt/llvm-android/etc/llvm"
+
+/* Has gcc/MSVC atomic intrinsics */
+#define LLVM_HAS_ATOMICS 1
+
+/* Installation directory for include files */
+#define LLVM_INCLUDEDIR "/opt/llvm-android/include"
+
+/* Installation directory for .info files */
+#define LLVM_INFODIR "/opt/llvm-android/info"
+
+/* Installation directory for libraries */
+#define LLVM_LIBDIR "/opt/llvm-android/lib"
+
+/* Installation directory for man pages */
+#define LLVM_MANDIR "/opt/llvm-android/man"
+
+/* Define to path to circo program if found or 'echo circo' otherwise */
+/* #undef LLVM_PATH_CIRCO */
+
+/* Define to path to dot program if found or 'echo dot' otherwise */
+/* #undef LLVM_PATH_DOT */
+
+/* Define to path to dotty program if found or 'echo dotty' otherwise */
+/* #undef LLVM_PATH_DOTTY */
+
+/* Define to path to fdp program if found or 'echo fdp' otherwise */
+/* #undef LLVM_PATH_FDP */
+
+/* Define to path to Graphviz program if found or 'echo Graphviz' otherwise */
+/* #undef LLVM_PATH_GRAPHVIZ */
+
+/* Define to path to gv program if found or 'echo gv' otherwise */
+/* #undef LLVM_PATH_GV */
+
+/* Define to path to neato program if found or 'echo neato' otherwise */
+/* #undef LLVM_PATH_NEATO */
+
+/* Define to path to twopi program if found or 'echo twopi' otherwise */
+/* #undef LLVM_PATH_TWOPI */
+
+/* Define to path to xdot.py program if found or 'echo xdot.py' otherwise */
+/* #undef LLVM_PATH_XDOT_PY */
+
+/* Installation prefix directory */
+#define LLVM_PREFIX "/opt/llvm-android"
+
+/* Major version of the LLVM API */
+#define LLVM_VERSION_MAJOR 3
+
+/* Minor version of the LLVM API */
+#define LLVM_VERSION_MINOR 1
+
+#include "llvm/Config/llvm-platform-config.h"
+
+#endif
diff --git a/include/llvm/Config/llvm-config.h b/include/llvm/Config/llvm-config.h
deleted file mode 100644
index 451efe3..0000000
--- a/include/llvm/Config/llvm-config.h
+++ /dev/null
@@ -1 +0,0 @@
-#include "llvm/Config/config.h"
diff --git a/include/llvm/Config/llvm-platform-config.h b/include/llvm/Config/llvm-platform-config.h
new file mode 100644
index 0000000..3291fa8
--- /dev/null
+++ b/include/llvm/Config/llvm-platform-config.h
@@ -0,0 +1,126 @@
+#ifndef LLVM_NATIVE_CONFIG_H
+
+/*===-- llvm/config/llvm-native-config.h --------------------------*- C -*-===*/
+/* */
+/* The LLVM Compiler Infrastructure */
+/* */
+/* This file is distributed under the University of Illinois Open Source */
+/* License. See LICENSE.TXT for details. */
+/* */
+/*===----------------------------------------------------------------------===*/
+
+#if defined(__i386__) || defined(__x86_64__)
+
+/* LLVM architecture name for the native architecture, if available */
+#define LLVM_NATIVE_ARCH X86
+
+/* LLVM name for the native AsmParser init function, if available */
+#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser
+
+/* LLVM name for the native AsmPrinter init function, if available */
+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter
+
+/* LLVM name for the native Disassembler init function, if available */
+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler
+
+/* LLVM name for the native Target init function, if available */
+#define LLVM_NATIVE_TARGET LLVMInitializeX86Target
+
+/* LLVM name for the native TargetInfo init function, if available */
+#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo
+
+/* LLVM name for the native target MC init function, if available */
+#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC
+
+
+#elif defined(__arm__)
+
+/* LLVM architecture name for the native architecture, if available */
+#define LLVM_NATIVE_ARCH ARM
+
+/* LLVM name for the native AsmParser init function, if available */
+#define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser
+
+/* LLVM name for the native AsmPrinter init function, if available */
+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeARMAsmPrinter
+
+/* LLVM name for the native Disassembler init function, if available */
+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeARMDisassembler
+
+/* LLVM name for the native Target init function, if available */
+#define LLVM_NATIVE_TARGET LLVMInitializeARMTarget
+
+/* LLVM name for the native TargetInfo init function, if available */
+#define LLVM_NATIVE_TARGETINFO LLVMInitializeARMTargetInfo
+
+/* LLVM name for the native target MC init function, if available */
+#define LLVM_NATIVE_TARGETMC LLVMInitializeARMTargetMC
+
+
+#elif defined(__mips__)
+
+/* LLVM architecture name for the native architecture, if available */
+#define LLVM_NATIVE_ARCH Mips
+
+/* LLVM name for the native AsmParser init function, if available */
+#define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser
+
+/* LLVM name for the native AsmPrinter init function, if available */
+#define LLVM_NATIVE_ASMPRINTER LLVMInitializeMipsAsmPrinter
+
+/* LLVM name for the native Disassembler init function, if available */
+#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeMipsDisassembler
+
+/* LLVM name for the native Target init function, if available */
+#define LLVM_NATIVE_TARGET LLVMInitializeMipsTarget
+
+/* LLVM name for the native TargetInfo init function, if available */
+#define LLVM_NATIVE_TARGETINFO LLVMInitializeMipsTargetInfo
+
+/* LLVM name for the native target MC init function, if available */
+#define LLVM_NATIVE_TARGETMC LLVMInitializeMipsTargetMC
+
+
+#else
+
+#error "Unknown native architecture"
+
+#endif
+
+
+
+#if defined(_WIN32) || defined(_WIN64)
+
+/* Define if this is Unixish platform */
+/* #undef LLVM_ON_UNIX */
+
+/* Define if this is Win32ish platform */
+#define LLVM_ON_WIN32 1
+
+/* Define to 1 if you have the <windows.h> header file. */
+#define HAVE_WINDOWS_H 1
+
+/* Define to 1 if you have the `psapi' library (-lpsapi). */
+#define HAVE_LIBPSAPI 1
+
+/* Define to 1 if you have the `imagehlp' library (-limagehlp). */
+#define HAVE_LIBIMAGEHLP 1
+
+/* Type of 1st arg on ELM Callback */
+#define WIN32_ELMCB_PCSTR PCSTR
+
+
+#else /* Linux, Mac OS X, ... Unixish platform */
+
+/* Define if this is Unixish platform */
+#define LLVM_ON_UNIX 1
+
+/* Define if this is Win32ish platform */
+/* #undef LLVM_ON_WIN32 */
+
+/* Type of 1st arg on ELM Callback */
+/* #undef WIN32_ELMCB_PCSTR */
+
+#endif
+
+#endif // LLVM_NATIVE_CONFIG_H
diff --git a/lib/Support/Unix/Signals.inc b/lib/Support/Unix/Signals.inc
index 399f686..f5454cf 100644
--- a/lib/Support/Unix/Signals.inc
+++ b/lib/Support/Unix/Signals.inc
@@ -26,7 +26,7 @@
#if HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif
-#if HAVE_DLFCN_H && __GNUG__
+#if HAVE_DLFCN_H && HAVE_CXXABI_H && __GNUG__
#include <dlfcn.h>
#include <cxxabi.h>
#endif
@@ -216,7 +216,7 @@ static void PrintStackTrace(void *) {
// Use backtrace() to output a backtrace on Linux systems with glibc.
int depth = backtrace(StackTrace,
static_cast<int>(array_lengthof(StackTrace)));
-#if HAVE_DLFCN_H && __GNUG__
+#if HAVE_DLFCN_H && HAVE_CXXABI_H && __GNUG__
int width = 0;
for (int i = 0; i < depth; ++i) {
Dl_info dlinfo;
diff --git a/lib/Target/Mips/AsmParser/Android.mk b/lib/Target/Mips/AsmParser/Android.mk
new file mode 100644
index 0000000..e219f36
--- /dev/null
+++ b/lib/Target/Mips/AsmParser/Android.mk
@@ -0,0 +1,53 @@
+LOCAL_PATH := $(call my-dir)
+
+#===---------------------------------------------------------------===
+# libLLVMMipsAsmParser (common)
+#===---------------------------------------------------------------===
+
+mips_asm_parser_SRC_FILES := \
+ MipsAsmParser.cpp
+
+mips_asm_parser_C_INCLUDES := $(LOCAL_PATH)/..
+
+mips_asm_parser_TBLGEN_TABLES := \
+ MipsGenInstrInfo.inc \
+ MipsGenRegisterInfo.inc \
+ MipsGenSubtargetInfo.inc
+
+mips_asm_parser_TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+
+#===---------------------------------------------------------------===
+# libLLVMMipsAsmParser (host)
+#===---------------------------------------------------------------===
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsAsmParser
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+
+#===---------------------------------------------------------------===
+# libLLVMMipsAsmParser (target)
+#===---------------------------------------------------------------===
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsAsmParser
+LOCAL_MODULE_TAGS := optional
+LOCAL_SRC_FILES := $(mips_asm_parser_SRC_FILES)
+LOCAL_C_INCLUDES += $(mips_asm_parser_C_INCLUDES)
+TBLGEN_TABLES := $(mips_asm_parser_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Target/Mips/Disassembler/Android.mk b/lib/Target/Mips/Disassembler/Android.mk
new file mode 100644
index 0000000..99b405a
--- /dev/null
+++ b/lib/Target/Mips/Disassembler/Android.mk
@@ -0,0 +1,50 @@
+LOCAL_PATH := $(call my-dir)
+
+mips_disassembler_TBLGEN_TABLES := \
+ MipsGenDisassemblerTables.inc \
+ MipsGenEDInfo.inc \
+ MipsGenInstrInfo.inc \
+ MipsGenRegisterInfo.inc \
+ MipsGenSubtargetInfo.inc
+
+mips_disassembler_SRC_FILES := \
+ MipsDisassembler.cpp
+
+# For the device
+# =====================================================
+ifeq ($(TARGET_ARCH),arm)
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsDisassembler
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES)
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMMipsDisassembler
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(mips_disassembler_SRC_FILES)
+LOCAL_C_INCLUDES += $(LOCAL_PATH)/..
+
+TBLGEN_TABLES := $(mips_disassembler_TBLGEN_TABLES)
+TBLGEN_TD_DIR := $(LOCAL_PATH)/..
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+