首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构建Linux内核映像(vmlinux)以使用DWARF3而不是DWARF4

构建Linux内核映像(vmlinux)以使用DWARF3而不是DWARF4
EN

Stack Overflow用户
提问于 2017-06-09 18:37:52
回答 1查看 825关注 0票数 2

我正在从事一个项目,该项目依赖Lauterbach JTAG调试器硬件和软件,目标JTAG电缆的支持于2011年7月结束。我们在omap2处理器上使用Linux2.6.33内核。我们使用gcc 4.9.2构建内核映像(不确定绑定工具的哪个版本)。

对于那些不熟悉Lauterbach如何授权其软件的人,目标电缆(在调试荚和目标之间连接)携带支持合同日期。任何版本的劳特巴赫跟踪-32软件之前和结束的支持期可以使用,但任何结束后,对电缆的支持,除了一个30分钟的会议演示期。我们正在通过我们的采购过程来续签电缆的支持合同,但在完成之前(可能需要几个月),我们就会陷入困境。

看来,我们正在使用的工具链产生的调试信息对于在2017年7月之前发布的跟踪-32调试器软件的最后版本来说太新了。尝试使用以下命令加载内核映像(vmlinux)的符号:

代码语言:javascript
复制
data.load.elf \\path\to\vmlinux /nocode

失败,其消息类似于:

代码语言:javascript
复制
error: entry near offset 5432100. in file \\path\to\vmlinux (use DUMP)

最简单的解决方案,当然,是更新到第一个版本的跟踪-32软件,支持任何ELF/侏儒组合,我们的工具链产生。我们知道最新的版本是可行的,但是我们的电缆不支持这个版本,直到我们的采购人员弄清楚这是测试设备还是软件(他们来自不同的预算)。

在接下来的几个月里,我们需要一个解决方案。我在寻找以下之一:

  1. 告诉工具链生成与调试器软件兼容的调试信息的一些方法
  2. 将工具链生成的vmlinux ELF/DWARF文件转换为与我们被迫使用的Trace-32版本兼容的更早的ELF/DWARF格式修订版的一些方法(R.2010.11.000028724)。
  3. 对于这个问题,我们还没有想到其他的解决办法

我事先感谢大家的帮助。

编辑:我不能100%确定工具链是生成DWARF3还是DWARF4,所以我可能需要制作一个ELF/DWARF2 2 "vmlinux“

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-09 22:58:49

对你的三个想法:

  1. 我建议试试GCC的选择:-g -gdwarf-2 -gstrict-dwarf 或者你可以试试gcc的4.4版(或更高版本),它似乎适合2011年。
  2. 我想你根本没有机会把ELF的矮人信息转移到别的地方。(或者至少不是以某种简单的方式。)
  3. 去劳特巴赫的网站。在支持>注册时,您可以请求一个为期一个月的临时维护密钥。这应该给你的销售人员购买新钥匙的时间。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44464689

复制
相关文章

相似问题

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