aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLogan Chien <loganchien@google.com>2012-04-20 18:32:49 +0800
committerLogan Chien <loganchien@google.com>2012-04-20 18:32:49 +0800
commitca8b2c655eb4d283187cbbb4f0f3acd34f60fa1c (patch)
treea58a259a37e48ef27f884bafefa4dc3f7e1431c4
parent4c8fab82874a29dcd2b242533af3ebe7f66bfd74 (diff)
downloadexternal_llvm-ca8b2c655eb4d283187cbbb4f0f3acd34f60fa1c.zip
external_llvm-ca8b2c655eb4d283187cbbb4f0f3acd34f60fa1c.tar.gz
external_llvm-ca8b2c655eb4d283187cbbb4f0f3acd34f60fa1c.tar.bz2
Add libLLVMObject to read executable file.
Change-Id: I9ce8742d12fd3d9c57cec182e76c7385d3f0e3bc
-rw-r--r--Android.mk1
-rw-r--r--include/llvm/Object/ELF.h2
-rw-r--r--lib/Object/Android.mk40
-rw-r--r--lib/Object/COFFObjectFile.cpp2
-rw-r--r--lib/Object/ELFObjectFile.cpp2
5 files changed, 47 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
index e0eb071..2b78aba 100644
--- a/Android.mk
+++ b/Android.mk
@@ -19,6 +19,7 @@ subdirs := \
lib/Linker \
lib/MC \
lib/MC/MCParser \
+ lib/Object \
lib/Support \
lib/TableGen \
lib/Target \
diff --git a/include/llvm/Object/ELF.h b/include/llvm/Object/ELF.h
index d33f317..cd13bd6 100644
--- a/include/llvm/Object/ELF.h
+++ b/include/llvm/Object/ELF.h
@@ -30,6 +30,8 @@
#include <limits>
#include <utility>
+#include <ctype.h>
+
namespace llvm {
namespace object {
diff --git a/lib/Object/Android.mk b/lib/Object/Android.mk
new file mode 100644
index 0000000..d7ba85d
--- /dev/null
+++ b/lib/Object/Android.mk
@@ -0,0 +1,40 @@
+LOCAL_PATH := $(call my-dir)
+
+object_SRC_FILES := \
+ Archive.cpp \
+ Binary.cpp \
+ COFFObjectFile.cpp \
+ ELFObjectFile.cpp \
+ Error.cpp \
+ MachOObject.cpp \
+ MachOObjectFile.cpp \
+ Object.cpp \
+ ObjectFile.cpp
+
+
+# For the host
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE:= libLLVMObject
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(object_SRC_FILES)
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+include $(CLEAR_VARS)
+
+LOCAL_MODULE:= libLLVMObject
+LOCAL_MODULE_TAGS := optional
+
+LOCAL_SRC_FILES := $(object_SRC_FILES)
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
diff --git a/lib/Object/COFFObjectFile.cpp b/lib/Object/COFFObjectFile.cpp
index b8ba905..ec26096 100644
--- a/lib/Object/COFFObjectFile.cpp
+++ b/lib/Object/COFFObjectFile.cpp
@@ -17,6 +17,8 @@
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Triple.h"
+#include <ctype.h>
+
using namespace llvm;
using namespace object;
diff --git a/lib/Object/ELFObjectFile.cpp b/lib/Object/ELFObjectFile.cpp
index ab5f810..8e1dba9 100644
--- a/lib/Object/ELFObjectFile.cpp
+++ b/lib/Object/ELFObjectFile.cpp
@@ -13,6 +13,8 @@
#include "llvm/Object/ELF.h"
+#include <ctype.h>
+
namespace llvm {
using namespace object;