8.9. コンパイラーおよび開発ツール


guru モードを使用した systemtap スクリプトがより速くコンパイルされるようになりました。

systemtap の guru モードの liveness 分析では、dyninst ライブラリーを使用してバイナリーを解析します。新しいカーネルは、CONFIG_RETPOLINE=y を使用して軽減コードを有効にし、従来の RET 命令をサンクへのジャンプで置き換えます。その結果、サンクへのジャンプによって導入された制御フローグラフの追加のエッジを liveness 分析ですべて検査する必要があるため、バイナリー解析にはるかに長い時間がかかりました。

今回の更新により、カーネルコードがサンクを使用している場合、systemtap が liveness 分析を無効にします。その結果、guru モードを使用する systemtap スクリプトのコンパイルがより速くなります。

Bugzilla:2126805

eu-addr2line -C が他の引数を正しく認識するようになる

以前は、elfutilseu-addr2line コマンドで -C 引数を使用すると、次の 1 文字の引数が消えていました。その結果、eu-addr2line -Ci コマンドは eu-addr2line -C と同じように動作し、eu-addr2line -iC は期待どおりに動作しました。このバグは修正され、eu-addr2line -Ci は 両方の引数を認識するようになりました。

Bugzilla:2236183

eu-addr2line -i は、GCC リンクタイム最適化でコンパイルされたコードを正しく処理するようになる

以前は、elfutils に含まれる libdw ライブラリーの dwarf_getscopes 関数は、GCC リンクタイム最適化でコンパイルされた関数の抽象オリジン定義を見つけることができませんでした。したがって、eu-addr2line コマンドで -i 引数を使用すると、eu-addr2linegcc -flto でコンパイルされたコードのインライン関数を表示できませんでした。今回の更新により、libdw dwarf_getscopes 関数はインライン化スコープの正しいコンパイル単位を検索し、eu-addr2line -i は 期待どおりに動作するようになりました。

Bugzilla:2162495

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.