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