研究目的で、llvm-gcc (llvm バージョン 1.7) を使用して、Linux カーネル ソース コード (バージョン 2.6.18.8) でドライバー プログラム (linux/drivers/net/zorro8390.c) をコンパイルしようとしていますが、 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 を直接使用する場合の修正方法はまだわかりません。それについて何か提案はありますか?ご助力ありがとうございます!
ダニエル