今天 试着设断点到:
static int __init pxafb_map_video_memory(struct pxafb_info *fbi)
失败! System.map里也找不到它。
单步跟踪发现该函数被 inline 了!即使是使用 O0 编译也不行!
可能是因为使用了 static 修饰符,本身又是没有循环等复杂结构。编译器认为不 inline 太可惜了。
于是想到了 noinline 编译指示符, 将函数修改为:
static int noinline __init pxafb_map_video_memory(struct pxafb_info *fbi)
再编译,可以了!