Commit Graph

47 Commits

Author SHA1 Message Date
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
Gary Guo
874abe87d2 Make frame optional to be able to denote end-of-stack in context 2021-08-26 03:28:02 +01:00
Gary Guo
e588ffdf2e Implement unwind accessors 2021-08-26 02:03:28 +01:00
Gary Guo
69f47111a0 Add unwind ABI defs 2021-08-26 02:02:13 +01:00
Gary Guo
61275d40b8 cfg-gate x86_64 module 2021-08-26 01:52:17 +01:00
Gary Guo
28f545a5c8 Enforce unsafe_op_in_unsafe_fn 2021-08-26 01:51:59 +01:00
Gary Guo
dd94e27b1f Implement frame unwinder 2021-08-25 21:37:41 +01:00
Gary Guo
8b06d29ed8 misc changes 2021-08-25 21:36:42 +01:00
Gary Guo
5ecb44d1e3 Implement context save/restore asm for x86_64 2021-08-25 05:59:24 +01:00
Gary Guo
c9385a3f21 FDE finder 2021-08-25 02:55:49 +01:00