首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让wasm-ld支持wasm-import-module属性

如何让wasm-ld支持wasm-import-module属性
EN

Stack Overflow用户
提问于 2020-02-06 23:57:14
回答 1查看 342关注 0票数 0

修复:我设置了要导入到dllimport的函数的DLL存储类,并允许wasm-ld发出正确的导入名称空间。

我正在使用LLVMSharp*库构建一个编译器,它会发出针对wasm32-unknown-unknown的LLVM .bc模块文件。我尝试通过使用{ "wasm-import-module"="wasi_unstable" }属性标记这些函数值,从WASI接口将函数导入其中。(这应该等同于clang对__attribute__((import_module(<module_name>)))所做的事情;请参见here)。但是,当我将生成的.bc文件传递给wasm-ld (安装的Windows64位9.0.0版本)时,生成的.wasm模块仍然从"env"导入这些函数,这不起作用。

是否有一些选项可以传递给wasm-ld以使其正确处理wasm-import-module,或者我是否需要使用另一种方法?

*具体来说,我使用的是LLVMSharp 5.0.0,它是最新的稳定版本。LLVMSharp 8.0.0可能支持构建.wasm模块,但没有针对它的发布NuGet,并且测试版NuGet有一些问题,使我无法升级。这就是为什么我要走wasm-ld路线。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-07 00:46:23

wasm-ld应该支持这个属性。首先要检查的是你的目标文件。

可以使用llvm-readobj --syms将符号转储到目标文件中。您应该在符号上看到ImportModule: foo,其中foo是您在属性中指定的模块名称。

我看起来对此的支持是在wasm-ld中实现的:https://reviews.llvm.org/D45796

我相信这个变化是在llvm 8.0之前完成的,所以你应该使用llvm 8.0或更高版本。

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

https://stackoverflow.com/questions/60098975

复制
相关文章

相似问题

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