Skip to content

Commit db4273e

Browse files
committed
Add offsets in user_regs_struct from sys/reg.h
1 parent ec1e5ab commit db4273e

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

src/unix/notbsd/linux/other/b32/x86.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,25 @@ pub const SYS_pkey_mprotect: ::c_int = 380;
695695
pub const SYS_pkey_alloc: ::c_int = 381;
696696
pub const SYS_pkey_free: ::c_int = 382;
697697

698+
// offsets in user_regs_structs, from sys/reg.h
699+
pub const EBX: ::c_int = 0;
700+
pub const ECX: ::c_int = 1;
701+
pub const EDX: ::c_int = 2;
702+
pub const ESI: ::c_int = 3;
703+
pub const EDI: ::c_int = 4;
704+
pub const EBP: ::c_int = 5;
705+
pub const EAX: ::c_int = 6;
706+
pub const DS: ::c_int = 7;
707+
pub const ES: ::c_int = 8;
708+
pub const FS: ::c_int = 9;
709+
pub const GS: ::c_int = 10;
710+
pub const ORIG_EAX: ::c_int = 11;
711+
pub const EIP: ::c_int = 12;
712+
pub const CS: ::c_int = 13;
713+
pub const EFL: ::c_int = 14;
714+
pub const UESP: ::c_int = 15;
715+
pub const SS: ::c_int = 16;
716+
698717
extern {
699718
pub fn getcontext(ucp: *mut ucontext_t) -> ::c_int;
700719
pub fn setcontext(ucp: *const ucontext_t) -> ::c_int;

src/unix/notbsd/linux/other/b64/x86_64.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -907,6 +907,35 @@ pub const SYS_pkey_mprotect: ::c_int = 329;
907907
pub const SYS_pkey_alloc: ::c_int = 330;
908908
pub const SYS_pkey_free: ::c_int = 331;
909909

910+
// offsets in user_regs_structs, from sys/reg.h
911+
pub const R15: ::c_int = 0;
912+
pub const R14: ::c_int = 1;
913+
pub const R13: ::c_int = 2;
914+
pub const R12: ::c_int = 3;
915+
pub const RBP: ::c_int = 4;
916+
pub const RBX: ::c_int = 5;
917+
pub const R11: ::c_int = 6;
918+
pub const R10: ::c_int = 7;
919+
pub const R9: ::c_int = 8;
920+
pub const R8: ::c_int = 9;
921+
pub const RAX: ::c_int = 10;
922+
pub const RCX: ::c_int = 11;
923+
pub const RDX: ::c_int = 12;
924+
pub const RSI: ::c_int = 13;
925+
pub const RDI: ::c_int = 14;
926+
pub const ORIG_RAX: ::c_int = 15;
927+
pub const RIP: ::c_int = 16;
928+
pub const CS: ::c_int = 17;
929+
pub const EFLAGS: ::c_int = 18;
930+
pub const RSP: ::c_int = 19;
931+
pub const SS: ::c_int = 20;
932+
pub const FS_BASE: ::c_int = 21;
933+
pub const GS_BASE: ::c_int = 22;
934+
pub const DS: ::c_int = 23;
935+
pub const ES: ::c_int = 24;
936+
pub const FS: ::c_int = 25;
937+
pub const GS: ::c_int = 26;
938+
910939
extern {
911940
pub fn getcontext(ucp: *mut ucontext_t) -> ::c_int;
912941
pub fn setcontext(ucp: *const ucontext_t) -> ::c_int;

0 commit comments

Comments
 (0)