Skip to content

Commit 7d81c95

Browse files
semarieandrewrk
authored andcommitted
openbsd: add proper support for aarch64
define openbsd specific elements in std/dwarf/abi.zig regBytes() work from Jasper Lievisse Adriaanse, with register values from sys/signal.h and https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst#dwarf-register-names
1 parent a7dbc57 commit 7d81c95

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

lib/std/dwarf/abi.zig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,14 @@ pub fn regBytes(
369369

370370
else => error.InvalidRegister,
371371
},
372+
.openbsd => switch (reg_number) {
373+
0...30 => mem.asBytes(&ucontext_ptr.sc_x[reg_number]),
374+
31 => mem.asBytes(&ucontext_ptr.sc_sp),
375+
32 => mem.asBytes(&ucontext_ptr.sc_lr),
376+
33 => mem.asBytes(&ucontext_ptr.sc_elr),
377+
34 => mem.asBytes(&ucontext_ptr.sc_spsr),
378+
else => error.InvalidRegister,
379+
},
372380
else => switch (reg_number) {
373381
0...30 => mem.asBytes(&ucontext_ptr.mcontext.regs[reg_number]),
374382
31 => mem.asBytes(&ucontext_ptr.mcontext.sp),

0 commit comments

Comments
 (0)