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的更新