Представен е release на системните инструменти GNU Binutils 2.37, които включват програми като GNU linker, GNU assembler, nm, objdump, strings, strip.
В новата версия:
- Увеличени са изискванията към сборната среда; за компилация на Binutils вече са необходими библиотеки и компилатор, поддържащи стандарт C99.
- Подкрепата за формата arm-symbianelf е прекратена.
- Добавена е поддръжка за RME (Realm Management Extension), разширение за архитектурата ARMv9-A, позволяващо динамично предаване на ресурси и памет в отделно защитено адресно пространство, до което не имат достъп привилегировани приложения и фърмуер TrustZone. Предложената функционалност е част от инфраструктурата за създаване на изолирани среди Arm CCA (Confidential Compute Architecture). RME позволява на обикновените програми да съхраняват своите конфиденциални данни в подобни среди за защита от неразрешен достъп при компрометиране на операционната система и хипервизорите.
- В компилатора са реализирани нови опции:
- '-Bno-symbolic' — отменя режимите '-Bsymbolic' и '-Bsymbolic-functions';
- '-z report-relative-reloc' — извежда информация за динамичното свързване на адреси (relocation);
- '-z start-stop-gc' — деактивира обработката на референции __start_* / __stop_* по време на почистването на неизползваеми секции от събирача на боклук.
- В инструмента readelf е добавена опция '—sym-base=0|8|10|16' за избор на форма на представяне на числовите символи.
- В инструмента nm са добавени опции: '—format=just-symbols' ('-j') за извеждане само на имената на символите и '—quiet' за деактивиране на диагностичните съобщения 'no symbols'.
- В инструментите objcopy и strip е добавена опция '—keep-section-symbols' за деактивиране на премахването на неизползваеми секции при обработка на файлове.
- В objcopy са добавени опции '—weaken', '—weaken-symbol' и '—weaken-symbols' за отнасяне на неопределените символи към категорията weak-символи.
- В readelf и objdump е реализирана възможност за представяне на съдържанието на секциите '.debug_sup' и по подразбиране са разрешени референции към отделни файлове с отладъчна информация (debug info).
Източник: opennet.ru
