From 34949bb1a6677c6be4d74fab694f09fbd6eb0e95 Mon Sep 17 00:00:00 2001 From: Stephen Hines Date: Thu, 4 Dec 2014 01:12:46 -0800 Subject: Update LLVM lit test configuration to be able to work for 3.6. Add support for building more host verification tools: + LLVMHello.so (loadable plugin pass) + lli-child-target + llvm-symbolizer (missing some Android.mk magic) + llvm-vtabledump + verify-uselistorder Change-Id: Id7a9397bf458e97fc330ea0301ebb001750aac7c --- Android.mk | 5 +++ lib/Transforms/Hello/Android.mk | 24 +++++++++++++++ test/lit.site.cfg | 12 ++++++-- tools/lli/ChildTarget/Android.mk | 31 +++++++++++++++++++ tools/llvm-vtabledump/Android.mk | 60 ++++++++++++++++++++++++++++++++++++ tools/verify-uselistorder/Android.mk | 27 ++++++++++++++++ 6 files changed, 157 insertions(+), 2 deletions(-) create mode 100644 lib/Transforms/Hello/Android.mk create mode 100644 tools/lli/ChildTarget/Android.mk create mode 100644 tools/llvm-vtabledump/Android.mk create mode 100644 tools/verify-uselistorder/Android.mk diff --git a/Android.mk b/Android.mk index 52aab8f..1f4421c 100644 --- a/Android.mk +++ b/Android.mk @@ -32,6 +32,7 @@ subdirs := \ lib/Support \ lib/TableGen \ lib/Target \ + lib/Transforms/Hello \ lib/Transforms/IPO \ lib/Transforms/InstCombine \ lib/Transforms/Instrumentation \ @@ -83,6 +84,7 @@ subdirs += \ tools/bugpoint \ tools/llc \ tools/lli \ + tools/lli/ChildTarget \ tools/llvm-ar \ tools/llvm-as \ tools/llvm-bcanalyzer \ @@ -103,9 +105,12 @@ subdirs += \ tools/llvm-readobj \ tools/llvm-rtdyld \ tools/llvm-size \ + tools/llvm-symbolizer \ + tools/llvm-vtabledump \ tools/macho-dump \ tools/obj2yaml \ tools/opt \ + tools/verify-uselistorder \ tools/yaml2obj \ # LLVM Command Line Utilities diff --git a/lib/Transforms/Hello/Android.mk b/lib/Transforms/Hello/Android.mk new file mode 100644 index 0000000..4998478 --- /dev/null +++ b/lib/Transforms/Hello/Android.mk @@ -0,0 +1,24 @@ +LOCAL_PATH:= $(call my-dir) + +LLVM_ROOT_PATH := $(LOCAL_PATH)/../../.. +include $(LLVM_ROOT_PATH)/llvm.mk + +transforms_hello_SRC_FILES := \ + Hello.cpp + +# For the host +# ===================================================== +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(transforms_hello_SRC_FILES) +LOCAL_MODULE:= LLVMHello + +#LOCAL_SHARED_LIBRARIES := libLLVM +LOCAL_STATIC_LIBRARIES := \ + libLLVMCore \ + libLLVMSupport + +LOCAL_MODULE_TAGS := optional + +include $(LLVM_HOST_BUILD_MK) +include $(BUILD_HOST_SHARED_LIBRARY) diff --git a/test/lit.site.cfg b/test/lit.site.cfg index 4614eb8..6967b23 100644 --- a/test/lit.site.cfg +++ b/test/lit.site.cfg @@ -5,21 +5,29 @@ aosp_dir = os.getenv("ANDROID_BUILD_TOP") ## Autogenerated by LLVM/Clang configuration. # Do not edit! +config.enable_ffi = "" +config.go_executable = "" +config.have_ocamlopt = "" +config.have_ocaml_ounit = "" config.host_triple = "x86_64-unknown-linux-gnu" config.target_triple = "x86_64-unknown-linux-gnu" config.llvm_src_root = aosp_dir + "/external/llvm" config.llvm_obj_root = aosp_dir + "/out/host/linux-x86/obj/test_llvm" config.llvm_tools_dir = aosp_dir + "/out/host/linux-x86/bin" -config.llvm_shlib_dir = aosp_dir + "/out/host/linux-x86/lib" +config.llvm_shlib_dir = aosp_dir + "/out/host/linux-x86/lib64" config.llvm_shlib_ext = ".so" config.llvm_exe_ext = "" config.lit_tools_dir = "" config.python_executable = "/usr/bin/python" -config.ocamlopt_executable = "" +config.ocaml_flags = "" +config.ocamlfind_executable = "" config.enable_shared = 0 config.enable_assertions = 0 config.targets_to_build = " X86 AArch64 ARM Mips" config.llvm_bindings = "" +config.host_cc = "clang" +config.host_cxx = "clang++" +config.host_ldflags = "" config.host_os = "Linux" config.host_arch = "x86_64" config.llvm_use_intel_jitevents = "OFF" diff --git a/tools/lli/ChildTarget/Android.mk b/tools/lli/ChildTarget/Android.mk new file mode 100644 index 0000000..e4836e8 --- /dev/null +++ b/tools/lli/ChildTarget/Android.mk @@ -0,0 +1,31 @@ +LOCAL_PATH := $(call my-dir) + +LLVM_ROOT_PATH := $(LOCAL_PATH)/../../../ + + +#===---------------------------------------------------------------=== +# lli-child-target command line tool +#===---------------------------------------------------------------=== + +lli_child_target_SRC_FILES := \ + ChildTarget.cpp \ + ../RemoteTarget.cpp + +include $(CLEAR_VARS) + +LOCAL_MODULE := lli-child-target +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_IS_HOST_MODULE := true + +LOCAL_SRC_FILES := $(lli_child_target_SRC_FILES) + +LOCAL_STATIC_LIBRARIES := \ + libLLVMSupport + +LOCAL_LDLIBS += -lpthread -lm -ldl + +include $(LLVM_ROOT_PATH)/llvm.mk +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_EXECUTABLE) diff --git a/tools/llvm-vtabledump/Android.mk b/tools/llvm-vtabledump/Android.mk new file mode 100644 index 0000000..c3309e4 --- /dev/null +++ b/tools/llvm-vtabledump/Android.mk @@ -0,0 +1,60 @@ +LOCAL_PATH := $(call my-dir) + +LLVM_ROOT_PATH := $(LOCAL_PATH)/../.. +include $(LLVM_ROOT_PATH)/llvm.mk + +llvm_vtabledump_SRC_FILES := \ + Error.cpp \ + llvm-vtabledump.cpp + +llvm_vtabledump_STATIC_LIBRARIES := \ + libLLVMARMAsmParser \ + libLLVMARMInfo \ + libLLVMARMDesc \ + libLLVMARMAsmPrinter \ + libLLVMARMDisassembler \ + libLLVMAArch64Info \ + libLLVMAArch64AsmParser \ + libLLVMAArch64Desc \ + libLLVMAArch64AsmPrinter \ + libLLVMAArch64Utils \ + libLLVMAArch64Disassembler \ + libLLVMMipsInfo \ + libLLVMMipsAsmParser \ + libLLVMMipsDesc \ + libLLVMMipsAsmPrinter \ + libLLVMMipsDisassembler \ + libLLVMX86Info \ + libLLVMX86Desc \ + libLLVMX86AsmParser \ + libLLVMX86CodeGen \ + libLLVMX86AsmPrinter \ + libLLVMX86Utils \ + libLLVMX86Disassembler \ + libLLVMAsmPrinter \ + libLLVMCodeGen \ + libLLVMAnalysis \ + libLLVMTarget \ + libLLVMObject \ + libLLVMMCParser \ + libLLVMMC \ + libLLVMMCDisassembler \ + libLLVMBitReader \ + libLLVMCore \ + libLLVMAsmParser \ + libLLVMSupport \ + + +include $(CLEAR_VARS) + +LOCAL_MODULE := llvm-vtabledump +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(llvm_vtabledump_SRC_FILES) +LOCAL_LDLIBS += -lpthread -lm -ldl + +LOCAL_STATIC_LIBRARIES := $(llvm_vtabledump_STATIC_LIBRARIES) + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_EXECUTABLE) diff --git a/tools/verify-uselistorder/Android.mk b/tools/verify-uselistorder/Android.mk new file mode 100644 index 0000000..207f749 --- /dev/null +++ b/tools/verify-uselistorder/Android.mk @@ -0,0 +1,27 @@ +LOCAL_PATH := $(call my-dir) + +LLVM_ROOT_PATH := $(LOCAL_PATH)/../.. +include $(LLVM_ROOT_PATH)/llvm.mk + +verify_uselistorder_SRC_FILES := \ + verify-uselistorder.cpp + +include $(CLEAR_VARS) + +LOCAL_MODULE := verify-uselistorder +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_MODULE_TAGS := optional +LOCAL_SRC_FILES := $(verify_uselistorder_SRC_FILES) +LOCAL_LDLIBS += -lpthread -lm -ldl + +LOCAL_STATIC_LIBRARIES := \ + libLLVMAsmParser \ + libLLVMBitReader \ + libLLVMBitWriter \ + libLLVMCore \ + libLLVMIRReader \ + libLLVMSupport + +include $(LLVM_HOST_BUILD_MK) +include $(LLVM_GEN_INTRINSICS_MK) +include $(BUILD_HOST_EXECUTABLE) -- cgit v1.1