diff options
| author | kcbanner <kcbanner@gmail.com> | 2023-06-27 02:02:49 -0400 |
|---|---|---|
| committer | kcbanner <kcbanner@gmail.com> | 2023-07-20 22:58:14 -0400 |
| commit | 89ef004646896a145ec0607678882a395fabda3d (patch) | |
| tree | c1461f03122e27657ccd7a037b65be33d3575520 /lib/std/os/linux/x86_64.zig | |
| parent | 5cd8ab2473a4255f081f417eb3ec95e1a3a9e9d8 (diff) | |
| download | zig-89ef004646896a145ec0607678882a395fabda3d.tar.gz zig-89ef004646896a145ec0607678882a395fabda3d.zip | |
debug: x86 unwinding support, more unwinding fixes
- Fix unwindFrame using the previous FDE row instead of the current one
- Handle unwinding through noreturn functions
- Add x86-linux getcontext
- Fixup x86_64-linux getcontext not restoring the fp env
- Fix start_addr filtering on x86-windows
Diffstat (limited to 'lib/std/os/linux/x86_64.zig')
| -rw-r--r-- | lib/std/os/linux/x86_64.zig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/std/os/linux/x86_64.zig b/lib/std/os/linux/x86_64.zig index 0beb70e691..786a95c7a5 100644 --- a/lib/std/os/linux/x86_64.zig +++ b/lib/std/os/linux/x86_64.zig @@ -425,6 +425,7 @@ pub inline fn getcontext(context: *ucontext_t) usize { \\ leaq (%[fpmem_offset])(%[context]), %%rcx \\ movq %%rcx, (%[fpstate_offset])(%[context]) \\ fnstenv (%%rcx) + \\ fldenv (%%rcx) \\ stmxcsr (%[mxcsr_offset])(%[context]) : : [context] "{rdi}" (context), |
