Gary Guo
377945f07a
Add some defensive #[inline(never)]
2021-10-05 22:27:35 +01:00
Gary Guo
9a570a961c
Add description to Cargo.toml
2021-10-05 20:21:17 +01:00
Gary Guo
52b976dc4d
Rename project to unwinding to avoid crates.io name conflict
2021-10-05 20:18:27 +01:00
Gary Guo
2bba02748c
Improve documentation
2021-10-05 00:53:26 +01:00
Gary Guo
88d34ea7ad
Add generic panicking support
2021-10-05 00:30:16 +01:00
Gary Guo
8241603500
Update README
2021-10-04 23:03:01 +01:00
Gary Guo
5364967c0e
Add method to get PHDR from aux vector
2021-10-04 23:01:26 +01:00
Gary Guo
b6f7d85be5
Update README
2021-10-03 18:47:12 +01:00
Dan Gohman
800048db67
Remove "spin" from the default list, as it's pulled in by "fde-phdr".
2021-10-03 10:27:36 -07:00
Dan Gohman
04a14677e4
Issue a friendlier error message if fde-registry is enabled with no lock impl.
2021-10-03 10:24:20 -07:00
Dan Gohman
67ebac869f
Make the spin dependency optional.
...
Make the spin dependency optional so that users enabling libc, which
enables libc-based locking, don't need to depend on spin.
2021-10-03 09:40:20 -07:00
Dan Gohman
a672291e9b
Try fde-gnu-eh-frame-hdr
before fde-phdr
.
2021-10-02 11:05:17 -07:00
Dan Gohman
c40a114e23
Add a way to find .eh_frame_hdr
using __GNU_EH_FRAME_HDR
.
...
GNU ld on at least some platforms adds a symbol `__GNU_EH_FRAME_HDR` for
the `.eh_frame_hdr` section. Add a cargo feature `fde-gnu-eh-frame-hdr`
to enable use of this.
2021-10-02 10:13:04 -07:00
Gary Guo
32ad71301c
Throw error if architecture is not supported
2021-09-06 23:33:30 +01:00
Gary Guo
789082f176
Add AArch64 support
2021-09-06 23:27:01 +01:00
Gary Guo
e39f404854
Add patch to use latest version of gimli
2021-09-06 23:24:31 +01:00
Gary Guo
41e805c1cf
Handle signal frame
2021-08-27 18:33:06 +01:00
Gary Guo
10dccf7dc4
Describe baremetal
2021-08-26 22:48:44 +01:00
Gary Guo
c970b0d1fb
Fix warning
2021-08-26 22:40:56 +01:00
Gary Guo
f4dd644e67
Static FDE searcher
2021-08-26 22:40:10 +01:00
Gary Guo
0bb383ea30
Remove fp from RISC-V context if d is not enabled
2021-08-26 22:39:07 +01:00
Gary Guo
2988ed52fb
Update readme
2021-08-26 13:30:39 +01:00
Gary Guo
370c02ac46
Add readme
2021-08-26 13:26:51 +01:00
Gary Guo
57b6852c97
RISC-V unwinder support
2021-08-26 12:58:22 +01:00
Gary Guo
f34aa1824f
Fix build
2021-08-26 12:39:51 +01:00
Gary Guo
2212467faf
Add riscv arch def
2021-08-26 12:38:45 +01:00
Gary Guo
62878b5995
Move arch code around
2021-08-26 12:35:20 +01:00
Gary Guo
1e46c7ea3a
Allow unwinder to be turned off
2021-08-26 12:33:42 +01:00
Gary Guo
e1c7c1ae60
Refactor
2021-08-26 12:11:24 +01:00
Gary Guo
210e6def4c
Add backtrace to panic-handler feature
2021-08-26 11:50:19 +01:00
Gary Guo
8e20d33822
Remove unsafe from signatures wihth callback
2021-08-26 11:49:38 +01:00
Gary Guo
2fc17fc631
Add an example
2021-08-26 11:06:45 +01:00
Gary Guo
af45cc8701
Move dummy panic handler to lib as well
2021-08-26 11:00:25 +01:00
Gary Guo
6e74064c7f
Implement basic panic handler
2021-08-26 10:55:35 +01:00
Gary Guo
af031eb4b1
Panic utilities
2021-08-26 10:54:02 +01:00
Gary Guo
487ca98456
Add print helpers
2021-08-26 10:01:58 +01:00
Gary Guo
f0e87da0aa
Implement rust personality
2021-08-26 09:56:15 +01:00
Gary Guo
e205fb9e64
Move dummy personality to libunwind
2021-08-26 09:54:17 +01:00
Gary Guo
bf908d9562
Relax &mut to &UnwindContext for accessors
2021-08-26 08:15:20 +01:00
Gary Guo
68baa798fb
Add a feature gate to control whether hide self from trace
2021-08-26 05:40:08 +01:00
Gary Guo
a942d60e1a
Allow dwarf expr support to be turned off
2021-08-26 05:37:45 +01:00
Gary Guo
d22df752ca
Move the system allocator to libunwind as a feature
2021-08-26 05:27:35 +01:00
Gary Guo
5e4c957df4
Workaround rust issue 50007
2021-08-26 05:24:02 +01:00
Gary Guo
f76376c101
Add a cdylib target
2021-08-26 05:01:50 +01:00
Gary Guo
7c07a5dbd9
Add helper methods to UnwindAction
2021-08-26 04:57:02 +01:00
Gary Guo
20ca20e7f8
Remove std dependency
2021-08-26 04:27:01 +01:00
Gary Guo
83537e0211
Gate FDE finder under features
2021-08-26 03:56:15 +01:00
Gary Guo
c195fc91eb
Use spinlock if std feature is off
2021-08-26 03:50:33 +01:00
Gary Guo
54cbb9f8fc
Use core::ffi::c_void instead of libc::c_void
2021-08-26 03:48:18 +01:00
Gary Guo
855a3d3a9f
Full unwinding implementation
2021-08-26 03:30:28 +01:00