GNU toolchain — это набор созданных в рамках проекта GNU программ, необходимых для компиляции и генерации исполняемого кода из исходных текстов. В него входят GCC, libc, binutils, GNU make и многое другое.
В этом месяце разработка не отличалась особой активностью. Основная ветка GCC вплотную подобралась к релизу 4.9, а работа над проектами GDB и BINUTILS заключалась в основном в исправлении ошибок. Однако есть и несколько достойных внимания вещей:
- В эмулятор ARM добавлены некоторые возможности трассировки, таким образом, теперь можно отслеживать инструкции по ходу их эмуляции.
- Линковщик теперь автоматически добавляет стандартный манифест ко всем полностью слинкованным исполняемым файлам cygwin или MinGW. Это необходимо для выполнения файла под Windows версии 8 и позднее. Если приложение снабжено собственным манифестом, стандартный включаться не будет.
- В ARM-версию линковщика добавлен новый ключ командной строки —
--long-plt
, включающий генерацию больших PLT-записей, которые могут поддерживать вплоть до 4GB кода. По умолчанию используются PLT-записи меньшего размера, которые поддерживают лишь до 512 MB кода. Помимо этого, ARM-линковщик теперь поддерживает генерацию PLT-записей, использующих лишь Thumb2-инструкции, для ядер, не поддерживающих набор инструкций ARM. - Одним из ограничений формата PE, используемого преимущественно в исполняемых файлах Windows, является поддержка максимум 2¹⁵ секций. Это может быть проблемой для больших проектов, особенно если используются ключи командной строки типа
-ffunction-sections
и-fdata-sections
. Microsoft недавно выпустила небольшую модификацию формата PE, расширяющую некоторые поля для подержки до 2³¹ секций, и теперь линковщик GNU поддерживает это расширение. - MIPS-версия gcc теперь поддерживает ключ командной строки
-mvirt
, позволяющий использовать MIPS Virtualization Application Specific инструкции. - TileGX-версия gcc теперь поддерживает прямой и обратный порядок байтов.
>>> Источник