スタートアップのインタビュー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オプションを渡す。

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

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

あなたにおすすめの記事

ZAIKOの新サービス「+Archive」適用イベントを対象とした「総額1億円キャッシュバックキャンペーン」がスタート!

デジタルマーケティングのナレッジマネジメントSaaS「GrowthPlanet(グロースプラネット)」ーー株式会社LeanGo

ニュース記事に特化した文章要約AI「タンテキ」β版(無料)リリース

【第1弾にJR東海】 上質なコーヒーを無人で提供。AIカフェロボット「root C」正式リリース 5月6日(木)より東京駅丸の内中央ビルに設置

自分らしく働くヒントがここに!『働くこと』に悩む双極性障害の方に向けたWebメディア「双極はたらくラボ」ーー株式会社リヴァ

産官学金38機関で構成する大学発ベンチャー創出支援プラットフォーム JSTのSCORE事業で研究開発課題の募集開始 総額予算3億円規模で起業推進

公開記事数は約800!就活生のあらゆる悩みを解決する就活専門ブログ「就活攻略論」ーー株式会社L100

睡眠の質を向上させるブランド寝具のサブスクリプションサービス「SLEEPX(スリープエックス)」ーー株式会社レアリスタ

ミートキャリア、法人向けサービスを拡充 オンボーディング(定着・離職防止)・女性管理職育成を支援

日本のキャリアSNS「YOUTRUST」がiOSアプリを正式リリース

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

30分で取材

掲載無料

原稿確認OK