編譯2.6.38核心報錯:
arch/x86/kernel/entry_32.S: Assembler messages:
arch/x86/kernel/entry_32.S:1422: Error: .size expression for apf_page_fault does not evaluate to a constant
make[2]: *** [arch/x86/kernel/entry_32.o] 錯誤 1
make[1]: *** [arch/x86/kernel] 錯誤 2
make: *** [arch/x86] 錯誤 2
解決辦法為:
這個跟核心的一個bug有關。已經有人提交了patch了。
自己也可以改一下 arch/x86/kernel/entry_32.S 中的兩處地方再編譯,具體請參考連結:
https://lkml.org/lkml/2011/3/20/49
This fixes the problem. The file does not have a maintainer listed, so
I don't know where else to send it than to the LKML. Please correct
me or redirect as needed.
- --- entry_32.S.original 2011-03-18 08:21:51.000000000 -0400
+++ entry_32.S 2011-03-20 10:37:00.000000000 -0400
@@ -343,7 +343,7 @@
# int/exception return?
jne work_pending
jmp restore_all
- -END(ret_from_exception)
+END(resume_userspace)
#ifdef CONFIG_PREEMPT
ENTRY(resume_kernel)
@@ -1413,7 +1413,7 @@
CFI_ADJUST_CFA_OFFSET 4
jmp error_code
CFI_ENDPROC
- -END(apf_page_fault)
+END(async_page_fault)
參考網址:
http://bbs.chinaunix.net/thread-3602662-1-1.html