Випуск Binutils 2.45: Нові можливості для розробників

Випуск Binutils 2.45: Нові можливості для розробників

GNU Project тихо представив Binutils 2.45 – набір низькорівневих командних програм для створення, перевірки та маніпулювання об’єктними файлами, бібліотеками та виконуваними файлами.

Вдосконалення в асемблері та SFrame

У цьому випуску асемблер (GAS) тепер за замовчуванням випускає секції SFrame з типом прапора SHT_GNU_SFRAME. Також ці секції позначаються новим заголовковим прапором SFRAME_F_FDE_FUNC_START_PCREL.

Практично це означає, що інструменти для трасування стеку поза процесом стали набагато надійнішими. Крім того, s390x отримала підтримку генерації SFrame безпосередньо з директив CFI.

Підтримка нових архітектур

Щодо архітектури, Binutils 2.45 додає підтримку привілейованої специфікації v1.13, трьох нових профілів (20/22/23) та директиви .bfloat16 для робочих навантажень ML. Асемблер тепер також визнає великий список стандартних і постачальницьких розширень.

Можливості для Arm та x86

Для Arm перемикач -march=armv9.6-a активує безліч розширень, таких як +sme2p2, +ssve-aes та +f8f32mm. Це дає розробникам ранній доступ до функцій, які появляться в нових процесорах, що будуть випущені в 2025 році і пізніше.

На x86 додано підтримку криптоінструкцій PadLock XMODX від Zhaoxin, в той час як короткочасний шлях округлення AVX10.2 256 біт було видалено.

Нові можливості для LoongArch

Користувачі LoongArch також отримують нові аліси для інструкцій LA32R і дружніші попередження щодо align та випадків оцінки виразів.

Нововведення в GAS

Нарешті, GAS (GNU Assembler) отримав кілька директив для покращення якості життя – .errif та .warnif. Вони дозволяють розробникам вбудовувати умовну діагностику в асемблерний код. Ці діагностики активуються лише наприкінці файлу, тому великі прошивки можуть збирати контекст перед виведенням повідомлень про помилки.

Для отримання додаткової інформації відвідайте цієї статті.