Граф коммитов

10 Коммитов

Автор SHA1 Сообщение Дата
Gabriele Svelto 03ad1304e5 Update dependencies to pick up several security/DoS fixes 2022-08-08 15:00:01 +02:00
Markus Stange 8a75402522 Update symbolic to 9.1.0.
Function arguments are now part of the function name for functions
from PDB files, so test_windows needs to be tweaked to expect them.
2022-08-05 12:28:00 -04:00
Gabriele Svelto c7c9f4f2bb Update symbolic to 8.0.3 and adjusted the code to comply with the API changes
This fixes #38
2021-02-03 11:38:32 +01:00
Nicholas Nethercote f851cde44b Use `anyhow` for error handling.
Because it's more idiomatic, removes the need for `FixErr`, and it gives
useful chains of error causes. For example, where we use to print this:

> fix-stacks error: failed to read `inline-gcc`

We now print this:

> fix-stacks: error: failed to read `inline-gcc`
> fix-stacks: No such file or directory (os error 2)
2020-06-02 12:37:33 +10:00
Nicholas Nethercote 29138c9b5a Update goblin version.
So that we don't end up building both goblin 0.1.2 (directly) and 0.2.1
(via symbolic-debuginfo).
2020-05-01 10:17:10 +10:00
Nicholas Nethercote 4780597fb4 Build with LTO.
It's a significant speed win on Mac and Windows. (I saw `dmd.py` runs
drop from about 40 seconds to about 30 seconds.)
2020-04-09 15:43:16 +10:00
Nicholas Nethercote f321de0812 Update to `symbolic` 7.1.1.
This also required updating to a newer `regex` crate.

Fixes #2.
Fixed #11.
2020-03-19 11:25:19 +11:00
Nicholas Nethercote 56bf73b44e Add Mac support.
This is a lot more complex than the Linux and Windows support. First, we
must handle fat binaries, which contain code for multiple architectures,
using the `symbolic_debuginfo::Archive` type. Second, we must consult
the binary's symbol table and then read debug info from the object files
and archive files mentioned. We use the `goblin` crate for this.
2019-12-06 11:22:59 +11:00
Nicholas Nethercote 6ac6cbdc27 Add the ability to do JSON escaping of printed file and function names.
This is necessary for DMD, which puts file names and function names
within JSON strings.

For testing I had to add a new test binary with the awkward name of
`example"json`, which requires escaping of the '"' char.
2019-11-22 08:55:51 +11:00
Nicholas Nethercote 6c28eb0788 Initial Linux support.
Mac and Windows are to be done later.
2019-11-18 10:33:41 +11:00