下午在编译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