【问题标题】:How to parse PNaCl as human readable LLVM IR?如何将 PNaCl 解析为人类可读的 LLVM IR?
【发布时间】:2015-08-21 11:31:03
【问题描述】:

我有一个.pexe 并想要获取 LLVM IR 代码。如何才能做到这一点?这是我要转换为 LLVM IR 的文件:NaClAMBullet.pexe

我不明白为什么它还不能读取 LLVM IR 代码:

PNaCl 可移植可执行文件(简称 pexe)是单个 LLVM IR 模块。

来源:Google Native Client Reference

【问题讨论】:

    标签: llvm llvm-ir google-nativeclient


    【解决方案1】:

    PNaCl toolchain 包含许多用于操作 PNaCl 和 LLVM 文件的工具,包括 pnacl-dispnacl-bcdis.pexe 确实是从单个 LLVM IR 模块创建的,但它与 LLVM IR 模块不同:PNaCl 位码是稳定的,并且与 LLVM IR 不同。

    【讨论】:

    • 感谢您的回答!我不知道谷歌为此提供了如此易于使用的工具。我尝试了多个 LLVM 工具,但似乎谷歌在工具链的几个组件中改变了很多东西。对其他人来说可能很明显,但我对编译语言很陌生,只使用过clang 和自己编写的 makefile...
    • 输出有 50 万行。你知道如何删除由Pepper.js/NaCl SDK 生成的所有代码,只留下原始C/C++-file 中编写的部分吗?
    • 最好的办法是使用从 C 文件生成的目标文件,而不是最终链接的可执行文件。目标文件是“常规”LLVM 位码,可与任何 PNaCl 或 LLVM 工具一起使用。
    • @Derek 谢谢 :) 我想查看一些已经编译的.pexe-文件。但如果没有目标文件很麻烦,我想我会想办法花点时间。
    猜你喜欢
    • 2011-07-08
    • 2016-09-18
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2014-08-30
    • 1970-01-01
    相关资源
    最近更新 更多