当前位置: 技术问答>linux和unix
求助大牛!linux各模块大小加起来不等于vmlinux问题。。
来源: 互联网 发布时间:2017-03-27
本文导语: 大家好,小弟刚进入内核领域,发现一些奇怪的问题: 1、用size 查看内核各个模块,得到的text段和data段加起来并不等于ls -l看到的文件大小,比如block下的built-in.o,用size看到的text是78418,data是1332,那程序的总大...
大家好,小弟刚进入内核领域,发现一些奇怪的问题:
1、用size 查看内核各个模块,得到的text段和data段加起来并不等于ls -l看到的文件大小,比如block下的built-in.o,用size看到的text是78418,data是1332,那程序的总大小应该是79.75k,但ls -l看到的大小却是221.773k,求解何故。。是因为加了很多其他信息?这些信息可以去除吗,最后执行有影响吗
2、请问各个模块下的built-in.o是如何连接成最后能用的vmlinux的?似乎还看到的了piggy.o,这个文件很大。。
3、我想统计内核中各个模块在最后内核镜像(vmlinux?是这个吧)所占的比例,请问由什么好办法吗
新手分不多,在线等,谢谢大牛帮忙!
1、用size 查看内核各个模块,得到的text段和data段加起来并不等于ls -l看到的文件大小,比如block下的built-in.o,用size看到的text是78418,data是1332,那程序的总大小应该是79.75k,但ls -l看到的大小却是221.773k,求解何故。。是因为加了很多其他信息?这些信息可以去除吗,最后执行有影响吗
2、请问各个模块下的built-in.o是如何连接成最后能用的vmlinux的?似乎还看到的了piggy.o,这个文件很大。。
3、我想统计内核中各个模块在最后内核镜像(vmlinux?是这个吧)所占的比例,请问由什么好办法吗
新手分不多,在线等,谢谢大牛帮忙!
|
1.比较大是因为带了调试的符号信息.一般的obj文件都可以用strip去掉调试符号,内核obj没试过..
2.把make的输出信息重定向到文件,你就能看到最后是如何link成vmlinux了
3.比例是什么意思?什么的比例?
2.把make的输出信息重定向到文件,你就能看到最后是如何link成vmlinux了
3.比例是什么意思?什么的比例?