Documentation for a newer release is available. View Latest

GNU Binutils 2.33

Fedora 32 поставляется с GNU Binutils на основе выпуска 2.33.1. Этот выпуск содержит множество исправлений ошибок, улучшений компоновщика, а также поддержку отладочного формата CTF.

Новые возможности и исправления ошибок:

Ассемблер

  • Добавлена поддержка инструкций Arm Scalable Vector Extension версии 2 (SVE2), инструкций Arm Transactional Memory Extension (TME), а также инструкций Armv8.1-M Mainline и M-profile Vector Extension (MVE).

  • Добавлена поддержка процессоров Arm Cortex-A76AE, Cortex-A77 и Cortex-M35P, а также процессоров AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE, Cortex-A76AE и Cortex-A77.

  • Добавлена директива .float16 для Arm и AArch64, позволяющая кодировать 16-битные литералы с плавающей запятой.

  • Для MIPS добавлен параметр -m[no-]fix-loongson3-llsc для исправления (или отключения исправления) ошибки Loongson3 LLSC. Добавлен параметр конфигурации --enable-mips-fix-loongson3-llsc=[yes|no] для установки поведения по умолчанию. Если параметр конфигурации не используется, по умолчанию устанавливается значение "no".

Компоновщик

  • Обход ошибки Cortex-A53 Erratum 843419 теперь поддерживает выбор варианта обхода. Параметр --fix-cortex-a53-843419 теперь принимает необязательный аргумент --fix-cortex-a53-843419[=full|adr|adrp], который можно использовать для принудительного применения определённого обхода. Подробнее см. --help для AArch64.

  • Добавлена поддержка GNU_PROPERTY_AARCH64_FEATURE_1_BTI и GNU_PROPERTY_AARCH64_FEATURE_1_PAC в свойствах программ ELF GNU в компоновщике AArch64 ELF.

  • Добавлен параметр -z force-bti для AArch64, включающий GNU_PROPERTY_AARCH64_FEATURE_1_BTI в выходном файле с предупреждением об отсутствии GNU_PROPERTY_AARCH64_FEATURE_1_BTI во входных файлах и использованием PLT, защищённых с помощью BTI.

  • Добавлен параметр -z pac-plt для AArch64 для использования PLT с поддержкой PAC.

Утилиты

  • В objdump добавлен параметр --source-comment[=<txt>], который при наличии добавляет префикс к строкам исходного кода, отображаемым в дизассемблировании.

  • В objcopy добавлен параметр --set-section-alignment <имя-секции>=<выравнивание-степень-2> для изменения выравнивания секций.

  • В objcopy для целей verilog добавлен параметр --verilog-data-width для управления шириной элементов данных в шестнадцатеричном формате verilog.

  • Параметры readelf для отдельных файлов отладочной информации (--debug-dump=links и --debug-dump=follow) и objdump (--dwarf=links и --dwarf=follow-links) теперь будут отображать и/или переходить по нескольким ссылкам, если в файле их больше одной (обычно это происходит при использовании параметра gcc -gsplit-dwarf).

  • Добавлена поддержка вывода типов, закодированных в Compact Type Format, в objdump и readelf.

Подробную информацию об этом выпуске см. в анонсе выпуска вышестоящего проекта.