Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support zstd-compressed ELF sections. #626

Merged
merged 5 commits into from
Sep 15, 2024
Merged

Commits on Sep 13, 2024

  1. Support zstd-compressed ELF sections.

    zstd has been introduced as an alternative to zlib for the compression of debug
    sections.[0] Toolchain support is widely present at this time but lack of
    support in backtrace is a severe limitation on using this feature in Rust
    programs.
    
    This uses a Rust reimplementation of zstd (the ruzstd crate). This has the
    benefit of simplifying the build process, but this crate is less used and
    admittedly slower than the zstd crate that binds to the C libzstd.
    
    [0] https://maskray.me/blog/2022-09-09-zstd-compressed-debug-sections
    khuey committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    d6ab680 View commit details
    Browse the repository at this point in the history
  2. Work around ruzstd only decoding a single frame of the zstd data.

    lld chunks the data into 1MB frames for parallel compression so almost
    everything will have multiple frames.
    khuey committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    b0ae948 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8d94e0d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e5473c3 View commit details
    Browse the repository at this point in the history
  5. Handle skip frame errors.

    khuey committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    fbfaf5a View commit details
    Browse the repository at this point in the history