Skip to content
/ gimli Public

A library for reading and writing the DWARF debugging format

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

gimli-rs/gimli

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c1e993d · Apr 25, 2024
Sep 11, 2023
Oct 7, 2021
Apr 15, 2024
Feb 27, 2022
Oct 7, 2021
Nov 24, 2022
Apr 25, 2024
Feb 22, 2024
Apr 2, 2020
Apr 11, 2024
May 19, 2020
Apr 11, 2024
Jul 15, 2016
Jul 15, 2016
Apr 11, 2024
Aug 12, 2023
Apr 15, 2018

Repository files navigation

gimli

Build Status Coverage Status

gimli is a library for reading and writing the DWARF debugging format.

  • Zero copy: everything is just a reference to the original input buffer. No copies of the input data get made.

  • Lazy: you can iterate compilation units without parsing their contents. Parse only as many debugging information entry (DIE) trees as you iterate over. gimli also uses DW_AT_sibling references to avoid parsing a DIE's children to find its next sibling, when possible.

  • Cross-platform: gimli makes no assumptions about what kind of object file you're working with. The flipside to that is that it's up to you to provide an ELF loader on Linux or Mach-O loader on macOS.

    • Unsure which object file parser to use? Try the cross-platform object crate. See the gimli-examples crate for usage with gimli.

Install

Add this to your Cargo.toml:

[dependencies]
gimli = "0.29.0"

The minimum supported Rust version is:

  • 1.60.0 for the read feature and its dependencies.
  • 1.65.0 for other features.

Documentation

License

Licensed under either of

at your option.

Contribution

See CONTRIBUTING.md for hacking.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.