aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-jitlink
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-jitlink')
-rw-r--r--llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp1
-rw-r--r--llvm/tools/llvm-jitlink/llvm-jitlink.cpp20
2 files changed, 13 insertions, 8 deletions
diff --git a/llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp b/llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
index 8d33ae1..2cffca2 100644
--- a/llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
+++ b/llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
@@ -44,7 +44,6 @@ ExitOnError ExitOnErr;
LLVM_ATTRIBUTE_USED void linkComponents() {
errs() << (void *)&llvm_orc_registerEHFrameSectionAllocAction
<< (void *)&llvm_orc_deregisterEHFrameSectionAllocAction
- << (void *)&llvm_orc_registerJITLoaderGDBWrapper
<< (void *)&llvm_orc_registerJITLoaderGDBAllocAction;
}
diff --git a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
index 79216e8..b8de817 100644
--- a/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
+++ b/llvm/tools/llvm-jitlink/llvm-jitlink.cpp
@@ -17,17 +17,15 @@
#include "llvm/Config/llvm-config.h" // for LLVM_ON_UNIX, LLVM_ENABLE_THREADS
#include "llvm/ExecutionEngine/Orc/AbsoluteSymbols.h"
#include "llvm/ExecutionEngine/Orc/COFFPlatform.h"
-#include "llvm/ExecutionEngine/Orc/DebugObjectManagerPlugin.h"
#include "llvm/ExecutionEngine/Orc/Debugging/DebugInfoSupport.h"
#include "llvm/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.h"
+#include "llvm/ExecutionEngine/Orc/Debugging/ELFDebugObjectPlugin.h"
#include "llvm/ExecutionEngine/Orc/Debugging/PerfSupportPlugin.h"
#include "llvm/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.h"
#include "llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h"
#include "llvm/ExecutionEngine/Orc/ELFNixPlatform.h"
-#include "llvm/ExecutionEngine/Orc/EPCDebugObjectRegistrar.h"
#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h"
#include "llvm/ExecutionEngine/Orc/ExecutionUtils.h"
-#include "llvm/ExecutionEngine/Orc/GetDylibInterface.h"
#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h"
#include "llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h"
#include "llvm/ExecutionEngine/Orc/JITLinkReentryTrampolines.h"
@@ -348,7 +346,6 @@ static LLVM_ATTRIBUTE_USED void linkComponents() {
errs() << "Linking in runtime functions\n"
<< (void *)&llvm_orc_registerEHFrameSectionAllocAction << '\n'
<< (void *)&llvm_orc_deregisterEHFrameSectionAllocAction << '\n'
- << (void *)&llvm_orc_registerJITLoaderGDBWrapper << '\n'
<< (void *)&llvm_orc_registerJITLoaderGDBAllocAction << '\n'
<< (void *)&llvm_orc_registerJITLoaderPerfStart << '\n'
<< (void *)&llvm_orc_registerJITLoaderPerfEnd << '\n'
@@ -776,6 +773,7 @@ createSharedMemoryManager(SimpleRemoteEPC &SREPC) {
SlabSize, SREPC, SAs);
}
+#if LLVM_ON_UNIX && LLVM_ENABLE_THREADS
static void setupEPCRemoteMemoryManager(SimpleRemoteEPC::Setup &S) {
switch (UseMemMgr) {
case MemMgr::Default:
@@ -789,6 +787,7 @@ static void setupEPCRemoteMemoryManager(SimpleRemoteEPC::Setup &S) {
break;
}
}
+#endif
static Expected<MaterializationUnit::Interface>
getTestObjectFileInterface(Session &S, MemoryBufferRef O) {
@@ -1295,9 +1294,16 @@ Session::Session(std::unique_ptr<ExecutorProcessControl> EPC, Error &Err)
} else if (TT.isOSBinFormatELF()) {
if (!NoExec)
ObjLayer.addPlugin(ExitOnErr(EHFrameRegistrationPlugin::Create(ES)));
- if (DebuggerSupport)
- ObjLayer.addPlugin(std::make_unique<DebugObjectManagerPlugin>(
- ES, ExitOnErr(createJITLoaderGDBRegistrar(this->ES)), true, true));
+ if (DebuggerSupport) {
+ Error TargetSymErr = Error::success();
+ auto Plugin =
+ std::make_unique<ELFDebugObjectPlugin>(ES, true, true, TargetSymErr);
+ if (!TargetSymErr)
+ ObjLayer.addPlugin(std::move(Plugin));
+ else
+ logAllUnhandledErrors(std::move(TargetSymErr), errs(),
+ "Debugger support not available: ");
+ }
}
if (auto MainJDOrErr = ES.createJITDylib("main"))