将 Binutils 从 2.16.1 升级到 2.19 有优势吗? 为什么?

发布于 2024-07-12 00:13:48 字数 267 浏览 6 评论 0原文

在 PSPSDK (Homebrew) 中,我们使用 Binutils 2.16.1 来汇编和链接 PlayStation Portable 的代码,但是该版本已经过时了(3 个版本已取代它)。 社区和我一直在将 GCC 和 newlib 更新到最新的稳定版本,并且一切似乎都可以与旧的 binutils 一起使用。

GCC 会使用 binutils 2.19 生成更好的代码吗? 为什么? binutils 2.19 会产生比 2.16.1 更好的 elf 文件和库吗? 为什么?

In the PSPSDK (Homebrew) we are using the Binutils 2.16.1 to assemble and link the code for the PlayStation Portable, however that release is getting quite outdated (3 versions have superseded it). The community and me have been updating the GCC and newlib to the latest stable versions and everything seems to work with the old binutils.

Will GCC produce better code with binutils 2.19? Why?
Will binutils 2.19 produce better elf files and libs than 2.16.1? Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柏拉图鍀咏恒 2024-07-19 00:13:49

binutils 2.19 有一个新的 ELF 链接器,名为 gold 它是多线程的,用现代 C++ 编写,比通常的 ld 链接器快很多。 然而,我不确定改编它所涉及的工作。

除此之外,新版本总是一个好主意。 当然,性能和错误修复可能已包括在内。 我想我肯定会尝试一下,如果出现问题,你仍然可以后退。

binutils 2.19 has a new ELF linker called gold which is multi-threaded, written in modern C++, and quite a bit faster than the usual ld linker. I'm not sure however about the work involved to adapt it.

Other than that, well new versions always are a good idea. Performance and bug fixes are likely to have been included, of course. I think i would certainly try it and if something goes wrong you can still backstep.

那些过往 2024-07-19 00:13:49

一般来说,您不需要升级 binutils,除非遇到更高版本的 binutils 中修复的某些错误,或者需要新功能(例如链接器 build-ids)。

特别是,GCC 代码生成在很大程度上独立于 binutils(除了像 __thread 这样的结构,它需要 binutils 一定程度的支持)。

In general, you don't need to upgrade binutils unless you run into some bug fixed in a later binutils version, or need new features (such as linker build-ids).

In particular, GCC code generation is largely independent of binutils (except for constructs like __thread, which require certain level of support from binutils).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文