Есть ли преимущество для обновления Binutils с 2.16.1 до 2.19? Зачем?

В PSPSDK (Homebrew) мы используем Binutils 2.16.1 для сборки и связывания кода для PlayStation Portable, однако этот выпуск становится довольно устаревшим (3 версии заменили его). Сообщество и я обновляли GCC и newlib до последних стабильных версий, и все, кажется, работает со старыми binutils.

Будет ли GCC создавать лучший код с binutils 2.19? Зачем? Будет ли binutils 2.19 создавать лучшие эльфийские файлы и библиотеки, чем 2.16.1? Зачем?

2 ответа

Решение

binutils 2.19 имеет новый линкер ELF под названием gold который является многопоточным, написан на современном C++ и немного быстрее обычного ld линкер. Однако я не уверен насчет работы по его адаптации.

Кроме того, хорошо, что новые версии всегда хорошая идея. Конечно, скорее всего, были включены исправления производительности и ошибок. Я думаю, что обязательно попробую, и если что-то пойдет не так, ты все равно можешь отступить.

В общем, вам не нужно обновлять binutils, если вы не столкнетесь с какой-то ошибкой, исправленной в более поздней версии binutils, или не будете нуждаться в новых функциях (таких как build-id компоновщика).

В частности, генерация кода GCC в значительной степени не зависит от binutils (за исключением таких конструкций, как __thread, которые требуют определенного уровня поддержки от binutils).

Другие вопросы по тегам