首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有可能从汇编文件中获取LLVM?

是否有可能从汇编文件中获取LLVM?
EN

Stack Overflow用户
提问于 2019-05-15 08:42:01
回答 1查看 3.3K关注 0票数 3

我使用命令编译了.S文件:

代码语言:javascript
复制
clang-8 -c funcs.s -o funcs.o -emit-llvm

我发现,.o文件是以ELF格式生成的。我希望看到llvm格式(在结果文件的开头有"BC“字符)。

似乎,Clang忽略了"-emit-llvm“标志。

EN

回答 1

Stack Overflow用户

发布于 2019-05-15 10:15:14

您的问题与Is it possible to translate an assembly language to LLVM IR, optimize it and then recompile it to a different architecture?没有根本的区别。

对于这个问题,asm源文件和二进制可执行文件/对象文件基本上是等价的。你还在努力把它解压缩到LLVM。这很难,我不知道是否存在反编译器。

似乎,Clang忽略了"-emit-llvm“标志。

不,它只是不影响你让它做的操作中的任何步骤。

您要求编译器编译为.o,所以它这样做了。

如果输入是.c,输出是.s,那么它就能够发出LLVM-IR,但在这种情况下,LLVM并不是将.s组装到.o的过程的一部分。

因此,在clang运行时,程序的LLVM表示从未存在过,因此没有什么可发出的。

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

https://stackoverflow.com/questions/56145015

复制
相关文章

相似问题

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