Add missing signal arch offsets.

This commit is contained in:
4lDO2
2024-06-20 22:43:25 +02:00
parent 58d1153536
commit a60710c597
2 changed files with 9 additions and 3 deletions
+3 -3
View File
@@ -5,7 +5,7 @@ use syscall::data::Sigcontrol;
use syscall::error::*;
use crate::proc::{fork_inner, FdGuard};
use crate::signal::inner_c;
use crate::signal::{inner_c, RtSigarea};
// Setup a stack starting from the very end of the address space, and then growing downwards.
pub(crate) const STACK_TOP: usize = 1 << 47;
@@ -231,8 +231,8 @@ asmfunction!(__relibc_internal_sigentry: ["
sc_saved_rflags = const offset_of!(Sigcontrol, saved_flags),
sc_saved_rip = const offset_of!(Sigcontrol, saved_ip),
sc_saved_rsp = const offset_of!(Sigcontrol, saved_sp),
tcb_sa_off = const 0, // FIXME
tcb_sc_off = const 0, // FIXME
tcb_sa_off = const offset_of!(crate::Tcb, os_specific) + offset_of!(RtSigarea, arch),
tcb_sc_off = const offset_of!(crate::Tcb, os_specific) + offset_of!(RtSigarea, control),
supports_xsave = sym SUPPORTS_XSAVE,
]);
+6
View File
@@ -2,6 +2,10 @@
#![feature(asm_const, array_chunks, int_roundings, let_chains, slice_ptr_get, sync_unsafe_cell, thread_local)]
#![forbid(unreachable_patterns)]
use generic_rt::GenericTcb;
use self::signal::RtSigarea;
extern crate alloc;
#[macro_export]
@@ -33,3 +37,5 @@ pub mod auxv_defs;
pub mod signal;
pub mod sync;
pub mod thread;
pub type Tcb = GenericTcb<RtSigarea>;