OSDN Git Service

Add platform support for building LLVMgold.so in LLVM.
authorThan McIntosh <thanm@google.com>
Mon, 24 Aug 2015 15:59:33 +0000 (11:59 -0400)
committerThan McIntosh <thanm@google.com>
Tue, 8 Sep 2015 13:00:09 +0000 (09:00 -0400)
Also includes:
- tweak to libLTO.so makefile to fix unresolved llvm symbols

Bug: 21616856
Change-Id: I8be690ee2da3aeff6804d818ed933d72b3ceba75

Android.mk
test/lit.site.cfg
tools/gold/Android.mk [new file with mode: 0644]
tools/lto/Android.mk

index b7b8f00..dc97ee8 100644 (file)
@@ -128,6 +128,7 @@ subdirs += \
   tools/llvm-size \
   tools/llvm-symbolizer \
   tools/lto \
+  tools/gold \
   tools/macho-dump \
   tools/obj2yaml \
   tools/opt \
index 9ecc813..dbc1054 100644 (file)
@@ -7,7 +7,7 @@ aosp_dir = os.getenv("ANDROID_BUILD_TOP")
 # Do not edit!
 config.enable_ffi = ""
 config.go_executable = ""
-config.gold_executable = "ld"
+config.gold_executable = "ld.gold"
 config.ld64_executable = "ld"
 config.have_ocamlopt = ""
 config.have_ocaml_ounit = ""
diff --git a/tools/gold/Android.mk b/tools/gold/Android.mk
new file mode 100644 (file)
index 0000000..cc76c8a
--- /dev/null
@@ -0,0 +1,46 @@
+#
+# Copyright (C) 2015 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+LOCAL_PATH:= $(call my-dir)
+
+LLVM_ROOT_PATH := $(LOCAL_PATH)/../../
+include $(LLVM_ROOT_PATH)/llvm.mk
+
+# For the host only
+# =====================================================
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+LOCAL_MODULE := LLVMgold
+
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+
+llvm_gold_SRC_FILES := \
+  gold-plugin.cpp
+
+LOCAL_SRC_FILES := $(llvm_gold_SRC_FILES)
+
+LOCAL_SHARED_LIBRARIES := libLLVM
+
+ifndef USE_MINGW
+LOCAL_LDLIBS += -lpthread -ldl
+endif
+
+LOCAL_C_INCLUDES += toolchain/binutils/binutils-2.25/include
+
+include $(LLVM_HOST_BUILD_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_HOST_SHARED_LIBRARY)
index 1699c1b..922c461 100644 (file)
@@ -34,7 +34,7 @@ llvm_lto_SRC_FILES := \
 
 LOCAL_SRC_FILES := $(llvm_lto_SRC_FILES)
 
-LOCAL_STATIC_LIBRARIES := \
+llvm_lto_STATIC_LIBRARIES := \
   libLLVMLinker \
   libLLVMipo \
   libLLVMDebugInfoDWARF \
@@ -82,6 +82,7 @@ LOCAL_STATIC_LIBRARIES := \
   libLLVMTransformObjCARC \
   libLLVMTransformUtils \
   libLLVMipa \
+  libLLVMVectorize \
   libLLVMAnalysis \
   libLLVMTarget \
   libLLVMMCDisassembler \
@@ -92,11 +93,12 @@ LOCAL_STATIC_LIBRARIES := \
   libLLVMOption \
   libLLVMLTO \
   libLLVMSupport \
-  libLLVMVectorize \
   libLLVMProfileData
 
 LOCAL_LDLIBS_darwin := -lpthread -ldl
 LOCAL_LDLIBS_linux := -lpthread -ldl
 
+LOCAL_STATIC_LIBRARIES := $(llvm_lto_STATIC_LIBRARIES) $(llvm_lto_STATIC_LIBRARIES)
+
 include $(LLVM_HOST_BUILD_MK)
 include $(BUILD_HOST_SHARED_LIBRARY)