This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/CCCStudio-C2000:"未能在缩写表"中找到dwarf缩写代码73

Guru**** 2224720 points
Other Parts Discussed in Thread: SYSBIOS
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/633719/compiler-ccstudio-c2000-failed-to-locate-dwarf-abbreviation-code-73-in-the-abbreviation-table

部件号:CCStudio-C2000
“Thread:SysBIOS”中讨论的其它部件

工具/软件:TI C/C++编译器

大家好,

使用C2000代码生成工具6.2 编译旧项目。11我收到了一组以前从未见过的链接时警告:

警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000a7eb;
  跳过偏移0x005e6deb处编译单元的剩余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000a910;
  跳过偏移0x005e7520处编译单元的剩余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000ab58;
  跳过偏移0x005e83b4处编译单元的其余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000add7;
  跳过偏移0x005e9f83处编译单元的其余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000af4c;
备注#1.0205万-D:自动RTS选择: 在中的"rts2800_fpu32.lib"中链接
  跳过偏移0x005eab40处编译单元的剩余部分
  索引库"libc.a"的位置
(...)
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000b21a;
  跳过偏移0x005ec948处编译单元的剩余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000b3d4;
  跳过偏移0x005ed572处编译单元的剩余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000b60c;
  跳过偏移0x005ee05c处编译单元的剩余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移值为0x0000b962;
  跳过偏移0x005f38f2处编译单元的剩余部分
警告#9.9922万:C:\Users\pauphell\AppData\Local\Temp\5.6762万:找不到
  缩写表中的dwarf缩写代码73,偏移0x0000ba9a;
  跳过偏移0x005f3e35处编译单元的其余部分

  • 我不知道是什么触发了这种情况。
  • 谷歌这个到目前为止没有给我任何线索。
  • 错误消息引用了一个确实存在的链接程序temp/work文件,但未指明其中涉及的模块。
  • 我已经审查了所涉项目的汇编和链接选项,迄今没有发现任何可疑之处。
  • 我已经调整了一些参数,清理了几次所有项目并重建了所有项目,但都没有效果-问题仍然存在!
  • 我从详细的global-build.log中检查了所有内容是否都是使用6.2 Tm11编译的(包括涉及的旧XDC和自定义ti.SysBIOS库文件)。
  • 由于已打开严格兼容性检查,我假定链接程序会诊断代码生成工具不一致(如果有)。
  • 只是为了以防万一,我还签入了链接程序调用的.map文件也是6.2 11。

我开始想出新的创意想法来解决这个问题...

你们有没有人知道为什么找不到那些dwarf缩写代码73,以及如何解决这个问题?


太棒了!

Pha。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请按照" 项目共享"一文中的说明打包您的项目,然后将其附加到下一篇文章中。  我计划使用它来重现问题。  然后,我将提交缺陷报告。  链接器专家将使用该工具来解决问题。

    谢谢,此致,

    -George

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    该消息告诉您dwarf调试信息以某种方式损坏。 我以前没有看到过这条具体的消息。 我猜这是在可执行目标文件移动到其最终位置之前为其创建的临时文件。 我建议升级到最新版本的编译器。 如果仍收到警告,我们可以开始诊断。 现在这些只是dwarf警告,所以你的程序可能会正常工作,只是dwarf调试将被破坏。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    George,
    感谢您的迅速回答。 由于时间上的偏差,这是在我离开工作到周末之后才到达的 在这段时间里,一些潜意识的背景周末思考让我有了一些新的想法,今天上午我发现了我的问题的原因。 试图使故事简短:
    在诊断消息引用的临时文件上使用十六进制转储,我发现它看起来非常可疑,像一个.out文件。
    然后使用带有一些完整列表选项的odf2000在临时文件上,我得到了一个很好的166 MIB。 浏览这里,我终于找到了问题的原因:一个小库仍然错误地调用了16.9 .3.LTS代码生成工具,而不是6.2 .11工具。 此外,该库中的调试选项被设置为dwarf 4,这在6.2 .11中不存在(至少官方的)。 但这对6.2 Tm11链接器没有帮助! :)
    我唯一不太明白的是,--stricy_compatibility选项在链接中设置了,我没有看到提到那些使用错误的代码生成工具编译的调试模块的错误。

    发生的事情是,我在错误的构建配置上为该特定库更改了编译器版本选项,即主构建在触发库重建时不使用的版本选项。 但是,为什么我没有在global-build.log文件中找到16.9 Tm3编译器版本? 好的,因为*该*特定的构建配置也没有设置详细控制台选项,因此它根本不显示有关其版本的任何信息... <叹气>。 但幸运的是,该信息确实存在于临时文件记录中。

    很抱歉不需要提醒,再次感谢快速提供帮助。 我很感激! /Ph.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    考古学家,

    >我建议升级到最新版本的编译器。

    这正是我们正在做的事情,也是我们如何开始这种混乱! :)
    唯一的问题是它不是一块蛋糕:
    该项目由数百个代码文件组成,其中大部分为C,但也有大量ASM文件,它会填满大部分目标文件(RAM和闪存)。
    只要迁移到16.9 3,就会生成更大的代码,而且项目不再链接/适合目标。
    对链接文件中的内存映射进行大小优化(至最大值)和重新调整使我们重新进入,但随后应用程序的某些关键部分似乎已损坏。
    正是在将新项目配置降级到旧代码生成工具(以检查对应用程序的影响)时,我们陷入了该线程的目标陷阱...
    不管怎样,至少对于后一个问题,我们已经回到了正轨。

    感谢您的帮助! /Ph.