[llvm] [llvm-c] Expose debug object registration in Orc C-API bindings (PR #73257)
Stefan Gränitz via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 24 08:07:57 PST 2023
================
@@ -863,6 +866,31 @@ void LLVMOrcObjectLayerEmit(LLVMOrcObjectLayerRef ObjLayer,
std::unique_ptr<MemoryBuffer>(unwrap(ObjBuffer)));
}
+LLVMErrorRef
+LLVMOrcObjectLayerRegisterPluginJITLoaderGDB(LLVMOrcObjectLayerRef ObjLayer,
+ LLVMBool RequireDebugSectionsFlag,
+ LLVMBool AutoRegisterCodeFlag) {
+ ExecutionSession &ES = unwrap(ObjLayer)->getExecutionSession();
+ auto Registrar = createJITLoaderGDBRegistrar(ES);
+ if (!Registrar)
+ return wrap(Registrar.takeError());
+
+ auto *ObjLinkingLayer = cast<ObjectLinkingLayer>(unwrap(ObjLayer));
+ if (!ObjLinkingLayer)
+ return wrap(
+ createStringError(inconvertibleErrorCode(),
+ "No debug support for given object layer type"));
+
+ ObjLinkingLayer->addPlugin(std::make_unique<DebugObjectManagerPlugin>(
+ ES, std::move(*Registrar), RequireDebugSectionsFlag,
+ AutoRegisterCodeFlag));
+
+ auto TargetProcessFn = &llvm_orc_registerJITLoaderGDBWrapper;
+ (void)TargetProcessFn;
----------------
weliveindetail wrote:
Dropped it and updated notes in header
https://github.com/llvm/llvm-project/pull/73257
More information about the llvm-commits
mailing list