Commit Graph

2251 Commits

Author SHA1 Message Date
4lDO2 651445d0c9 Move forkpty test from EXPECT_NAMES to NAMES. 2024-08-10 13:08:11 +02:00
4lDO2 70e31a9454 Dup stdout rather than opening /dev/stdout.
The former is more portable, even on Linux if for example sudo/doas is used.
2024-08-10 13:00:13 +02:00
4lDO2 8dc3cca1e6 Allow (nonstandard?) pthread old{ty,state} == NULL 2024-08-10 12:59:20 +02:00
Jeremy Soller a38638542d Merge branch 'ctermid' into 'master'
Implement ctermid()

See merge request redox-os/relibc!490
2024-08-01 18:42:29 +00:00
Jeremy Soller dc9a577354 Merge branch 'mktime-timegm-refactor' into 'master'
Refactor mktime, timegm and fix wcpncpy test

See merge request redox-os/relibc!487
2024-08-01 18:42:01 +00:00
Peter Limkilde Svendsen 17076f37b9 Refactor mktime, timegm and fix wcpncpy test 2024-08-01 18:42:01 +00:00
Jeremy Soller 455d7323e9 Merge branch 'swscanf_works' into 'master'
swscanf and vswscanf implementation proposal

See merge request redox-os/relibc!472
2024-08-01 18:41:14 +00:00
Nicolás Antinori 198c5502b7 swscanf and vswscanf implementation proposal 2024-08-01 18:41:14 +00:00
Jeremy Soller af4fbf374e Merge branch 'dprintf' into 'master'
Implement dprintf and vdprintf

See merge request redox-os/relibc!489
2024-08-01 18:39:58 +00:00
Agoston Szepessy cdf5c70d5b Implement ctermid() 2024-07-25 11:32:26 +02:00
Agoston Szepessy bb1e8fe8d7 Implement dprintf and vdprintf 2024-07-23 22:15:53 +02:00
Jeremy Soller ce8181573c Merge branch 'getpass' into 'master'
Implement getpass()

See merge request redox-os/relibc!488
2024-07-23 19:31:23 +00:00
Agoston Szepessy b5f767ea30 More PR feedback
Use u8 internally instead of `c_char`.
2024-07-23 18:07:09 +02:00
Agoston Szepessy 99ade44c12 PR feedback
- Remove `stdio` functions and use `File` API completely.
- Remove `unsafe` from wrapper function.
- Move static buffer to `getpass()` instead of keeping it in wrapper.
2024-07-23 16:56:39 +02:00
Agoston Szepessy 545e9e7b29 Implement getpass using File API
Returns a Result for better error handling.
2024-07-23 16:07:25 +02:00
Agoston Szepessy a83d4cbced Implement getpass()
Also make fields in `termios` public; required for modifying them.

There's an new type of test: `EXPECT_INPUT_BINS`. These require a `.exp`
file to be present along with the `.c` file. The `.exp` file takes the
produced binary as an argument and sends input to the program. This is
useful for testing functions like `getpass()`.
2024-07-23 16:07:25 +02:00
Jeremy Soller 798d17c5b3 Add __rdl_oom to renamesyms 2024-07-21 21:38:20 -06:00
Jeremy Soller 853d5e2d0e Merge branch 'fix-cbindgen-panic' into 'master'
Exclude dirs during build with no cbindgen.toml

See merge request redox-os/relibc!486
2024-07-21 13:00:03 +00:00
Agoston Szepessy 51e264ddf2 Exclude dirs with no cbindgen.toml
Fixes the panic that occurs on builds.
2024-07-21 14:06:35 +02:00
Jeremy Soller 005fe68884 Merge branch 'pid' into 'master'
Process/thread distinction improvements

