Я пытаюсь использовать llvm-gcc (llvm версия 1.7) для компиляции программы драйвера (linux / drivers / net / zorro8390.c) в исходном коде ядра linux (версия 2.6.18.8) для исследовательских целей, но Я получаю много ошибок от jiffies.h:
bash-3.2$ llvm-gcc -D__GNUCC -E -I../../include zorro8390.c -o test.o
In file included from ../../include/linux/lockdep.h:12,
from ../../include/linux/spinlock_types.h:12,
from ../../include/linux/spinlock.h:78,
from ../../include/linux/module.h:10,
from zorro8390.c:22:
../../include/linux/list.h:887:2: warning: #warning "don't include kernel headers in userspace"
In file included from zorro8390.c:30:
../../include/linux/jiffies.h:210:31: error: division by zero in #if
../../include/linux/jiffies.h:210:31: error: division by zero in #if
...(a bunch of same errors)
../../include/linux/jiffies.h:432:28: error: division by zero in #if
Я погуглил множество обсуждений этой ошибки, но многие из них посвящены сборке ядра с помощью команды make. Я до сих пор не знаю, как это исправить при непосредственном использовании llvm-gcc. Любое предложение по этому поводу? Большое спасибо за вашу помощь!
Daniel