私はプラットフォーム固有のライブラリ(libMyPlatform.a)にELFバイナリの特定のセクション(システム上のブートローダがこれらを解析する)にさまざまなシンボルを公開しています。このライブラリは、サードパーティ開発者が他のバイナリに静的にリンクしている可能性があります。スタティックライブラリ間で(未使用の)シンボルやセクションをどのように伝播するのですか?
リンキング段階でELFセクションが表示され、libMyPlatform.aの使用されていないシンボルはサードパーティのバイナリには伝播されません。おそらく、リンカが未使用時にそれらを破棄するためです。
libMyPlatform.aのシンボルを、生成された最終バイナリに表示させるにはどうすればよいですか?
関連する? https://stackoverflow.com/q/29545191/1531971 – jdv
@jdvのようなものですが、私の質問はもっと一般的なケースです。 https://stackoverflow.com/a/29545417/8791029は、実行可能ファイルにコンパイルする場合に効果的です。しかし、ライブラリにコンパイルして実行可能ファイルにリンクすると、シンボルはライブラリにありますが、バイナリには含まれません。私はそれがバイナリにも存在することを望みます。 –