Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: rust-lang/backtrace-rs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.3.46
Choose a base ref
...
head repository: rust-lang/backtrace-rs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.3.47
Choose a head ref
  • 18 commits
  • 28 files changed
  • 3 contributors

Commits on Apr 20, 2020

  1. Configuration menu
    Copy the full SHA
    b53c52b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a6eb60f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c8067c6 View commit details
    Browse the repository at this point in the history
  4. Remove memmap dependency (#311)

    Try to slim down the dependencies of `gimli-symbolize`
    alexcrichton authored Apr 20, 2020
    Configuration menu
    Copy the full SHA
    611a766 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2020

  1. Configuration menu
    Copy the full SHA
    0b2b800 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8af627d View commit details
    Browse the repository at this point in the history

Commits on May 1, 2020

  1. 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.
    alexcrichton authored May 1, 2020
    Configuration menu
    Copy the full SHA
    688e20e View commit details
    Browse the repository at this point in the history

Commits on May 8, 2020

  1. 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
    alexcrichton authored May 8, 2020
    Configuration menu
    Copy the full SHA
    df444be View commit details
    Browse the repository at this point in the history

Commits on May 12, 2020

  1. 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]>
    alexcrichton and philipc authored May 12, 2020
    Configuration menu
    Copy the full SHA
    1ffdc8a View commit details
    Browse the repository at this point in the history
  2. Update addr2line dependency (#321)

    Prunes out the `gimli-symbolize` dependency tree to just 3 crates!
    alexcrichton authored May 12, 2020
    Configuration menu
    Copy the full SHA
    301358d View commit details
    Browse the repository at this point in the history
  3. 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
    alexcrichton authored May 12, 2020
    Configuration menu
    Copy the full SHA
    7a95a02 View commit details
    Browse the repository at this point in the history
  4. 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.
    alexcrichton authored May 12, 2020
    Configuration menu
    Copy the full SHA
    40f3954 View commit details
    Browse the repository at this point in the history
  5. Tweak some CI testing

    alexcrichton committed May 12, 2020
    Configuration menu
    Copy the full SHA
    3af3ec7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    29af390 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    67ccecb View commit details
    Browse the repository at this point in the history
  8. Enable gimli on all platforms

    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.
    alexcrichton committed May 12, 2020
    Configuration menu
    Copy the full SHA
    bb5aa64 View commit details
    Browse the repository at this point in the history
  9. Switch to gimli-symbolize by 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
    alexcrichton authored May 12, 2020
    Configuration menu
    Copy the full SHA
    5ad0b76 View commit details
    Browse the repository at this point in the history
  10. Bump to 0.3.47

    alexcrichton committed May 12, 2020
    Configuration menu
    Copy the full SHA
    fbcfd0e View commit details
    Browse the repository at this point in the history
Loading