Skip to content

Latest commit

 

History

History
45 lines (29 loc) · 2.17 KB

README.md

File metadata and controls

45 lines (29 loc) · 2.17 KB

Apache 2 License Maintenance build

Latest Release release

Go Code reference Go Report Card

split-debug

A native Golang tool to extract DWARF and Symbol information for ELF Object files

DISCLAIMER

This project is in-complete.

But feel free to contribute. This project is a proof of concept for https://github.com/parca-dev/parca-agent to extract debug information from ELF files using pure Go. It turns out a fully-fledged ELF writer written in Go doesn't exist.

So I started to write a package for that. I'm not an expert on the format, but I'm learning. Please feel free to contribute.

TODO

  • Ensure consistency of linked sections when target removed (sh_link)
  • Ensure consistency and existence of overlapping segments when a section removed (offset, range check)
  • Ensure consistency and soundness of relocations (type: SHT_RELA)
  • Ensure soundness of entry point (if the output ELF file is still executable)

Configuration

Flags:

Usage: split-debug <path>

Arguments:
  <path>    File path to the object file extract debug information from.

Flags:
  -h, --help                Show context-sensitive help.
      --log-level="info"    Log level.