【问题标题】:Source files missing from ELF symbol table - how to include them?ELF 符号表中缺少源文件 - 如何包含它们?
【发布时间】:2012-07-08 22:36:31
【问题描述】:

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

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

【问题讨论】:

  • 检查您是否在 Makefile 中将 -g 选项传递给 armasm。
  • @PeteFordham,谢谢,我做了检查,我在汇编器和 C 编译器中都使用了 -g。

标签: makefile arm elf rvds


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-17
    • 2019-07-02
    • 2013-05-14
    • 1970-01-01
    • 2014-07-11
    • 2015-07-07
    • 1970-01-01
    相关资源
    最近更新 更多