gcc 用于分析ELF部分和符号大小的工具

ibrsph3r  于 2022-11-12  发布在  其他
关注(0)|答案(4)|浏览(225)

我需要一种方法来分析我的GCC编译器的ARM输出文件。我正在编译裸机,我很关心大小。我可以使用交叉编译器提供的arm-none-eabi-objdump,但如果有一个工具来完成这项任务,解析输出不是我渴望做的事情。你知道这样的工具存在吗?我的搜索没有结果。
还有一件事,我自己代码中的每个函数都在自己的部分中。

roejwanj

roejwanj1#

您可以使用nmsize来取得函式和ELF区段的大小。
要获取函数(以及具有静态存储持续时间的对象)的大小,请执行以下操作:

$ nm --print-size --size-sort --radix=d tst.o

第二列以十进制显示函数和对象的大小。
若要取得区段的大小:

$ size -A -d tst.o

第二列以十进制显示各部分的大小。

nlejzf6q

nlejzf6q2#

readelf实用程序可方便地显示各种截面信息,包括截面大小,例如:

arm-none-eabi-readelf -e foo.o

如果您对运行时内存占用量感兴趣,则可以忽略没有设置'A'(分配)标志的部分。

rryofs0p

rryofs0p3#

puncover使用objdump和一些其他gcc工具来生成html页面,您可以轻松地浏览这些页面,以了解代码和数据空间的走向。
这是一个比gcc工具的文本输出更好的前端。

ffvjumwh

ffvjumwh4#

当10年后再次讨论这个问题时,我们必须提到readelf和nm的基于Python的小 Package 器elf-size-analyze

相关问题