linux2.6.28.1编译时__mutex_unlock_slowpath未定义的错误

在编译Linux 2.6.28.1内核时遇到__mutex_unlock_slowpath的链接错误。通过源代码搜索发现该函数由CONFIG_DEBUG_LOCK_ALLOC控制,而CONFIG_DEBUG_MUTEXES宏影响了头文件的包含。经检查,CONFIG_DEBUG_MUTEXES未被定义,将其设置为启用后,重新编译内核问题解决。
摘要由CSDN通过智能技术生成

    下午在编译2.6.28.1内核的时候,采用的是默认的x86_config的配置,make bzImage的时候报错,提示:

    undefined reference to __mutex_unlock_slowpath,

  上网搜索半天也得不到有用的结果,只好自己想办法了。首先索引内核源代码,看下__mutex_unlock_slowpath到底是何方神圣。在http://lxr.linux.no/linux/中得到的结果如下:

  

 268/*
 269 * Release the lock, slowpath:
 270 */
 271static noinline void
 272__mutex_unlock_slowpath(atomic_t *lock_count)
 273{
 274        __mutex_unlock_common_slowpath(lock_count, 1);
 275}
 276
  没发现任何问题,很明显代码中是存在了定义的。那为什么还是说找不到呢?只可能相关的宏定义没有打开的原因。继续搜索:

5#ifndef CONFIG_DEBUG_LOCK_ALLOC
  56/*
  57 * We split the mutex lock/unlock logic into separate fastpath and
  58 * slowpath functions, to reduce t
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值