See merge request redox-os/relibc!485
2024-07-20 22:12:05 +00:00
4lDO2 5f62c30539 Update aarch64's child_hook. 2024-07-20 22:18:25 +02:00
4lDO2 f7d9f4e21e Fix infinite loop & spurious signals for i686. 2024-07-20 19:41:04 +02:00
4lDO2 b71c34dd2d Fix i686 fork. 2024-07-20 14:42:51 +02:00
4lDO2 35c9485701 WIP: Implement process signals for i686 trampoline. 2024-07-20 13:01:30 +02:00
4lDO2 232f6e9ade Fix hardcoding of SUPPORTS_AVX. 2024-07-19 18:44:21 +02:00
4lDO2 518ba4c884 Raise unblocked signals in setmask, restore control flag. 2024-07-19 18:41:00 +02:00
4lDO2 44ec1676ae Activate new threads' TCBs early. 2024-07-18 23:59:48 +02:00
4lDO2 01ce7f5aa1 Fix sigchld test. 2024-07-18 23:59:48 +02:00
4lDO2 d458b6cdcd Handle waitpid WUNTRACED stop signals properly. 2024-07-18 23:59:48 +02:00
4lDO2 1067295d65 Fix signal restart logic. 2024-07-18 23:59:48 +02:00
4lDO2 6dd9332af2 WIP: Handle spurious signals properly.
These can occur in the following scenario:

- thread 1 has blocked signal A
- thread 2 has not blocked signal A
- signal A is sent to a process with thread 1 and thread 2
- thread 1 is simultaneously unblocking signal A, and thus jumps to the
  trampoline
- thread 2 is awoken, but thread 1 won the "fetch_andn" to clear the
  signal bit.

If the signal asm is jumped to automatically after each timer interrupt,
this scenario will also be relatively common due to that.
2024-07-18 23:59:48 +02:00
4lDO2 ff7eace6a7 Obtain offset of sig pctl more sanely. 2024-07-18 23:59:48 +02:00
4lDO2 ac5ac928f2 Implement raise() using pthread_kill. 2024-07-18 23:59:48 +02:00
4lDO2 4354bc94e8 Fix process-targeted signals. 2024-07-18 23:59:47 +02:00
4lDO2 15cdc4e0aa Fix (modified) audiod. 2024-07-18 23:59:47 +02:00
4lDO2 d00ec085e1 WIP: Support receiving process-targeted signals. 2024-07-18 23:59:47 +02:00
4lDO2 0b3be2d190 Write correct value to kernel when exiting thread. 2024-07-18 23:59:47 +02:00
4lDO2 4cb6644181 Implement exit_this_thread on Redox. 2024-07-18 23:59:47 +02:00
4lDO2 c286dd6d33 Use new-thread proc API 2024-07-18 23:59:47 +02:00
4lDO2 bf26de70e2 Add setresuid/setresgid (suid/sgid stub on Redox). 2024-07-18 23:54:46 +02:00
Jeremy Soller 312b66e547 Merge branch 'usignal2' into 'master'
Implement syscall restart

See merge request redox-os/relibc!483
2024-07-17 09:38:41 +00:00
4lDO2 dfb234079e Fix signal fxrstor offset. 2024-07-16 14:46:09 +02:00
4lDO2 66a32016b5 Move sa_restart test to correct category. 2024-07-16 14:43:25 +02:00
4lDO2 22cab7ca8d Fix errors on non-x86_64. 2024-07-16 13:32:18 +02:00
4lDO2 17cb748217 Implement syscall restart for waitpid. 2024-07-16 12:48:14 +02:00
4lDO2 4c20a9abb2 Enable syscall restart in futex_wait. 2024-07-16 11:55:06 +02:00
Jeremy Soller aed9fe7c66 Merge branch 'random-bool-modfix' into 'master'
Fix missing modulo in random_bool()

See merge request redox-os/relibc!482
2024-07-16 09:16:21 +00:00
Peter Limkilde Svendsen e5be15cc9b Fix missing modulo in random_bool() 2024-07-16 09:16:20 +00:00
4lDO2 bcce7e18db Implement SA_RESTART for read and write. 2024-07-15 23:24:41 +02:00
Jeremy Soller 85faefc597 Merge branch 'safer-rand48' into 'master'
Refactor rand48 functions with less unsafe

See merge request redox-os/relibc!473
2024-07-15 17:44:57 +00:00