rust-lang / backtrace-rs

Backtraces in Rust
https://docs.rs/backtrace
Other
516 stars 237 forks source link

Support zstd-compressed ELF sections. #626

Open khuey opened 1 month ago

khuey commented 1 month ago

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

workingjubilee commented 1 month ago

This itself will also wait for a bit due to dependency chains. I would rather not have two syns in my dependency tree, so I will be waiting for a version with https://github.com/KillingSpark/zstd-rs/pull/60

bjorn3 commented 1 month ago

It also needs rustc-dep-of-std support, right?

workingjubilee commented 1 month ago

hmm probably.

workingjubilee commented 1 month ago

It's also ever-so-slightly nicer to be able to submit PRs to a Rust crate if I want their code to operate differently somehow (run faster, jump higher, whatever) rather than have to also dive into a tangled pile of C, y'know?

khuey commented 1 month ago

It's also ever-so-slightly nicer to be able to submit PRs to a Rust crate if I want their code to operate differently somehow (run faster, jump higher, whatever) rather than have to also dive into a tangled pile of C, y'know?

Personally I'd take the dependency that's professionally maintained and used by everyone else on the planet but it's not my crate.

workingjubilee commented 1 month ago

Alas, no one is really paying for professional maintenance of backtrace-rs, unfortunately.