スタートアップのインタビュー1000本以上「スタートアップタイムズ」

HOME/ ニュース /gccの-rdynamic option 調査メモ
ニュース 2019.06.02

gccの-rdynamic option 調査メモ


はじめに
gccの-rdynamic optionの調査メモ。
gcc 9.1.0, glibc 2.29を対象に調査した。
基本内容に差はないと思うが、target archはx86_64-pc-linux-gnu。
TL;DR
-rdynamicオプションはリンク時のみ効果がある。
-rdynamicオプションを適用すると、共有ライブラリから実行ファイルのシンボル情報を動的に取得できるので、バックトレースの表示などに使われる。
-rdynamicオプションを適用することで、共有ライブラリとして利用可能な実行ファイルを作成できる。
-rdynamicオプションを適用するとシンボルバッティングや意図せず共有ライブラリに制御されてしまうリスクが増えるので、明確に目的がないなら通常は無効にしておく。
gcc,glibcのソースコードは面白い。
gccのspecファイルむずい。
公式ドキュメント
GCCには大量の起動オプションがあり、manだと少し見づらい。
そんなときは公式ドキュメントのOption Indexで確認すると楽。
https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/Option-Index.html#Option-Index_op_letter-R
-rdynamic
Pass the flag -export-dynamic to the ELF linker, on targets that support it. This instructs the linker to add all symbols, not only used ones, to the dynamic symbol table. This option is needed for some uses of dlopen or to allow obtaining backtraces from within a program.
曰く、-rdynamic optionは、Link Options。
すなわち、オブジェクトファイルから実行ファイルを生成するときにのみ作用し、リンクステップがない場合無視される。
そして、-rdynamicオプションがgccに渡された場合、リンカに-export-dynamicオプションを渡す。

この記事が気に入ったらいいね!しよう

最新記事をお届けします
この記事をシェアする

あなたにおすすめの記事

【新しい学校】通信制オンラインスクールのサイル学院高等部とは?

EC成長を阻む3つの課題を同時に解決できる特化型プロ複業人材サービス

「不動産業界の商慣習を再定義し、これからのあたりまえを創る」新時代のパイオニア|株式会社IPPO

保険料を比較して最適な保険を選べるサイト

お店の開業・経営サポートプラットフォーム「BESPRA(べスプラ)」

FlexClip:ビデオ編集体験を再定義し、無限の可能性を創造!

FlexClip:ビデオ編集体験を再定義し、無限の可能性を創造!

FlexClip:ビデオ編集体験を再定義し、無限の可能性を創造!

FlexClip:ビデオ編集体験を再定義し、無限の可能性を創造!

FlexClip:ビデオ編集体験を再定義し、無限の可能性を創造!

さあ、
Startup Times から
発信しよう。

30分で取材

掲載無料

原稿確認OK