Commit Graph

2286 Commits

Author SHA1 Message Date
Anhad Singh 2f8f12e3c7 misc(pthread/mutex): cleanup
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-01-28 01:05:11 +11:00
Anhad Singh d82240f228 fix(pthread/mutex): broken pthread_mutexattr_*
Regression of https://gitlab.redox-os.org/redox-os/relibc/-/merge_requests/890

* The unsafe block needs to be moved *outside* to make sure the `attr`
  is mutated.
* `RlctMutexAttr` was `Copy` which is not required.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-01-27 19:31:14 +11:00
Jeremy Soller 538fed80a0 Merge branch 'getaddrinfo-hang' into 'master'
Fix getaddrinfo hang due to infinite loop

See merge request redox-os/relibc!909
2026-01-23 00:25:10 -07:00
Anhad Singh f3d16d3fbd fix(pthread/tls): nit
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-01-23 14:29:35 +11:00
Anhad Singh 0f4a82b5e8 fix(pthread/tls): destructors
Also added tests for it.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-01-23 14:24:43 +11:00
Connor-GH 0baee310eb langinfo.h: add macros and a function for POSIX 2024
Additionally, the `CRNCYSTR` string was in the wrong place in
the string table. This has been fixed.

This completes all requirements for Sortie's os-test for the "include"
section of langinfo.
2026-01-22 18:11:32 -06:00
Jeremy Soller c2d759bfd1 Merge branch 'multiple_sigs' into 'master'
misc signal fixes

See merge request redox-os/relibc!873
2026-01-22 07:35:04 -07:00
Jacob Lorentzon eeba32b3a2 misc signal fixes 2026-01-22 07:35:04 -07:00
Connor-GH 7beaba6bce ctype/mod.rs: add locale_t type definition 2026-01-22 08:26:56 -06:00
Connor-GH 71d192fa4c ctype.h: add *_l family of functions
This commit adds all of the locale-based versions of the ctype
functions, like `isalpha_l`. This allows 14 more tests to pass for
os-test.
2026-01-22 07:39:24 -06:00
Wildan M 6a455159ae Fix getaddrinfo hang due to infinite loop 2026-01-22 16:48:13 +07:00
Connor-GH cfd291f698 ctype.h: add locale_t type 2026-01-21 19:20:10 -06:00
Connor-GH 89c0ff6570 psignal/psiginfo: complete TODOs and remove allocations
These implementations already passed the os-test test suite (and still
do after these changes), but I saw that they had some TODOs and some
overcomplicated code. If we want to be a fast libc, removing use of
`format!` where we can is likely a good first step because it
allocates memory.
2026-01-21 17:41:33 -06:00
Jeremy Soller ac7b3c2b74 Merge branch 'shadow-sysprocfs-cleanup' into 'master'
shadow and sys_procfs header cleanup

See merge request redox-os/relibc!901
2026-01-21 06:15:39 -07:00
auronandace f45bc46bfc shadow and sys_procfs header cleanup 2026-01-21 11:26:08 +00:00
auronandace cea71ae627 sgtty and sys_ioctl header cleanup 2026-01-21 10:50:36 +00:00
Jeremy Soller 3a8f64aa14 Merge branch 'namespace-improvement' into 'master'
Introduce namespace fd and related features

See merge request redox-os/relibc!797
2026-01-20 20:43:06 -07:00
Ibuki Omatsu 1bcb6dff78 Introduce namespace fd and related features 2026-01-20 20:43:05 -07:00
Jeremy Soller 4a50c8f313 Merge branch 'p12' into 'master'
fix(libc): use `ld.so`'s allocator

