用于copy_user_generic_c的Linux 2.6.24内核编译错误.size表达式不会计算为常量

时间:2014-04-21 09:47:13

标签: linux linux-kernel

在编译Linux 2.6.24内核时遇到错误

  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  CALL    scripts/checksyscalls.sh
  CHK     include/linux/compile.h
  AS      arch/x86/lib/copy_user_64.o
  /tmp/ccAD8iYi.s: Assembler messages:
  /tmp/ccAD8iYi.s: Error: .size expression for copy_user_generic_c does not evaluate to a constant
make[1]: *** [arch/x86/lib/copy_user_64.o] Error 1
make: *** [arch/x86/lib] Error 2
make: *** Waiting for unfinished jobs....

我正在使用gcc版本:gcc(Ubuntu / Linaro 4.6.3-1ubuntu5)4.6.3 在编译Linux 3.12内核时,我没有遇到任何错误。

1 个答案:

答案 0 :(得分:1)

你应该找到arch / x86 / lib / copy_user_64.S,将END(copy_user_generic_c)更改为文件中的END(copy_user_generic_string),以便在ENTRY(copy_user_generic_string)中保留相同的变量。