首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何解决"LLVM错误:尝试执行未知的外部函数“

如何解决"LLVM错误:尝试执行未知的外部函数“
EN

Stack Overflow用户
提问于 2022-08-07 23:08:25
回答 1查看 93关注 0票数 0

我正在编写一个pass,将指令放入LLVM中,这些指令在归档文件中定义,然后在执行过程中从IR中调用。我需要用lli解释器来做这个。我使用的命令是:

lli-8 -附加存档=“/build/rtlib/mylib.a”-强制解释器input.ll

我给我的图书馆打电话的IR:

代码语言:javascript
复制
define protected i32 @main(i32, i8**) #0 !dbg !28 {
entry:
  call void @func_entry(i32 16385, i32 1)
.
.
.
declare void @func_entry(i32, i32)

LLVM错误:尝试执行一个未知的外部函数,该函数在IR文件的底部声明。

EN

回答 1

Stack Overflow用户

发布于 2022-08-11 06:26:50

如果.a是LLVM-IR的归档文件,那么使用llvm-link或llvm将它们与输入链接起来,并在解释器中运行。

否则,带有解释器的LLI将尝试使用FFI调用外部函数。您的lli-8是否启用FFI?.a文件是否定义了一个名为"func_entry“而不是"_Zfunc_entry”或"_func_entry“的符号?可以使用.allvm-nm检查在您的nm文件中定义的符号。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73271650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档