See merge request redox-os/relibc!882
2026-01-20 20:35:12 -07:00
sourceturner defd2ce7c3 Deny deny-unsafe_op_in_unsafe_fn on the crate level 2026-01-21 00:41:57 +01:00
sourceturner 582e6eba69 Use unsafe blocks in some more unsafe functions
Building with redoxer showed some more places
that have to use unsafe blocks
2026-01-21 00:41:43 +01:00
Connor-GH cedd1686ba string.h: don't pollute the namespace with locale.h
Previously, we included all of `<locale.h>` in order to get `locale_t`.
This commit separates it into a `<bits/locale-t.h>` header (generated by
cbindgen) to better deal with this.
2026-01-20 14:29:08 -06:00
auronandace 06971ff4bf stdlib header cleanup 2026-01-20 16:43:51 +00:00
auronandace c7e45afd23 cleanup strings endian and elf headers 2026-01-20 15:43:35 +00:00
Anhad Singh bbc86d8027 fix(libc): use ld.so's allocator
Previously, this was implemented incorrectly because `tcb.mspace` was
set just *before* jumping to the program's entry point. However,
`alloc_init` is called when the init functions are run for `libc.so`, so
`tcb.mspace` must be initialized *before* the init functions are
run.

Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-01-20 14:00:29 +11:00
Connor-GH 8544c078eb Fix CI regression caused by 0934bcf1
Previously, the CI was failing to build because it didn't
see `locale_t` inside of `<string.h>`. This commit adds
a hacky fix to this so that CI stops failing.

For now, this pollutes the C namespace by including locale
functions and definitions inside of `<string.h>`. In the
future, we will come up with a mechanism to export `locale_t`
by itself.
2026-01-19 18:19:20 -06:00
Connor-GH 0934bcf13e Implement strxfrm_l, strcoll_l, and strerror_l
These implementations are effectively the same as the ones in musl.
2026-01-19 16:58:54 -06:00
Akshit Gaur 3754effab8 Add shutdown syscall 2026-01-19 21:58:06 +05:30
Anhad Singh c05e2da5b3 misc(all): formatting
Signed-off-by: Anhad Singh andypython@protonmail.com
2026-01-19 09:03:44 +00:00
Anhad Singh 81e6d4116a fix(redox/build): missing unsafe blocks
This change was made, commited, pushed and tested entirely on Redox :^)
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2026-01-19 08:42:41 +00:00
sourceturner df5d7b2adb Use unsafe blocks in start.rs 2026-01-18 21:57:21 +01:00
sourceturner 86ca639b14 Use unsafe blocks in raw_cell.rs 2026-01-18 21:56:53 +01:00
sourceturner 0107a29e00 Use unsafe blocks in out.rs 2026-01-18 21:56:20 +01:00
sourceturner b5291171d3 Use unsafe blocks in macros.rs 2026-01-18 21:55:50 +01:00
sourceturner 1af4be27c0 Use unsafe blocks in c_vec.rs 2026-01-18 21:54:40 +01:00
sourceturner f6b0b3fde0 Use unsafe blocks in c_str.rs 2026-01-18 21:53:43 +01:00
sourceturner de27858da2 Use unsafe blocks in pthread module 2026-01-18 21:51:49 +01:00
sourceturner 2d5ac47214 Use unsafe blocks in platform module 2026-01-18 21:51:33 +01:00
sourceturner 0f23c03ba4 Use unsafe blocks in io module 2026-01-18 21:51:08 +01:00
sourceturner 718dc53b87 Use unsafe blocks in wchar.h implementation 2026-01-18 21:25:10 +01:00
sourceturner 83815c7433 Use unsafe blocks in utmp.h implementation 2026-01-18 21:23:50 +01:00
sourceturner 61e098eb2c Use unsafe blocks in unistd.h implementation 2026-01-18 21:23:24 +01:00
sourceturner 2cf1a2d16a Use unsafe blocks in time.h implementation 2026-01-18 21:22:57 +01:00
sourceturner 3873cf9a28 Use unsafe blocks in termios.h implementation 2026-01-18 21:21:03 +01:00
sourceturner 1a7136e6c4 Use unsafe blocks in sys/wait.h implementation 2026-01-18 21:20:33 +01:00
sourceturner 560360cb08 Use unsafe blocks in sys/utsname.h implementation 2026-01-18 21:20:14 +01:00
sourceturner 3ccfc170ad Use unsafe blocks in sys/uio.h implementation 2026-01-18 21:19:40 +01:00
sourceturner 3bfd14fcab Use unsafe blocks in sys/time.h implementation 2026-01-18 21:19:08 +01:00
sourceturner 093b830148 Use unsafe blocks in syslog.h implementation 2026-01-18 21:18:45 +01:00
sourceturner 263567f2cc Use unsafe blocks in sys/statvfs.h implementation 2026-01-18 21:18:06 +01:00