3

我正在处理一个交给我的项目,其中一些构建和链接概念对我来说是新的。我有一个 makefile、几个程序集和 C 源文件、一个 ELF 文件和二进制文件。当我将 ELF 文件加载到我的目标上时,我只能单步执行 C 文件,而不是汇编文件。

当我对 ELF 文件执行 readelf 时,我看到符号表中缺少程序集 (.S) 文件。同样,我的调试器(RealView Debugger 4.1)没有在“图像源”树中列出那些 .S 文件。我可以看到这些文件中的一些符号(即标签名称)包含在我的 readelf 输出中,但不是文件类型符号本身。我一直在检查 makefile 以尝试找出可能无法包含它们的内容,但我不确定我在寻找什么。谁能指出我正确的方向?谢谢!

4

1 回答 1

1

您提到使用 RealView 调试器,所以我有根据地猜测您有 RVDS。如果是这样,您是否尝试过使用 RVDS 随附的 readelf 等效项 fromelf。我现在无法确认这一点,但我记得 ARM 编译器和 gcc 生成的汇编代码之间存在细微差别。

于 2012-10-03T00:45:25.553 回答