-qpic

説明

共用ライブラリーでの使用に適した位置独立コードを生成するようにコンパイラーに命令する。

構文

構文図を読む構文図をスキップする        .-nopic-------------.
        |      .-=--small-. |
>>- -q--+-pic--+----------+-+----------------------------------><
               '-=--large-'
 

ここで、

nopic Position Independant Code を生成しないようコンパイラーに命令します。
pic Position Independant Code を生成するようコンパイラーに命令します。
small グローバル・オフセット・テーブルのサイズが 64 Kb 以下であると想定するようにコンパイラーに命令します。
large サイズが 64 Kb よりも大きいグローバル・オフセット・テーブルを許可します。 これにより、テーブルにより多くのアドレスを保管できます。 通常、このオプションを指定して生成されたコードは、-qpic=small を 指定して生成されたコードよりも大きくなります。

-qpic がサブオプションなしで指定された場合、-qpic=small が想定されます。

-qmkshrobj コンパイラー・オプションが指定されると、-qpic オプションが暗黙指定されます。

-q64 を指定すると、自動的に -qpic が暗黙指定されます。

共用ライブラリー libmylib.so をコンパイルするには、以下のコマンドを使用します。

xlc mylib.c -qpic -Wl, -shared, -soname="libmylib.so.1" -o libmylib.so.1

-shared -soname オプションについては詳しくは、ご使用のオペレーティング・システムの資料で ld コマンドを参照してください。

関連情報