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

Fall back to dladdr on Unix in more places #196

Merged
merged 2 commits into from
Jun 3, 2019

Conversation

alexcrichton
Copy link
Member

Currently CoreSymbolication will fall back to dladdr but this also
applies the same logic to the libbacktrace symbolication strategy
since libbacktrace (especially on OSX) can't always get symbol name
information. Instead these platforms will all fall back to dladdr if
no symbol information is learned from libbacktrace.

This involved some refactoring internally since all invocations calling
the dladdr function are now shared instead of having three separate
ones throughout.

Almost all platforms should still have some degree of symbolication
without debug symbols being present (aka the dynamic symbol table and
such), so add a test asserting that symbols do indeed come out in these
scenarios.

This test will likely need to be blacklisted for platforms over time,
but that's ok.
Currently CoreSymbolication will fall back to `dladdr` but this also
applies the same logic to the `libbacktrace` symbolication strategy
since libbacktrace (especially on OSX) can't always get symbol name
information. Instead these platforms will all fall back to `dladdr` if
no symbol information is learned from libbacktrace.

This involved some refactoring internally since all invocations calling
the `dladdr` function are now shared instead of having three separate
ones throughout.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant