Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions libc-test/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,7 @@ fn main() {
cfg.header("sys/ipc.h");
cfg.header("sys/msg.h");
cfg.header("sys/shm.h");
cfg.header("sys/user.h");
cfg.header("sys/fsuid.h");
cfg.header("pty.h");
cfg.header("shadow.h");
Expand Down
65 changes: 65 additions & 0 deletions src/unix/notbsd/linux/other/b32/x86.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,71 @@ s! {
pub status: ::c_ulong,
}

pub struct user_fpregs_struct {
pub cwd: ::c_long,
pub swd: ::c_long,
pub twd: ::c_long,
pub fip: ::c_long,
pub fcs: ::c_long,
pub foo: ::c_long,
pub fos: ::c_long,
pub st_space: [::c_long; 20],
}

pub struct user_fpxregs_struct {
pub cwd: ::c_ushort,
pub swd: ::c_ushort,
pub twd: ::c_ushort,
pub fop: ::c_ushort,
pub fip: ::c_long,
pub fcs: ::c_long,
pub foo: ::c_long,
pub fos: ::c_long,
pub mxcsr: ::c_long,
__reserved: ::c_long,
pub st_space: [::c_long; 32],
pub xmm_space: [::c_long; 32],
padding: [::c_long; 56],
}

pub struct user_regs_struct {
pub ebx: ::c_long,
pub ecx: ::c_long,
pub edx: ::c_long,
pub esi: ::c_long,
pub edi: ::c_long,
pub ebp: ::c_long,
pub eax: ::c_long,
pub xds: ::c_long,
pub xes: ::c_long,
pub xfs: ::c_long,
pub xgs: ::c_long,
pub orig_eax: ::c_long,
pub eip: ::c_long,
pub xcs: ::c_long,
pub eflags: ::c_long,
pub esp: ::c_long,
pub xss: ::c_long,
}

pub struct user {
pub regs: user_regs_struct,
pub u_fpvalid: ::c_int,
pub i387: user_fpregs_struct,
pub u_tsize: ::c_ulong,
pub u_dsize: ::c_ulong,
pub u_ssize: ::c_ulong,
pub start_code: ::c_ulong,
pub start_stack: ::c_ulong,
pub signal: ::c_long,
__reserved: ::c_int,
pub u_ar0: *mut user_regs_struct,
pub u_fpstate: *mut user_fpregs_struct,
pub magic: ::c_ulong,
pub u_comm: [c_char; 32],
pub u_debugreg: [::c_int; 8],
}

pub struct mcontext_t {
pub gregs: [greg_t; 19],
pub fpregs: *mut _libc_fpstate,
Expand Down
62 changes: 62 additions & 0 deletions src/unix/notbsd/linux/other/b64/x86_64.rs
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,68 @@ s! {
__private: [u64; 12],
}

pub struct user_fpregs_struct {
pub cwd: ::c_ushort,
pub swd: ::c_ushort,
pub ftw: ::c_ushort,
pub fop: ::c_ushort,
pub rip: ::c_ulonglong,
pub rdp: ::c_ulonglong,
pub mxcsr: ::c_uint,
pub mxcr_mask: ::c_uint,
pub st_space: [::c_uint; 32],
pub xmm_space: [::c_uint; 64],
padding: [::c_uint; 24],
}

pub struct user_regs_struct {
pub r15: ::c_ulonglong,
pub r14: ::c_ulonglong,
pub r13: ::c_ulonglong,
pub r12: ::c_ulonglong,
pub rbp: ::c_ulonglong,
pub rbx: ::c_ulonglong,
pub r11: ::c_ulonglong,
pub r10: ::c_ulonglong,
pub r9: ::c_ulonglong,
pub r8: ::c_ulonglong,
pub rax: ::c_ulonglong,
pub rcx: ::c_ulonglong,
pub rdx: ::c_ulonglong,
pub rsi: ::c_ulonglong,
pub rdi: ::c_ulonglong,
pub orig_rax: ::c_ulonglong,
pub rip: ::c_ulonglong,
pub cs: ::c_ulonglong,
pub eflags: ::c_ulonglong,
pub rsp: ::c_ulonglong,
pub ss: ::c_ulonglong,
pub fs_base: ::c_ulonglong,
pub gs_base: ::c_ulonglong,
pub ds: ::c_ulonglong,
pub es: ::c_ulonglong,
pub fs: ::c_ulonglong,
pub gs: ::c_ulonglong,
}

pub struct user {
pub regs: user_regs_struct,
pub u_fpvalid: ::c_int,
pub i387: user_fpregs_struct,
pub u_tsize: ::c_ulonglong,
pub u_dsize: ::c_ulonglong,
pub u_ssize: ::c_ulonglong,
pub start_code: ::c_ulonglong,
pub start_stack: ::c_ulonglong,
pub signal: ::c_longlong,
__reserved: ::c_int,
pub u_ar0: *mut user_regs_struct,
pub u_fpstate: *mut user_fpregs_struct,
pub magic: ::c_ulonglong,
pub u_comm: [::c_char; 32],
pub u_debugreg: [::c_ulonglong; 8],
}

pub struct mcontext_t {
pub gregs: [greg_t; 23],
pub fpregs: *mut _libc_fpstate,
Expand Down