感谢Robert的提醒。在邮件列表中找到答案http://www.uwsg.indiana.edu/hypermail/linux/kernel/1002.2/01728.html
Linux内核:提交3d9a854c2dac3e888393b23ba7adacce4d6d4b9日期:2010年2月20日星期六01:03:43+0100
Rename .data[.percpu][.XXX] to .data[..percpu][..XXX].
问题是使用-ffunction部分-fdata部分gcc创建.text.head和.data.nosave等部分每当有人有这样无害的代码时:静态空心封头(…({…}或者这样:static int nosave=1;在内核中的某个位置。目前,内核链接器脚本被这些名字弄糊涂了,把这些部分放错了地方。