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

More improvements to gimli support #217

Merged
merged 1 commit into from Jun 27, 2019

Conversation

Projects
None yet
2 participants
@alexcrichton
Copy link
Member

commented Jun 27, 2019

  • Migrate to goblin instead of object to reduce dependencies
  • Disable as many features as we can along the way, slimming down dependencies
  • Add rudimentary support for Windows MinGW
  • Don't consult symbol tables in files and instead assume dladdr does
    that for us
  • Add a lifetime parameter to the inner Symbol so the gimli bindings
    can be expressed a bit more safely.
More improvements to gimli support
* Migrate to `goblin` instead of `object` to reduce dependencies
* Disable as many features as we can along the way, slimming down dependencies
* Add rudimentary support for Windows MinGW
* Don't consult symbol tables in files and instead assume `dladdr` does
  that for us
* Add a lifetime parameter to the inner `Symbol` so the gimli bindings
  can be expressed a bit more safely.

@alexcrichton alexcrichton force-pushed the gimli-no-object branch from 87920b8 to d3fb904 Jun 27, 2019

@alexcrichton alexcrichton merged commit 400ff0b into master Jun 27, 2019

31 checks passed

rust-lang.backtrace-rs Build #20190627.2 succeeded
Details
rust-lang.backtrace-rs (Docker aarch64) Docker aarch64 succeeded
Details
rust-lang.backtrace-rs (Docker android-aarch64) Docker android-aarch64 succeeded
Details
rust-lang.backtrace-rs (Docker android-arm) Docker android-arm succeeded
Details
rust-lang.backtrace-rs (Docker android-armv7) Docker android-armv7 succeeded
Details
rust-lang.backtrace-rs (Docker android-i686) Docker android-i686 succeeded
Details
rust-lang.backtrace-rs (Docker android-x86_64) Docker android-x86_64 succeeded
Details
rust-lang.backtrace-rs (Docker armhf) Docker armhf succeeded
Details
rust-lang.backtrace-rs (Docker armv7) Docker armv7 succeeded
Details
rust-lang.backtrace-rs (Docker gnu) Docker gnu succeeded
Details
rust-lang.backtrace-rs (Docker i586) Docker i586 succeeded
Details
rust-lang.backtrace-rs (Docker i686) Docker i686 succeeded
Details
rust-lang.backtrace-rs (Docker mingw) Docker mingw succeeded
Details
rust-lang.backtrace-rs (Docker powerpc64) Docker powerpc64 succeeded
Details
rust-lang.backtrace-rs (Docker x86_64) Docker x86_64 succeeded
Details
rust-lang.backtrace-rs (Linux beta) Linux beta succeeded
Details
rust-lang.backtrace-rs (Linux nightly) Linux nightly succeeded
Details
rust-lang.backtrace-rs (Linux stable) Linux stable succeeded
Details
rust-lang.backtrace-rs (MSRV) MSRV succeeded
Details
rust-lang.backtrace-rs (Windows i686-gnu) Windows i686-gnu succeeded
Details
rust-lang.backtrace-rs (Windows i686-msvc) Windows i686-msvc succeeded
Details
rust-lang.backtrace-rs (Windows x86_64-gnu) Windows x86_64-gnu succeeded
Details
rust-lang.backtrace-rs (Windows x86_64-msvc) Windows x86_64-msvc succeeded
Details
rust-lang.backtrace-rs (Windows_arm64) Windows_arm64 succeeded
Details
rust-lang.backtrace-rs (iOS aarch64) iOS aarch64 succeeded
Details
rust-lang.backtrace-rs (iOS armv7) iOS armv7 succeeded
Details
rust-lang.backtrace-rs (iOS armv7s) iOS armv7s succeeded
Details
rust-lang.backtrace-rs (iOS i386) iOS i386 succeeded
Details
rust-lang.backtrace-rs (iOS x86_64) iOS x86_64 succeeded
Details
rust-lang.backtrace-rs (macOS x86_64) macOS x86_64 succeeded
Details
rust-lang.backtrace-rs (wasm) wasm succeeded
Details

@alexcrichton alexcrichton deleted the gimli-no-object branch Jun 27, 2019

@philipc

This comment has been minimized.

Copy link
Contributor

commented Jun 28, 2019

Don't consult symbol tables in files and instead assume dladdr does that for us

I think that will only use .dynsym and not .symtab. On the other hand, I'm not sure how often .symtab is present but debuginfo isn't.

@alexcrichton

This comment has been minimized.

Copy link
Member Author

commented Jun 28, 2019

Yeah I've started seeing a few more <unknown> symbols than before so I think you're right. Ideally though I'd like to make sure there's a test asserting that it needs to be there, and just working on that coming about!

@alexcrichton

This comment has been minimized.

Copy link
Member Author

commented Jun 28, 2019

Ok tests are indeed failing right now when debuginfo is missing but due to other reasons they're already disabled. I'll work on fixing that once 1.36.0 is out!

alexcrichton added a commit that referenced this pull request Jul 8, 2019

gimli: Search object file symbol tables again
This restores logic removed in #217 to search the symbol tables when
looking for symbol name information, consequently fixing a test which
was failing when turned on for gimli.

alexcrichton added a commit that referenced this pull request Jul 8, 2019

gimli: Search object file symbol tables again
This restores logic removed in #217 to search the symbol tables when
looking for symbol name information, consequently fixing a test which
was failing when turned on for gimli.
@alexcrichton

This comment has been minimized.

Copy link
Member Author

commented Jul 8, 2019

Ok I've gotten around now to implementing this again

alexcrichton added a commit that referenced this pull request Jul 8, 2019

gimli: Search object file symbol tables again
This restores logic removed in #217 to search the symbol tables when
looking for symbol name information, consequently fixing a test which
was failing when turned on for gimli.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.