authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-05 19:15:22+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-05 20:08:55+02:00
log26403fe3f95063646a3030c2c4216632de2fff11
tree2cb7271618533ad1575404e76006c557f4378009
parent0a74d73459a8b30b5c91ee444275752206a2a0ea
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.os.linux: add mcontext_t and ucontext_t for hexagon


1 files changed, 29 insertions(+), 2 deletions(-)

lib/std/os/linux/hexagon.zig+29-2
...@@ -9,6 +9,8 @@ const gid_t = std.os.linux.gid_t;...@@ -9,6 +9,8 @@ const gid_t = std.os.linux.gid_t;
9const pid_t = std.os.linux.pid_t;9const pid_t = std.os.linux.pid_t;
10const sockaddr = linux.sockaddr;10const sockaddr = linux.sockaddr;
11const socklen_t = linux.socklen_t;11const socklen_t = linux.socklen_t;
12const stack_t = linux.stack_t;
13const sigset_t = linux.sigset_t;
12const timespec = std.os.linux.timespec;14const timespec = std.os.linux.timespec;
1315
14pub fn syscall0(number: SYS) usize {16pub fn syscall0(number: SYS) usize {
...@@ -235,5 +237,30 @@ pub const Elf_Symndx = u32;...@@ -235,5 +237,30 @@ pub const Elf_Symndx = u32;
235237
236pub const VDSO = void;238pub const VDSO = void;
237239
238/// TODO240pub const mcontext_t = extern struct {
239pub const ucontext_t = void;241 gregs: [32]u32 align(8),
242 sa0: u32,
243 lc0: u32,
244 sa1: u32,
245 lc1: u32,
246 m0: u32,
247 m1: u32,
248 usr: u32,
249 p3_0: u32,
250 gp: u32,
251 ugp: u32,
252 pc: u32,
253 cause: u32,
254 badva: u32,
255 cs0: u32,
256 cs1: u32,
257 _pad2: u32,
258};
259
260pub const ucontext_t = extern struct {
261 flags: usize,
262 link: ?*ucontext_t,
263 stack: stack_t,
264 mcontext: mcontext_t,
265 sigmask: [2]u32,
266};