Tool to analyze size of ELF sections and symbol

孤街浪徒 提交于 2019-12-17 15:27:40

问题


I need a way to analyze output file of my GCC compiler for ARM. I am compiling for bare metal and I am quite concerned with size. I can use arm-none-eabi-objdump provided by the cross-compiler but parsing the output is not something I would be eager to do if there exists a tool for this task. Do you know of such a tool existing? My search turned out no results.

One more thing, every function in my own code is in its own section.


回答1:


You can use nm and size to get the size of functions and ELF sections.

To get the size of the functions (and objects with static storage duration):

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

The second column shows the size in decimal of function and objects.

To get the size of the sections:

$ size -A -d tst.o

The second column shows the size in decimal of the sections.




回答2:


The readelf utility is handy for displaying a variety of section information, including section sizes, e.g.:

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

If you're interested in the run-time memory footprint, you can ignore the sections that do not have the 'A' (allocate) flag set.




回答3:


puncover uses objdump and a few other gcc tools to generate html pages you can easily browse to figure out where your code and data space is going.

It's a much nicer frontend than the text output of the gcc tools.



来源:https://stackoverflow.com/questions/11720340/tool-to-analyze-size-of-elf-sections-and-symbol

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!