ELF符号表中缺少源文件——如何将它们包含进去?

3
我正在处理一个交给我的项目,其中一些构建和链接的概念对我来说是新的。我有一个makefile、几个汇编和C源文件、一个ELF文件和二进制文件。当我将ELF文件加载到目标端时,我只能逐步执行C文件,而不能执行汇编文件。
当我对ELF文件进行readelf操作时,我发现汇编(.S)文件在符号表中缺失。同样,我的调试器(RealView Debugger 4.1)在"sources from image"树中也不列出这些.S文件。我可以看到某些符号(例如标签名)包含在我的readelf输出中,但没有文件类型符号本身。我一直在查看makefile,试图找出可能未包含它们的原因,但我不确定自己在寻找什么。请问有人可以指引我正确的方向吗?谢谢!

1
请检查您的Makefile文件中是否将-g选项传递给armasm。 - Pete Fordham
@PeteFordham,谢谢,我已经检查过了,我正在使用-g选项与汇编器和C编译器一起。 - Rich
1个回答

1

您提到使用了 RealView 调试器,因此我猜测您可能在使用 RVDS。如果是的话,您尝试使用随 RVDS 附带的 readelf 等效工具吗?我现在没有确认的方法,但我记得 ARM 编译器和 gcc 生成的汇编代码之间存在细微差别。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接