OSDN Git Service

android: [ORC] Break up OrcJIT library, add Orc-RPC based remote TargetProcessControl
authorMauro Rossi <issor.oruam@gmail.com>
Sat, 30 Jan 2021 21:35:27 +0000 (22:35 +0100)
committerMauro Rossi <issor.oruam@gmail.com>
Thu, 15 Apr 2021 11:05:18 +0000 (13:05 +0200)
Porting of commit
1d0676b54c4e ("[ORC] Break up OrcJIT library, add Orc-RPC based remote TargetProcessControl")

Fixes the following building errors:

ld.lld: error: undefined symbol: llvm::orc::runAsMain(int (*)(int, char**), llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, llvm::Optional<llvm::StringRef>)
>>> referenced by TargetProcessControl.cpp:102 (external/llvm-project/llvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp:102)
>>>               TargetProcessControl.o:(llvm::orc::SelfTargetProcessControl::runAsMain(unsigned long, llvm::ArrayRef<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >)) in archive out/soong/.intermediates/external/llvm-project/llvm/lib/ExecutionEngine/Orc/libLLVM12OrcJIT/android_x86_64_core_static/libLLVM12OrcJIT.a

ld.lld: error: undefined symbol: llvm::orc::registerEHFrameSection(void const*, unsigned long)
>>> referenced by EHFrameSupport.cpp:737 (external/llvm-project/llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp:737)
>>>               EHFrameSupport.o:(llvm::jitlink::InProcessEHFrameRegistrar::registerEHFrames(unsigned long, unsigned long)) in archive out/soong/.intermediates/external/llvm-project/llvm/lib/ExecutionEngine/JITLink/libLLVM12JITLink/android_x86_64_core_static/libLLVM12JITLink.a

ld.lld: error: undefined symbol: llvm::orc::deregisterEHFrameSection(void const*, unsigned long)
>>> referenced by EHFrameSupport.cpp:744 (external/llvm-project/llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp:744)
>>>               EHFrameSupport.o:(llvm::jitlink::InProcessEHFrameRegistrar::deregisterEHFrames(unsigned long, unsigned long)) in archive out/soong/.intermediates/external/llvm-project/llvm/lib/ExecutionEngine/JITLink/libLLVM12JITLink/android_x86_64_core_static/libLLVM12JITLink.a

llvm/Android.bp
llvm/lib/ExecutionEngine/Orc/TargetProcess/Android.bp [new file with mode: 0644]

index c24da2c..f3a8aa0 100644 (file)
@@ -329,6 +329,7 @@ cc_library_shared {
         "libLLVMFrontendOpenMP",
         "libLLVMHelloNew",
         "libLLVMOrcShared",
+        "libLLVMOrcTargetProcess",
     ],
 
     export_include_dirs: ["include"],
diff --git a/llvm/lib/ExecutionEngine/Orc/TargetProcess/Android.bp b/llvm/lib/ExecutionEngine/Orc/TargetProcess/Android.bp
new file mode 100644 (file)
index 0000000..840e3ff
--- /dev/null
@@ -0,0 +1,7 @@
+cc_library_static {
+    name: "libLLVMOrcTargetProcess",
+    defaults: [
+        "llvm-lib-defaults",
+    ],
+    srcs: ["*.cpp"],
+}