Commit Graph

2195 Commits

Author SHA1 Message Date
4lDO2 67976e759e Switch to upstream syscall dependency. 2024-07-15 17:19:42 +02:00
4lDO2 315ba323a4 Move sigchld test from EXPECT_NAMES to NAMES. 2024-07-09 15:42:33 +02:00
4lDO2 44db740260 Update dependencies. 2024-07-09 15:39:58 +02:00
4lDO2 77c9e53ee2 Fix sigchld test. 2024-07-09 15:39:57 +02:00
4lDO2 284f51b47e Fix struct sigaction defintion. 2024-07-09 15:39:57 +02:00
4lDO2 cf390d6a52 Add SIGCHLD test. 2024-07-09 15:39:53 +02:00
4lDO2 b64b0ebe18 Handle kill and killpg EINTR. 2024-07-09 15:00:58 +02:00
4lDO2 78247c8525 Pass signal correctly to SYS_KILL. 2024-07-09 15:00:58 +02:00
4lDO2 4ee878c474 Always use fxsave, store 'YMM_UPPER' manually. 2024-07-09 15:00:58 +02:00
4lDO2 2fe1d614f8 Fix aarch64 EINTR handler. 2024-07-09 15:00:58 +02:00
4lDO2 5916b94707 Fix aarch64 fork_ret. 2024-07-09 15:00:58 +02:00
4lDO2 618643b299 Work around aarch64 bootstrap crash. 2024-07-09 15:00:58 +02:00
4lDO2 5277f2f640 Fix typo in currently_pending. 2024-07-09 15:00:58 +02:00
4lDO2 c9d22e484b Write draft aarch64 trampoline that compiles. 2024-07-09 15:00:58 +02:00
4lDO2 8298417dee Implement sigpending on Redox. 2024-07-09 15:00:58 +02:00
4lDO2 c639fd37ba Implement sigaltstack. 2024-07-09 15:00:57 +02:00
4lDO2 6d5d0eb61e Set initial sigactions to SIG_DFL and correct bits. 2024-07-09 15:00:57 +02:00
4lDO2 6a3d247a90 Clear the signal bit in the handler. 2024-07-09 15:00:57 +02:00
4lDO2 a446ac1945 Fix (rare) stack corruption on x86_64. 2024-07-09 15:00:57 +02:00
4lDO2 c0e079132a AND rather than set sigmask inside signal. 2024-07-09 15:00:57 +02:00
4lDO2 126daaa186 Improve i686 trampoline and fix PIC. 2024-07-09 15:00:57 +02:00
4lDO2 5460ffc4c9 Jump to trampoline after SYS_{READ,WRITE} EINTR. 2024-07-09 15:00:57 +02:00
4lDO2 a166a1ebb2 For now, put ptr to pctl in TCB. 2024-07-09 15:00:57 +02:00
4lDO2 63509e75ce Use new signal ABI where 'actions' are in shmem. 2024-07-09 15:00:56 +02:00
4lDO2 71800d2b73 Fix spurious ign signal. 2024-07-09 15:00:56 +02:00
4lDO2 f28fe4a387 Use fetch_add instead of CAS when setting sigmask.
This makes sigprocmask, the way it is currently implemented, wait-free
(technically I think x86 only guarantees LOCK XADD is lock-free and
fair, but still).
2024-07-09 15:00:56 +02:00
4lDO2 39f45b0f67 Fix i686 trampoline. 2024-07-09 15:00:56 +02:00
4lDO2 5b8d53ddd3 Fix x86_64 trampoline. 2024-07-09 15:00:56 +02:00
4lDO2 cda5f18946 Change interrupt stack format, emulate atomicity. 2024-07-09 15:00:56 +02:00
4lDO2 9bb34901bf Adjust trampolines, only ip and 'archdep' regs are saved. 2024-07-09 15:00:56 +02:00
4lDO2 568fc09277 Reset sighandler in fexec before switching addrsp. 2024-07-09 15:00:56 +02:00
4lDO2 442954915b Fix x86_64 spurious signal jump condition. 2024-07-09 15:00:56 +02:00
4lDO2 2d66993b3f Adapt to now-inverted signal mask (allowset). 2024-07-09 15:00:55 +02:00
4lDO2 157d9fb2ba Set sigmask to sa_mask inside handler. 2024-07-09 15:00:55 +02:00
4lDO2 630bf2ae3d Fix popf operand size. 2024-07-09 15:00:55 +02:00
4lDO2 590ad70a9f Fix trampoline for i686. Ctrl-C now works. 2024-07-09 15:00:55 +02:00
4lDO2 c93b43b4b7 Build on i686, remove unnecessary #[no_mangle]. 2024-07-09 15:00:55 +02:00
4lDO2 18b5c73b61 Compile on the other arches. 2024-07-09 15:00:55 +02:00
4lDO2 f37bb3cb16 Fix sigaction test on Linux, and rustfmt. 2024-07-09 15:00:55 +02:00
4lDO2 0ea2b5d45f Fix compilation on Linux. 2024-07-09 15:00:55 +02:00
4lDO2 3db425fef6 Correctly find signal number and check action. 2024-07-09 15:00:54 +02:00
4lDO2 98a2a566d9 Almost succeed at repeatedly accepting signals. 2024-07-09 15:00:54 +02:00
4lDO2 d6588668e2 Fix pre-Rust part of trampoline!. 2024-07-09 15:00:54 +02:00
4lDO2 a1e1a159ae Initialize altstack properly. 2024-07-09 15:00:54 +02:00
4lDO2 a265c8b7a0 Reimplement libredox sig{procmask,action}. 2024-07-09 15:00:54 +02:00
4lDO2 b6eb7dcf0f Impl From<Errno> for syscall::Error. 2024-07-09 15:00:54 +02:00
4lDO2 c217745524 Mark sig{add,del}set unsafe, rather than unsound. 2024-07-09 15:00:54 +02:00
4lDO2 8f66730d37 Set child sighandler *after* cloning address space. 2024-07-09 15:00:54 +02:00
4lDO2 20284eb2b2 Fix rlct_clone. 2024-07-09 15:00:54 +02:00
4lDO2 42c24dd755 Successfully run more userspace. 2024-07-09 15:00:53 +02:00