mapuche
Mapuche is a linker's map file browser
If you are reading this, please don't forget to give this project a star on GitHub!
Install
pip install mapuche
Usage
mapuche <elf.map> [elf_for_diff.map]
mapuche --help
mapuche --version
- Use keyboard arrows and the space bar, or a mouse, to navigate the map tree.
- Click table header columns to sort the table.
- Show/hide debug sections using checkbox at the top.
- Demangle C++ names using checkbox at the top (on by default).
- Press
/to filter rows with a regular expression. A row stays if its name matches, if a parent matches, or if a child does (parents open to show the match). Input sections also match their object path. Demangled and mangled names both match. An invalid pattern keeps the last valid one until it compiles. Enter or Escape returns to the table. Hidden debug sections, and fully reduced rows while "Hide reduced" is on, stay hidden. - In a map diff, smaller sections are green and larger sections are red. Tick "Hide reduced" at the top to hide reduced sections. A shrunk section stays on screen when a child inside it grew.
- Press
ato open an assembler diff for the selected row. This is available when the ELF named byOUTPUT()in the map file is on disk.objdumpis taken from the toolchainbindirectory recorded on thelibc.apath; if that binary is missing, mapuche asks for a path. The viewer has checkboxes to show instruction addresses and to interleave source code (objdump -S). A data, rodata, or other non-code section opens a hex diff of the ELF bytes instead.
Screenshot
Metadata
Release files for mapuche 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mapuche-2.0.0.tar.gz | 2.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mapuche-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.9 MB
Release files / mapuche-2.0.0.tar.gz
| Download URL | mapuche-2.0.0.tar.gz |
|---|---|
| Size | 2.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6c829a32336ea8fab41d6c3ed09df25e0a7d5c0d1d0291c541bcf7de18497615
|
|
BLAKE2b-256 checksum How to use checksums |
184424827458aa922d5eb35ff74c8aaffd5e4d2e6b1e0e31b00e8ef7cd5e5a91
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / mapuche-2.0.0-py3-none-any.whl
| Download URL | mapuche-2.0.0-py3-none-any.whl |
|---|---|
| Size | 47.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ce51cb98bae92d52be8e032ee4ef864cda43c9ec39e384f6f6e1071831402deb
|
|
BLAKE2b-256 checksum How to use checksums |
cac921dca7860c6492417c805f183c85cdc994fb472706181fff4405433813b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|