可以将不同的 .dwo 文件组合成一个文件吗?

Can different .dwo files be combined into a single one?

背景:

我需要我们项目中代码的调试信息。 可以使用以下两种方法:

  1. 使用 -g 编译,然后使用 GNU 二进制实用程序 stripobjcopy 将调试信息剥离到一个单独的文件中。
  2. 使用-gsplit-dwarf
  3. 编译

问题

第二种方法为应用程序中的每个翻译单元创建一个 .dwo。 尽管这会改善链接器时间。但是翻译文件数量庞大,管理起来很头疼。

有没有办法将所有 .dwo 个文件合并到每个二进制文件中?

系统信息

编译器:GCC 工具链。

OS: CentOS/RH 7/8

您正在寻找的工具名为 dwp。它将您的 .dwo 文件收集到一个 .dwp 文件(“DWARF 包”)中。如果需要,.dwp 文件本身可以组合成更大的 .dwp 文件。

它应该带有非古老的 ​​binutils 包。