The release of the GNU Binutils system utility set 2.37 has been announced, which includes programs such as the GNU linker, GNU assembler, nm, objdump, strings, and strip.
In the new version:
- The requirements for the build environment have been increased; libraries and a compiler supporting the C99 standard are now required to build Binutils.
- Support for the arm-symbianelf format has been discontinued.
- Support for RME (Realm Management Extension) has been added, an extension for the ARMv9-A architecture that allows dynamic allocation of resources and memory in a separate protected address space, inaccessible to privileged applications and TrustZone firmware. This capability is part of the infrastructure for creating isolated environments within Arm CCA (Confidential Compute Architecture). RME enables regular programs to protect their confidential data in such environments from unauthorized access in the event of a OS or hypervisor compromise.
- New options have been implemented in the linker:
- '-Bno-symbolic' — cancels the '−Bsymbolic' and '−Bsymbolic-functions' modes;
- '-z report-relative-reloc' — provides information about dynamic address binding (relocation);
- '-z start-stop-gc' — disables processing of the __start_* and __stop_* references during garbage collection of unused sections.
- The readelf utility has been enhanced with the option '—sym-base=0|8|10|16' to choose the format for displaying numeric symbols.
- The nm utility has added options: '—format=just-symbols' ('-j') for outputting only symbol names and '—quiet' to disable diagnostic messages about 'no symbols'.
- The objcopy and strip utilities have been updated with the '—keep-section-symbols' option to prevent the removal of unused sections when processing files.
- The objcopy utility has added options '—weaken', '—weaken-symbol' and '—weaken-symbols' to categorize undefined symbols as weak symbols.
- In readelf and objdump, the ability to display the contents of '.debug_sup' sections has been implemented, and by default, references to separate files with debugging information (debug info) are allowed.
Source: opennet.ru
