私は2つのカーネルモジュール(modAとmodB)を持っています。 modAはEXPORT_SYMBOL(symA)
のシンボルをエクスポートし、modBはそれを使用します。私insmod
MODBすべては私のMODBが正しくカーネルにリンクされており、機能symA
が正しく呼び出され、正常に動作している場合エクスポートされたシンボルを使用するカーネルモジュールを構築する警告
#include "modA.h"
...
static int __init modB_init(void)
{
symA(10);
}
...
:
...
extern void symA(int param);
...
とmodB.c
中:私はMODAのヘッダmodA.h
を持っています。しかし、私がmodBをビルドすると、コンパイラは警告を発生させます:symA is undefined
。 LKMは再配置可能なELFなので、なぜコンパイラがこの警告を発するのですか?どのようにこれを取り除くことができますか?
素晴らしい!私は逃しました。ありがとうゴッサマー! – MirkoBanchi