From c09f1f46df17346e0aed45240e20e94724cc47b8 Mon Sep 17 00:00:00 2001 From: Roland Conybeare Date: Wed, 19 Jun 2024 18:23:23 -0400 Subject: [PATCH] xo-jit: in codegen_primitive() honor explicit_symbol_def flag --- src/jit/MachPipeline.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/jit/MachPipeline.cpp b/src/jit/MachPipeline.cpp index 162c113d..0baf2c3e 100644 --- a/src/jit/MachPipeline.cpp +++ b/src/jit/MachPipeline.cpp @@ -254,6 +254,25 @@ namespace xo { } #endif + if (expr->explicit_symbol_def()) { + static llvm::ExitOnError llvm_exit_on_err; + + llvm_exit_on_err(this->jit_->intern_symbol(expr->name(), + expr->function_address())); + +#ifdef NOT_USING + if (!llvm_result) { + cerr << "MachPipeline::codegen_primitive" + << ": intern_symbol failed" + << xtag("name", expr->name()) + << xtag("addr", expr->function_address()) + << endl; + + return nullptr; + } +#endif + } + log && log("returning llvm function"); return fn;