Binary size analysis

92 views
Skip to first unread message

Tao Liu

unread,
Feb 29, 2016, 7:42:58 AM2/29/16
to Chromium-dev
Hi
    Today I use "src/tools/binary_size/run_binary_size_analysis.py  --library src/out/Release/content_shell --destdir /tmp/report" to profile content_shell size, but  I got this :

#tools/binary_size/run_binary_size_analysis.py --library out/Release/content_shell --destdir /tmp/report
addr2line: /usr/bin/arm-linux-gnueabi-addr2line
nm: /usr/bin/arm-linux-gnueabi-nm
38.5%: Looked up 94800 symbols (4054 collisions, 0 disambiguations where 0.0% succeeded) - 226.9 lookups/s.

100.0%: Looked up 246500 symbols (14077 collisions, 0 disambiguations where 0.0% succeeded) - 4968.5 lookups/s.
232462 symbols in the results.
WARNING:root:There are sections with 155894 nodes. Results might be unusable.
Writing 34764536 bytes json
Report saved to /tmp/report/index.html

My chromium is m49.0.2603 and binary format is Arm v7, /tmp/report is too big to upload. Any ideas?


Thanks,
Tao, Liu



Daniel Bratell

unread,
Feb 29, 2016, 8:48:47 AM2/29/16
to Chromium-dev, Tao Liu
So addr2line probably failed for many symbols and filed them in "No source".  It looks like it managed to handle 100k of the 250k symbols but I can't tell why it failed the rest. In the past I've had to build my own addr2line to support newer DWARF formats but I think it failed completely then.

Have you looked at the output? Maybe you can find a pattern in the symbols that ended up in "No Source" and maybe it's still usable to you.

See if you can get anything useful when running addr2line by hand on the binary. You should have an nm file in the output directory with the symbol addresses to use.

(Improvements are welcome!)

/Daniel

--
/* Opera Software, Linköping, Sweden: CET (UTC+1) */
Reply all
Reply to author
Forward
0 new messages