测试clang是否支持linux内核模块编译
gcc ~/projects/linux_firewall/lib/protos.c -D__KERNEL__ -c -I/lib/modules/2.6.32-33-generic/build/include/ -I/lib/modules/2.6.32-33-generic/
·
gcc ~/projects/linux_firewall/lib/protos.c -D__KERNEL__ -c -I/lib/modules/2.6.32-33-generic/build/include/ -I/lib/modules/2.6.32-33-generic/build/arch/x86/include -include /lib/modules/2.6.32-33-generic/build/include/linux/autoconf.h
应该可以生成object
clang ~/projects/linux_firewall/lib/protos.c -D__KERNEL__ -c -I/lib/modules/2.6.32-33-generic/build/include/ -I/lib/modules/2.6.32-33-generic/build/arch/x86/include -include /lib/modules/2.6.32-33-generic/build/include/linux/autoconf.h
测试clang3.0提示编译错误:
/lib/modules/2.6.32-33-generic/build/arch/x86/include/asm/thread_info.h:178:24: error:
global register variables are not supported
register unsigned long current_stack_pointer asm("esp") __used;
参考clang手册:
http://clang.llvm.org/docs/UsersManual.html#c_unimpl_gcc
GCC extensions not implemented yet
应该可以生成object
clang ~/projects/linux_firewall/lib/protos.c -D__KERNEL__ -c -I/lib/modules/2.6.32-33-generic/build/include/ -I/lib/modules/2.6.32-33-generic/build/arch/x86/include -include /lib/modules/2.6.32-33-generic/build/include/linux/autoconf.h
测试clang3.0提示编译错误:
/lib/modules/2.6.32-33-generic/build/arch/x86/include/asm/thread_info.h:178:24: error:
global register variables are not supported
register unsigned long current_stack_pointer asm("esp") __used;
参考clang手册:
http://clang.llvm.org/docs/UsersManual.html#c_unimpl_gcc
GCC extensions not implemented yet
clang does not support global register variables, this is unlikely to be implemented soon because it requires additional LLVM backend support.
期待clang的更新
更多推荐
已为社区贡献3条内容
所有评论(0)