0

古いソラリス (libc.so SUNW_1.22.4) を使用するシステム用に、新しいソラリス バージョン (libc.so SUNW_1.22.6) でコンパイル/リンクしたいと考えています。(新しいバージョンの) リンカーが古い (1.22.4) libc.so を使用するバイナリをビルドするように指定するにはどうすればよいですか?

4

2 に答える 2

1

一般に、UNIX システムは下位互換性 (古いシステムで構築されたプログラムが新しいシステムで引き続き動作する) をサポートしますが、その逆はありません。新しいシステムで構築されたプログラムは、古いシステムでは動作しない場合があります。

このため、サポートする予定の最も古い OS リリースでプログラムをビルドしてください。

(新しいバージョンの) リンカーが古い (1.22.4) libc.so を使用するバイナリをビルドするように指定するにはどうすればよいですか?

そのためには、「新しい Solaris -> 古い Solars」クロスコンパイラが必要です。GCC はこのようなクロス コンパイル用にビルドできますが、これは簡単なことではありません。古いシステム上に構築することは、通常、はるかに簡単なアプローチです。

于 2011-02-20T08:27:44.820 に答える
0

SUNW_1.22.4にない関数は呼び出さないでください。リンカは、にリンクされている関数に基づいて最小の依存関係を記録します。

于 2011-02-17T21:43:29.230 に答える