GNUプロジェクトは8月5日(現地時間)、オープンソースのバイナリユーティリティ「GNU Binutils」の最新版v2.39をリリースしました(Phoronix)。
GNU Binutils は GNUリンカ/アセンブラ、strip、readelf、objdump、stripなどの様々なユーティリティを含み、GNU ツールチェイン用の一般的なユーティリティを提供します。
GNU Binutils 2.39で、ELFリンカにスタックを実行可能にした場合に警告を生成する変更が行われています。出力バイナリに、読み取り、書き込み、実行の3つのパーミッションを持つセグメントを含んでいる場合も、警告を出力します。これらの警告は開発者が、実行可能なメモリ領域から攻撃を受ける可能性のあるソフトウェアを特定するための機能です。警告機能はデフォルトで有効になっていますが、新規に追加されたコマンドラインスイッチで無効にすることができます。
ELFリンカはまた、"-package-metadata"オプションをサポートし、パッケージメタデータ仕様に準拠したJSONペイロードを埋め込むことができるようになっています。
他にもobjdumpは、ディスアセンブラ出力でカラーシンタックスハイライトをサポートするようになっています。
新機能一覧は以下の通りです。
* The ELF linker will now generate a warning message if the stack is made
executable. Similarly it will warn if the output binary contains a
segment with all three of the read, write and execute permission
bits set. These warnings are intended to help developers identify
programs which might be vulnerable to attack via these executable
memory regions.The warnings are enabled by default but can be disabled via a command
line option. It is also possible to build a linker with the warnings
disabled, should that be necessary.* The ELF linker now supports a --package-metadata option that allows
embedding a JSON payload in accordance to the Package Metadata
specification.* In linker scripts it is now possible to use TYPE=
in an output
section description to set the section type value.* The objdump program now supports coloured/colored syntax
highlighting of its disassembler output for some architectures.
(Currently: AVR, RiscV, s390, x86, x86_64).* The nm program now supports a --no-weak/-W option to make it ignore
weak symbols.* The readelf and objdump programs now support a -wE option to prevent
them from attempting to access debuginfod servers when following
links.* The objcopy program's --weaken, --weaken-symbol, and
--weaken-symbols options now works with unique symbols as well.
変更点の詳細はリリースアナウンスで確認可能です。