Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2785558
  • 博文数量: 258
  • 博客积分: 9440
  • 博客等级: 少将
  • 技术积分: 6998
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-03 10:28
个人简介

-- linux爱好者,业余时间热衷于分析linux内核源码 -- 目前主要研究云计算和虚拟化相关的技术,主要包括libvirt/qemu,openstack,opennebula架构和源码分析。 -- 第五届云计算大会演讲嘉宾 微博:@Marshal-Liu

文章分类

全部博文(258)

文章存档

2016年(1)

2015年(4)

2014年(16)

2013年(22)

2012年(41)

2011年(59)

2010年(40)

2009年(75)

分类: LINUX

2011-05-05 15:19:08

编译linux-2.6.35的时候居然报错:
.size expression for do_hypervisor_callback does not evaluate to a constant
这里加"居然"是因为之前对这个内核编译过很多次,都没有遇到这个问题,不知到这次为啥碰到这个问题。
碰到问题了,不能老抱怨人品了,还是的解决,于是根据报错的提示,找到文件arch/x86/kernel/entry_64.S的do_hypervisor_callback函数,发现这个函数的代码显然有语法错误:
  1. > ENTRY(xen_do_hypervisor_callback) # do_hypervisor_callback(struct *pt_regs)
  2. > [..]
  3. > END(do_hypervisor_callback)
于是将其改为END(xen_do_hypervisor_callback),编译通过。

比较费解的是,为什么内核中会有这种低级错误,更令人费解的是,为啥以前编译的时候没有报错!
阅读(5470) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~