authorgravatar for devnexen@gmail.comDavid Carlier <devnexen@gmail.com> 2023-04-15 06:36:28+01:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-04-23 19:46:18+03:00
log9691cded95afa53f17bfc50edc371d4fe673b56a
treeb34023953ba85853303687e57a9064cabc961ba2
parent1d322fe5102368f80fd4d00dcbbe3dca9e6306f8

std: mcontext layout for x86 and fixing few x86_64 fields types for

FreeBSD

1 files changed, 37 insertions(+), 5 deletions(-)

lib/std/c/freebsd.zig+37-5
...@@ -1391,15 +1391,47 @@ pub const mcontext_t = switch (builtin.cpu.arch) {...@@ -1391,15 +1391,47 @@ pub const mcontext_t = switch (builtin.cpu.arch) {
1391 rflags: u64,1391 rflags: u64,
1392 rsp: u64,1392 rsp: u64,
1393 ss: u64,1393 ss: u64,
1394 len: u64,1394 len: c_long,
1395 fpformat: u64,1395 fpformat: c_long,
1396 ownedfp: u64,1396 ownedfp: c_long,
1397 fpstate: [64]u64 align(16),1397 fpstate: [64]c_long align(16),
1398 fsbase: u64,1398 fsbase: u64,
1399 gsbase: u64,1399 gsbase: u64,
1400 xfpustate: u64,1400 xfpustate: u64,
1401 xfpustate_len: u64,1401 xfpustate_len: u64,
1402 spare: [4]u64,1402 spare: [4]c_long,
1403 },
1404 .x86 => extern struct {
1405 onstack: u32,
1406 gs: u32,
1407 fs: u32,
1408 es: u32,
1409 ds: u32,
1410 edi: u32,
1411 esi: u32,
1412 ebp: u32,
1413 isp: u32,
1414 ebx: u32,
1415 edx: u32,
1416 ecx: u32,
1417 eax: u32,
1418 trapno: u32,
1419 err: u32,
1420 eip: u32,
1421 cs: u32,
1422 eflags: u32,
1423 esp: u32,
1424 ss: u32,
1425 len: c_int,
1426 fpformat: c_int,
1427 ownedfp: c_int,
1428 flags: u32,
1429 fpstate: [128]c_int align(16),
1430 fsbase: u32,
1431 gsbase: u32,
1432 xpustate: u32,
1433 xpustate_len: u32,
1434 spare2: [4]c_int,
1403 },1435 },
1404 .aarch64 => extern struct {1436 .aarch64 => extern struct {
1405 gpregs: extern struct {1437 gpregs: extern struct {