GCC の libstdc++ を GNU/Linux の代わりにハッシュ スタイル SYSV でコンパイルする方法はありますか? 非常に幅広い Linux システムで動作するように会社のライブラリをコンパイルするために使用するツールチェーン (crosstool-ng 経由) があります。
これらのシステムの 1 つは、SYSV ハッシュ スタイルのみを持つ非常に古い RedHat です。ツールチェーンを使用して C のみのライブラリ/プログラムをコンパイルすると、生成されたバイナリが SYSV を使用するため、うまく機能します。
しかし、libstdc++ とリンクすると、バイナリは自動的に GNU/Linux スタイルに変更されます。その理由は、libstdc++ が GNU/Linux としてビルドされたためです。
このシステムでバイナリを実行すると、エラーが発生します
ELF file OS ABI invalid
完全を期すために、私はすでに -Wl,--hash-style=sysv を試しましたが、成功しませんでした。
また、同じバージョンの GCC、GLIBC などを持つ ARM システム用の別のツールチェーンがありますが、このツールチェーンでは libstdc++ が SYSV を使用しています。
前もって感謝します!