GNU Binutils 2.33

Fedora 32 постачається із GNU Binutils на основі випуску 2.33.1. У цьому випуску виправлено багато вад, удосконалено компонувальник, також реалізовано підтримку формату діагностичних даних CTF.

Нові можливості і виправлення вад:

Асемблер

  • Додано підтримку інструкцій масштабованого векторного розширення Arm версії 2 (SVE2), інструкцій розширення операційної пам’яті Arm (TME) та інструкцій основної лінії Armv8.1-M та M-профільного векторного розширення (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 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 у компонувальнику ELF для AArch64.

  • Додано -z force-bti для вмикання GNU_PROPERTY_AARCH64_FEATURE_1_BTI для виведення і попередження щодо пропущеного GNU_PROPERTY_AARCH64_FEATURE_1_BTI на вході, використано PLT, які захищено за допомогою BTI.

  • Додано -z pac-plt для AArch64 для обробки PLT із увімкненим PAC.

Допоміжні засоби

  • Додано параметр --source-comment[=<txt>] для програми objdump. Якщо вказати цей параметр, програма додає префікс до рядків коду, який буде показано під час дизасемблювання.

  • Додано параметр --set-section-alignment <назва-розділу>=<вирівнювання-як-степінь-2> до objcopy для уможливлення зміни вирівнювання розділів.

  • Додано параметр --verilog-data-width до objcopy для керування шириною елементів даних для архітектур verilog у форматі шістнадцяткових чисел verilog.

  • Окремі параметри обробки файлів діагностичних даних readelf (--debug-dump=links і --debug-dump=follow) та objdump (--dwarf=links і --dwarf=follow-links) у новій версії показують і/або дають змогу переходити за декількома посиланням, якщо таких посилань у файлі декілька. (Таке, зазвичай, трапляється, якщо використано параметр gcc -gsplit-dwarf).

  • Додано підтримку створення дампів типів у форматі компактних типів для objdump і readelf.

Щоб дізнатися більше про цей випуск, ознайомтеся із оголошенням про випуск від розробників.