用codeviz来生成linux内核的函数调用图
首先是编译内核,这里我们的目的是查看函数调用关系,并非安装新内核,所以直接
进行配置编译:
make menuconfig
make CC=/usr/local/gcc-graph/bin/gcc bzImage
make CC=/usr/local/gcc-graph/bin/gcc modules
在进行到make CC=/usr/local/gcc-graph/bin/gcc modules这一步的时候出现如下错误提示:
opened dep file drivers/staging/line6/pcm.c.cdepn
drivers/staging/line6/pcm.c: In function line6_pcm_start':
drivers/staging/line6/pcm.c:92: error: implicit declaration of function__sync_fetch_and_or'
drivers/staging/line6/pcm.c:137: error: implicit declaration of function `__sync_fetch_and_and'
make[3]: *** [drivers/staging/line6/pcm.o] Error 1
make[2]: *** [drivers/staging/line6] Error 2
make[1]: *** [drivers/staging] Error 2
make: *** [drivers] Error 2
这种情况有没有遇到过啊,如何解决的呢,急急急!
__sync_fetch_and_and
这个函数没有引用他的头文件,或者在定义的地方没有EXPORT_SYMBOL出来
如果你想尽快编译完内核的话,make menuconfig
的时候把这个模块给去掉,只编译你需要查看调用关系的那支驱动
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。