免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2114 | 回复: 2
打印 上一主题 下一主题

如何获取linux/driver下每个子目录注册的initcall函数的起始地址 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-26 11:24 |只看该作者 |倒序浏览
实现multi-probe的时候,欲将driver下每个目录下的init函数分别放在一个group上,遇到一个棘手的问题:
目前的机制只是获取initcall0~7的start,但怎么去获取initcall6也就是driver目录下各个子目录对应的initcall start
我能想到一个比较笨拙的办法就是:
在编译时,通过脚本在driver子目录下临时生成一个.c文件,该文件仅有一个module_init注册,
并放在该子目录Makefile obj-y的最前面编译,也就是插入一个标记去标注该子目录的start
编译结束再删除上述临时文件
但这样做不是很严谨,对脚本也不是很熟,实现起来还有一定困难
不清楚是否有好的办法能满足该需求
不吝赐教,多谢!

论坛徽章:
0
2 [报告]
发表于 2014-03-27 18:54 |只看该作者
咦,这个问题不是问过了吗?貌似我还回答过。nm vmlinux不就知道地址了吗?不知lz要的是什么。

论坛徽章:
0
3 [报告]
发表于 2014-03-28 10:09 |只看该作者
回复 2# andloani


   nm只是获取所有函数的地址---System.map,我需要知道driver每个子目录下面包含的所有init函数的start和end地址
  谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP