#dwarf #dwp #dwarf-object #split-dwarf #dwarf-package

thorin-dwp

从输入的 DWARF 对象和包构建 DWARF 包的库

9 个版本 (破坏性)

0.8.0 2024 年 8 月 6 日
0.7.0 2023 年 8 月 14 日
0.6.0 2023 年 4 月 21 日
0.5.0 2023 年 2 月 22 日
0.1.1 2021 年 12 月 18 日

#70 in 调试

Download history 14900/week @ 2024-05-03 13866/week @ 2024-05-10 13671/week @ 2024-05-17 15335/week @ 2024-05-24 14403/week @ 2024-05-31 15646/week @ 2024-06-07 14643/week @ 2024-06-14 15677/week @ 2024-06-21 14551/week @ 2024-06-28 14715/week @ 2024-07-05 15403/week @ 2024-07-12 15206/week @ 2024-07-19 15574/week @ 2024-07-26 14929/week @ 2024-08-02 15424/week @ 2024-08-09 14073/week @ 2024-08-16

62,477 个月下载量
用于 thorin-dwp-bin

MIT/Apache

87KB
1.5K SLoC

thorin

thorin 是一个 DWARF 打包工具,用于从输入的 DWARF 对象(*.dwo 文件)创建 DWARF 包(*.dwp 文件)或带有 .dwo 部分的 *.o 文件,支持 DWARF 包的预标准 GNU 扩展格式和 DWARF 5 中引入的标准化格式。

thorin 是作为 rustc 中 Split DWARF 实现的一部分编写的。一个 DWARF 打包工具的 Rust 实现更容易集成到编译器中,并支持从存档文件(或 rustc 的 rlibs)加载 dwarf 对象等功能,这些功能有助于在 rustc 中支持跨 crate 的 Split DWARF 打包。

用法

要在您的项目中使用 thorin,请将其添加到您的 Cargo.toml

thorin-dwp = "0.8.0"

有关使用 thorin 的库接口的示例,请参阅 thorin-bin crate。

稳定性

thorin 的库接口旨在供 rustc 用于其 Split DWARF 支持,它目前没有任何稳定性保证,并且可能会随时更改。


名称

thorin 的命名灵感来源于《霍比特人》中的 托尔金·奥克盾,因为托尔金是一位领导其他矮人的矮人。 thorin 使用名为 gimli 的库(以《指环王》中的矮人命名),来读取 DWARF 格式的调试信息,这种格式是 ELF 文件格式的中世纪幻想补充,后者是可执行文件和对象文件的文件格式。
如果您喜欢,也可以将这个项目称为 rust-dwp

作者和致谢

thorin华为技术有限公司研发(英国)有限公司David Wood 创作。 thorinRust 编译器团队 维护。
此外,感谢 objectgimli 的作者,这个工具严重依赖于它们;还要感谢 Philip Craigthorin 的初始实现期间提供的建议和审查。

许可证

根据您的选择,此软件受 Apache 许可证 2.0 版MIT 许可证 的许可。
除非您明确表示,否则,根据 Apache-2.0 许可证的定义,您提交的任何有意包含在此软件包中的贡献,都将按照上述方式双重许可,不附加任何额外条款或条件。

行为准则

在贡献或与此项目互动时,我们要求您遵守 Rust 行为准则,并要求您也这样做。

依赖关系

~6.5MB
~118K SLoC