Solaris にバンドルされていないデバイスドライバ、STREAMS モジュール、ファイルシステム、その他のカーネルモジュールをロードするときに、次のようなエラーメッセージが出力されることがあります。
kernel_module_path: undefined symbol WARNING: mod_load: cannot load module 'kernel_module_path' |
カーネル実行時リンカーは、SC 5.0 コンパイラおよびアセンブラに新しく導入された、64 ビット SPARC バイナリ用のレジスタシンボルを認識しません。
回避方法 : 次のコマンドを実行して、エラーメッセージが出力されている原因が、カーネル実行時リンカーによって新しいレジスタシンボルが認識されていないことにあるかどうかを確認してください。
# nm kernel_module_path | grep REGI |
上記のコマンドを実行した結果、次のように値が 2 および 3 で、レジスタの種類として REGI と示されている行が出力されている場合は、問題を修正する必要があります。
[154] | 2| 0|REGI |GLOB |0 |UNDEF | [155] | 3| 0|REGI |GLOB |0 |UNDEF | |
次の方法で問題を修正してください。
カーネルモジュールのソースコードがある場合は、-xregs=no%appl オプション付きでカーネルモジュールを再コンパイルしてください。ソースコードがアセンブリ言語で記述されている場合は -xregsym=no オプション付きでアセンブルしてください。
カーネルモジュールのソースコードがない場合は、カーネルモジュールのご購入先にお問い合わせください。