Skip to main content

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 a to open an assembler diff for the selected row. This is available when the ELF named by OUTPUT() in the map file is on disk. objdump is taken from the toolchain bin directory recorded on the libc.a path; 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

mapuche diff maps

Metadata

Release files for mapuche 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mapuche 2.0.1
File Size Uploaded
mapuche-2.0.1.tar.gz 2.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mapuche 2.0.1
File Interpreter ABI Platform
mapuche-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.9 MB

Release files / mapuche-2.0.1.tar.gz

Download URL mapuche-2.0.1.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
7742e09221b71fce25610aa6b0743567762341471be4c0dad9c6074315938274
BLAKE2b-256 checksum
How to use checksums
e336e64d3ff92d14c4f963a582ba3824e94ce24f5a1652cc57f96ffd443c3de9
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.1-py3-none-any.whl

Download URL mapuche-2.0.1-py3-none-any.whl
Size 48.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25a57962916f440a68b79b1845a4eac48bdc75de5edcbdacf422b70fd0378532
BLAKE2b-256 checksum
How to use checksums
5838eaa5e5ec0b7f10ced7a63f8d8fdf86fe3faf973bda53fbff213d0d49f3d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page