Есть ли преимущество для обновления 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).