Skip to content

Commit

Permalink
Merge pull request #10 from nnethercote/mac-support
Browse files Browse the repository at this point in the history
Add Mac support
  • Loading branch information
nnethercote committed Dec 6, 2019
2 parents 5f60163 + 56bf73b commit c65a202
Show file tree
Hide file tree
Showing 18 changed files with 636 additions and 88 deletions.
74 changes: 53 additions & 21 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 10 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,20 @@ license = "MIT/Apache-2.0"

[dependencies]
fxhash = "0.2.1"
goblin = "0.1.2"
regex = "1.0"
serde_json = "1.0"

# FIXME(https://github.com/mozilla/fix-stacks/issues/2): at the time of
# writing, 6.1.4 is the latest version of `symbolic` on crates.io, but this dev
# version of 7.0.0 fixes some API botches (`ObjectDebugSession::functions()`
# being private). Once 7.0.0 is released, we can switch to it.
symbolic-common = { git = "https://github.com/getsentry/symbolic/", rev = "d217a9340df3bbd373323b732880a95e6de353bf" }
symbolic-debuginfo = { git = "https://github.com/getsentry/symbolic/", rev = "d217a9340df3bbd373323b732880a95e6de353bf" }
symbolic-demangle = { git = "https://github.com/getsentry/symbolic/", rev = "d217a9340df3bbd373323b732880a95e6de353bf" }
#
# FIXME(https://github.com/mozilla/fix-stacks/issues/11): if/when my
# symbolic-debuginfo changes land
# (https://github.com/getsentry/symbolic/pull/173), change these to point again
# to the `getsentry` repo.
#
symbolic-common = { git = "https://github.com/nnethercote/symbolic/", rev = "7d4ca78958aab62104a9fc18bb17cdba616d7a63" }
symbolic-debuginfo = { git = "https://github.com/nnethercote/symbolic/", rev = "7d4ca78958aab62104a9fc18bb17cdba616d7a63" }
symbolic-demangle = { git = "https://github.com/nnethercote/symbolic/", rev = "7d4ca78958aab62104a9fc18bb17cdba616d7a63" }
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

This program post-processes ("fixes") the stack frames produced by
`MozFormatCodeAddress()`, which often lack one or more of: function name, file
name, line number. It relies on the `symbolic` crate to read debug info from
files.
name, line number. It relies on the `symbolic` and `goblin` crates to read
debug info from files.

It reads from standard input and writes to standard output. Lines matching the
special stack frame format are modified appropriately. For example, a line
Expand All @@ -24,10 +24,9 @@ the stack frames and the build files. Furthermore, the build files must not
have changed since the stack frames were produced. Otherwise, source locations
in the output may be missing or incorrect.

# Shortcomings
`fix-stacks` works on Linux, Windows, and Mac.

`fix-stacks` works on Linux and Windows. We aim to eventually support
[Mac](https://github.com/mozilla/fix-stacks/issues/3) and possibly Android.
# Shortcomings

On Linux, use with debuginfo sections in separate files is untested and
probably does not work.
Loading

0 comments on commit c65a202

Please sign in to comment.