-
Notifications
You must be signed in to change notification settings - Fork 273
Comparing changes
Open a pull request
base repository: rust-lang/backtrace-rs
base: 0.3.46
head repository: rust-lang/backtrace-rs
compare: 0.3.47
- 18 commits
- 28 files changed
- 3 contributors
Commits on Apr 20, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b53c52b - Browse repository at this point
Copy the full SHA b53c52bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a6eb60f - Browse repository at this point
Copy the full SHA a6eb60fView commit details -
Configuration menu - View commit details
-
Copy full SHA for c8067c6 - Browse repository at this point
Copy the full SHA c8067c6View commit details -
Remove memmap dependency (#311)
Try to slim down the dependencies of `gimli-symbolize`
Configuration menu - View commit details
-
Copy full SHA for 611a766 - Browse repository at this point
Copy the full SHA 611a766View commit details
Commits on Apr 30, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 0b2b800 - Browse repository at this point
Copy the full SHA 0b2b800View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8af627d - Browse repository at this point
Copy the full SHA 8af627dView commit details
Commits on May 1, 2020
-
Remove dependency on
findshlibs(#314)This is a pretty small dependency for the `gimli-symbolize` feature, and in an effort to reduce the number of external dependencies this commit inlines the small amount of code we used from that crate here directly. This should hopefully make this a bit easier to port to libstd eventually.
Configuration menu - View commit details
-
Copy full SHA for 688e20e - Browse repository at this point
Copy the full SHA 688e20eView commit details
Commits on May 8, 2020
-
Remove coresymbolication implementation (#316)
* Remove coresymbolication implementation This isn't used anywhere by default any more and I don't think there's any reason to enable it. This older implementation uses private APIs which aren't supposed to be used. Additionally libbacktrace nowadays should be workable enough and with gimli soon on the horizon that should be a suitable default for macOS and iOS. * Disable android emulator in CI
Configuration menu - View commit details
-
Copy full SHA for df444be - Browse repository at this point
Copy the full SHA df444beView commit details
Commits on May 12, 2020
-
Remove dladdr fallback and implementation (#317)
* Remove dladdr fallback and implementation This has been present for a very long time but I believe this has never actually been that necessary. Non-MSVC platforms all use libbacktrace by default, and libbacktrace will consult symbol tables of object files to do what `dladdr` does, just inside of libbacktrace. Additionally gimli implements the same logic. I believe that this means that `dladdr` isn't necessary for resolving any symbols since our other strategies should already be doing everything for us. This commit makes the feature defunkt and otherwise removes the various forms of fallback to dladdr. * Switch to the `object` crate for object parsing This commit switches the gimli feature from the `goblin` crate to the `object` crate for parsing object files. The main motivation here is trimming the dependencies of the `gimli-symbolize` feature to a bare minimum. The `object` crate itself has no dependencies now and should be a relatively easy drop-in replacement for the `goblin` crate. * Parse fat libraries on macOS This commit updates the object parsing code for macOS to support fat libraries. This enables gimli to symbolize addresses coming from system libraries which are currently installed frequently as fat libraries. Closes #319 * Fix macOS symbolication of system libraries This commit fixes an issue where symbolication of system libraries didn't work on macOS. Symbolication through the symbol table was always off by a slide amount for the library. It's not entirely clear why this kept happening or what was going on, but some poking in LLDB's source revealed a way we can differentiate and figure out what addresses need to be looked up in the symbol table. Some more information is contained in the comments of the commit itself. Closes #318 Co-authored-by: Philip Craig <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1ffdc8a - Browse repository at this point
Copy the full SHA 1ffdc8aView commit details -
Update
addr2linedependency (#321)Prunes out the `gimli-symbolize` dependency tree to just 3 crates!
Configuration menu - View commit details
-
Copy full SHA for 301358d - Browse repository at this point
Copy the full SHA 301358dView commit details -
Reorganize gimli internals slightly (#322)
* Split out gimli implementation into multiple files Move object-file-parsing code into three separate files which can be shared between different platforms. * Remove Windows-specific block in avma_to_svma
Configuration menu - View commit details
-
Copy full SHA for 7a95a02 - Browse repository at this point
Copy the full SHA 7a95a02View commit details -
Migrate towards sunsetting features on this crate (#323)
* Move `kernel32` dependency to deprecated section This hasn't been used in ages actually! * Remove the `unix-backtrace` feature AFAIK there's not actual use case for this. This was added ages ago when backtrace functionality was first implemented but we've always preferred libunwind as an unwinder since it's more accurate. No platform uses this by default today, so this commit is removing the support and we can re-add it pretty easily if necessary for a new platform. * Make libunwind/dbghelp features defunkt AFAIK there's no current users of this crate who are tweaking the various methods of capturing a backtrace or symbolizing a backtrace. I believe everyone's just largely using the default features. Additionally it would be extremely hard to *not* use the default features given the wide usage of this crate. Given all this this commit simply removes the option of doing so. Instead this crate will automatically select the best implementation strategy per-platform and will provide the necessary support to enable it. It's intended to that this should give a much better default experience the avoids futzing around with features so much.
Configuration menu - View commit details
-
Copy full SHA for 40f3954 - Browse repository at this point
Copy the full SHA 40f3954View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3af3ec7 - Browse repository at this point
Copy the full SHA 3af3ec7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 29af390 - Browse repository at this point
Copy the full SHA 29af390View commit details -
Configuration menu - View commit details
-
Copy full SHA for 67ccecb - Browse repository at this point
Copy the full SHA 67ccecbView commit details -
This commit updates `#[cfg]` and organization to ensure that the gimli-symbolize feature compiles on all platforms. The main thing to implement will be loading native libraries which currently doesn't have an implementation for platforms like FreeBSD.
Configuration menu - View commit details
-
Copy full SHA for bb5aa64 - Browse repository at this point
Copy the full SHA bb5aa64View commit details -
Switch to
gimli-symbolizeby default (#324)This commit switches this crate to using `gimli` by default for parsing DWARF debug information. This is a long time coming and brings a number of benefits: * Primarily, Rust is safe. The libbacktrace library has been plagued with segfaults ever since we first started using it. Gimli, however, is almost entirely safe code. This should make us much more resilient in the face of buggy debuginfo. * Secondarily, it means this library no longer needs a C compiler. Being an all-Rust crate generally makes it much easier to cross-compile, port, etc. * Finally, this paves the road for future improvements such as split-debuginfo support by default. The libbacktrace library hasn't really changed since we started using it years ago, and this gives us more control over what's used and how now. Closes #189
Configuration menu - View commit details
-
Copy full SHA for 5ad0b76 - Browse repository at this point
Copy the full SHA 5ad0b76View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbcfd0e - Browse repository at this point
Copy the full SHA fbcfd0eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.3.46...0.3.47