Commit Graph

479 Commits

Author SHA1 Message Date
4lDO2 a2ab86d253 Implement signal selection in asm, for SA_ONSTACK. 2024-07-09 15:00:53 +02:00
4lDO2 7d562920c2 Add sigaction boilerplate. 2024-07-09 15:00:52 +02:00
4lDO2 53ed7aae59 Move rlct_clone, sigprocmask, sigaction, to rt. 2024-07-09 15:00:52 +02:00
4lDO2 4eb20628f3 Move some of signal config to redox-rt. 2024-07-09 15:00:52 +02:00
4lDO2 a800693266 Refactor: move redox-exec into redox-rt::proc. 2024-07-09 15:00:52 +02:00
4lDO2 4c11b607de Implement pread and pwrite using the syscalls. 2024-06-14 14:10:47 +02:00
Jeremy Soller b7a4527ab8 Do not print on unsupported epoll flags 2024-05-06 15:24:56 -06:00
Jeremy Soller 8ab61e3d9a Convert syscall events to EPOLL events 2024-05-06 15:16:31 -06:00
Jeremy Soller 0f5e6a5649 Correct EPOLL constants 2024-05-06 15:00:50 -06:00
Jeremy Soller 59e7d2d70f Return 0 when epoll_ctl is successful 2024-05-06 14:29:21 -06:00
Jeremy Soller 371cde006b Format 2024-05-06 14:28:42 -06:00
Jacob Lorentzon 1fba2ef10a Various futex fixes 2024-04-05 20:31:06 +00:00
4lDO2 c53c38bcae Fix double slashes in fpath. 2024-04-02 15:10:03 +02:00
4lDO2 e0a3811736 Protect fork() and clone() behind a rwlock.
rlct_clone will acquire a read lock, whereas fork will acquire a write
lock. The write lock is necessary because the fork will clone the file
table, which would result in other threads' fork/clone file descriptors
not being closed. If an address space switch fd never gets closed, fork
child processes and new threads, may never switch address spaces before
they are started, which has resulted in hard-to-debug RIP=0 instr fetch
page faults.
2024-03-27 10:30:49 +01:00
4lDO2 6e1a0668aa Fix i686 signal trampoline asm. 2024-03-25 11:26:59 +01:00
4lDO2 df91c67cf0 Implement redox_mkfs_v1. 2024-03-18 17:18:42 +01:00
4lDO2 53f7b640bd Update redox_syscall. 2024-03-17 18:13:05 +01:00
4lDO2 f2c53e03ee Implement the event queue ABI. 2024-03-17 18:02:07 +01:00
Jacob Lorentzon e0b640d530 Implement new low-level signal trampoline 2024-03-17 16:58:42 +00:00
bjorn3 7ac379a7a1 Fix thread spawning on aarch64
* Correctly align the stack
* Fix argument order of the ldp instructions
* Remove unnecessary ldr x5 instruction
2024-03-17 17:09:41 +01:00
Peter Limkilde Svendsen a7137512fa Use standard casing and mangling for internal errno 2024-03-01 00:25:42 +00:00
Peter Limkilde Svendsen 9093f6bc47 Use Cell representation for errno 2024-02-29 14:07:40 +00:00
Jeremy Soller 534e7ef80c Make redox fpath only return new format 2024-02-12 15:09:13 -07:00
Jeremy Soller 7eefdaf45b Use redox-path external crate 2024-01-18 11:07:51 -07:00
Jeremy Soller 02ac8a6363 Move redox path handling to redox-path crate 2024-01-17 15:51:11 -07:00
Jeremy Soller ffe152cc51 Fall back to the file scheme if no scheme provided 2024-01-17 15:09:20 -07:00
Jeremy Soller d4b0e172f0 Add recvmsg (stub on redox) 2024-01-16 19:47:39 -07:00
Darley Barreto 298340abf9 Remove ralloc 2024-01-13 10:57:02 -03:00
Jeremy Soller 52612784b6 Add sendmsg stub 2024-01-12 15:36:01 -07:00
4lDO2 375e0c78bf Add a strerror_r-like libredox API. 2024-01-11 16:12:58 +01:00
4lDO2 5630b6e0df Make relibc (except libm) pure Rust 2024-01-11 13:08:06 +00:00
Jeremy Soller 107fcfeb7e Implement getsid and setsid for Redox 2024-01-08 14:43:35 -07:00
Ron Williams 0340ba3b36 fix canonicalize of libc: 2024-01-05 05:26:51 -08:00
Jeremy Soller 6b88ad6271 Merge branch 'inline-core-io' into 'master'
Refactor: inline `core_io`

Closes #175

See merge request redox-os/relibc!441
2024-01-03 19:19:58 +00:00
Jeremy Soller b1383a960d Merge branch 'ae/impl-mknod' into 'master'
Implement mknod and mknodat

See merge request redox-os/relibc!442
2024-01-03 16:43:28 +00:00
Abdullah Emad 0caf011122 Implement mknod and mknodat 2024-01-03 16:43:28 +00:00
Ron Williams b54cadb88f add libc scheme for /dev/tty etc. 2024-01-02 02:20:45 -08:00
Arthur Paulino d4eddbf42e Refactor: inline core_io
* Extract the minimal set of definitions from `core_io` to `relibc` itself

* Remove dependency on `core_io`
2023-12-24 17:06:27 -03:00
Jeremy Soller e2e401db41 Merge branch 'dlmalloc' into 'master'
Replace C dlmalloc

See merge request redox-os/relibc!430
2023-12-12 15:04:17 +00:00
Darley Barreto ce1e31d567 Replace C dlmalloc 2023-12-12 15:04:17 +00:00
Martin Welgemoed 02780057f0 Fixed utimes segfault when given nullptr 2023-12-07 15:39:38 +00:00
4lDO2 7f29349dbc Impl libredox fstat{,vfs}, futimens, clock_gettime. 2023-11-05 13:35:37 +01:00
Jeremy Soller 79ef751d7d Merge branch 'cstr' into 'master'
Switch to a lightweight CStr wrapper

See merge request redox-os/relibc!431
2023-11-04 18:29:38 +00:00
4lDO2 75d1c67ca2 Switch to a lightweight CStr wrapper 2023-11-04 18:29:38 +00:00
4lDO2 b5a4dc65e5 Implement redox_{mmap,munmap}_v1. 2023-11-04 16:41:06 +01:00
4lDO2 ae46e37ca7 Run rustfmt 2023-10-26 15:51:04 +02:00
4lDO2 b6b1ea5488 Fix incorrect libredox libc crate usage. 2023-10-26 15:35:15 +02:00
4lDO2 966c59ca0c Make escalated communication pathless using sendfd. 2023-10-19 17:17:18 +02:00
4lDO2 16b5837d31 Fix Linux compilation error. 2023-10-12 20:10:40 +02:00
4lDO2 920bafb130 Impl libredox getpid, kill, sigprocmask, sigaction. 2023-10-08 12:21:54 +02:00