Предупреждение о создании модуля ядра, использующего экспортированные символы

У меня есть два модуля ядра (например, modA и modB). modA экспортирует символ с EXPORT_SYMBOL(symA), а modB использует его. У меня есть заголовок modA.h для modA:

...
extern void symA(int param);
...

и в modB.c:

#include "modA.h"
...
static int __init modB_init(void)
{
    symA(10);
}
...

Если я insmod modB все работает нормально, мой modB корректно компонуется в ядре и правильно вызывается функция symA. Однако, когда я собираю modB, компилятор выдает предупреждение: symA не определен . LKM — это перемещаемый ELF, так почему же компилятор выдает это предупреждение? Как это можно убрать?

8
задан MirkoBanchi 29 February 2012 в 13:04
поделиться