リンカーとライブラリ

プラットフォーム固有の共有オブジェクト

補助フィルタ命名メカニズムの拡張子では、予約トークン $PLATFORM を使用できます。このトークンは、実行時に展開されて、 -i オプションを付けたユーティリティ uname(1) によって表示される基本ハードウェアの実装を反映します。

次の例は、プラットフォーム固有のフィルタ対象 libbar.so.1 にアクセスするように補助フィルタ libfoo.so.1 を設計する方法を示しています。


$ LD_OPTIONS='-f /usr/platform/$PLATFORM/lib/libbar.so.1' ¥
cc -o libfoo.so.1 -G -K pic -h libfoo.so.1 -R. foo.c
$ dump -Lv libfoo.so.1 | egrep "SONAME|AUXILIARY"
[1]     SONAME    libfoo.so.1
[2]     AUXILIARY /usr/platform/$PLATFORM/lib/libbar.so.1

このメカニズムは、Solaris で使用されて、共有オブジェクト /usr/lib/libc.so.1 にプラットフォーム固有の拡張子を提供します。