Metadata-Version: 2.1
Name: elf-size-analyze
Version: 0.2.1
Summary: Tool to extract information about symbols and sections from an ELF file and filters them.
Author: Jedrzej Boczar, Dominic Kuschmierz, Adel Mamin, Amir Gonnen
License: Apache-2.0
Project-URL: Homepage, https://github.com/jedrzejboczar/elf-size-analyze
Project-URL: Bug Tracker, https://github.com/jedrzejboczar/elf-size-analyze/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Compilers
Classifier: Topic :: Software Development :: Debuggers
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: dev
License-File: LICENSE

# Elf size report

This script is based on [size_report](https://github.com/zephyrproject-rtos/zephyr/blob/master/scripts/footprint/size_report) from Zephyr Project scripts. It has been almost fully rewritten but the idea is the same. It uses binutils programs (readelf, nm, c++filt) to extract information about symbols and sections from an ELF file and filters them. Information is presented in a tree based on paths to files where the symbols have been defined.

Requires Python 3, readelf, nm and (optional) c++filt. To be able to extract path information about symbols from ELF file, the program should be compiled with debug information.

If installed via pip, the package provides an entry point and you can get usage info by running `elf-size-analyze -h`.

If working with the sources, use `python -m elf_size_analyze -h` for usage info. 

![Example output](https://raw.githubusercontent.com/jedrzejboczar/elf-size-analyze/master/example.jpg)
