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

Update the backtrace crate in libstd #88151

Merged
merged 1 commit into from
Aug 19, 2021

Conversation

alexcrichton
Copy link
Member

This commit updates the backtrace crate in libstd now that dependencies
have been updated to use memchr from the standard library as well.
This is mostly just making sure deps are up-to-date and have all the
latest-and-greatest fixes and such.

Closes rust-lang/backtrace-rs#432

@rust-highfive
Copy link
Collaborator

r? @Mark-Simulacrum

(rust-highfive has picked a reviewer for you, use r? to override)

@rust-highfive
Copy link
Collaborator

⚠️ Warning ⚠️

  • These commits modify submodules.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 19, 2021
@hkratz
Copy link
Contributor

hkratz commented Aug 19, 2021

It seems that the update makes it impossible to build std with the backtrace feature disabled, e.g. with backtrace=false in config.toml or with cargo +nightly build -Z build-std -Zbuild-std-features=panic-unwind,default:

error[E0433]: failed to resolve: use of undeclared crate or module `object`
 --> library/std/src/../../backtrace/src/symbolize/gimli/macho.rs:4:5
  |
4 | use object::read::macho::{MachHeader, Nlist, Section, Segment as _};
  |     ^^^^^^ use of undeclared crate or module `object`

I rather liked this because it shaved of a bit of executable size while keeping unwinding on panics.

@alexcrichton
Copy link
Member Author

Oh that's an unintended consequence of a historical refactoring in the crate, rust-lang/backtrace-rs#433 should restore support.

This commit updates the backtrace crate in libstd now that dependencies
have been updated to use `memchr` from the standard library as well.
This is mostly just making sure deps are up-to-date and have all the
latest-and-greatest fixes and such.

Closes rust-lang/backtrace-rs#432
@alexcrichton
Copy link
Member Author

Ok, I've updated the submodule here to include that fix.

@Mark-Simulacrum
Copy link
Member

@bors r+ rollup=never

@bors
Copy link
Contributor

bors commented Aug 19, 2021

📌 Commit 4a3e736 has been approved by Mark-Simulacrum

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 19, 2021
@bors
Copy link
Contributor

bors commented Aug 19, 2021

⌛ Testing commit 4a3e736 with merge 7960030...

@bors
Copy link
Contributor

bors commented Aug 19, 2021

☀️ Test successful - checks-actions
Approved by: Mark-Simulacrum
Pushing 7960030 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 19, 2021
@bors bors merged commit 7960030 into rust-lang:master Aug 19, 2021
@rustbot rustbot added this to the 1.56.0 milestone Aug 19, 2021
@alexcrichton alexcrichton deleted the update-backtrace branch August 20, 2021 03:53
@Mark-Simulacrum
Copy link
Member

This was a perf regression, on a number of crates, but I believe it to be entirely or largely due to more metadata decoding and related processing of std, which this PR increased the size of.

@rustbot label perf-regression perf-regression-triaged

@rustbot rustbot added perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. labels Aug 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

libbacktrace cannot be updated in Rust's libstd because of memchr dependency
6 participants