Jeremy Soller
52ceed2f67
Merge branch 'doc-netdb-and-poll' into 'master'
...
Doc netdb and poll
See merge request redox-os/relibc!785
2025-12-08 06:16:57 -07:00
auronandace
1ed1096e60
add clippy annotation to netdb thanks to safety note
2025-12-08 08:41:00 +00:00
auronandace
651768ad54
only import the needed types in netdb and poll
2025-12-08 08:34:38 +00:00
auronandace
e45c7de6f6
update and add spec links for netdb and poll
2025-12-08 08:30:17 +00:00
Jeremy Soller
ff7ab99baf
Merge branch 'fix-time-test' into 'master'
...
mark timespec_get and timespec_getres as unsafe and annotate no mangle
See merge request redox-os/relibc!784
2025-12-07 15:49:07 -07:00
auronandace
27bd869119
mark timespec_get and timespec_getres as unsafe and annotate no mangle
2025-12-07 21:07:49 +00:00
Jeremy Soller
fe5273890a
Merge branch 'cleanup_exec2' into 'master'
...
Hard code the default scheme to file
See merge request redox-os/relibc!783
2025-12-07 12:37:08 -07:00
bjorn3
4dae665cbf
Hard code the default scheme to file
...
Init no longer changes the default scheme to initfs at any point in
time. And for sandboxing you would be switching scheme namespace, not
default scheme.
It should be possible to mix and match relibc version from before and
after this change without breaking exec, though I haven't tested it.
2025-12-07 19:51:45 +01:00
Jeremy Soller
d3f54836d1
Merge branch 'cleanup_exec' into 'master'
...
Account for nul terminator in total_args_envs_auxvpointee_size
See merge request redox-os/relibc!782
2025-12-07 11:40:27 -07:00
bjorn3
45a58f1a9e
Account for nul terminator in total_args_envs_auxvpointee_size
2025-12-07 19:38:14 +01:00
Jeremy Soller
8f38bbe511
Merge branch 'cleanup_exec' into 'master'
...
Calculate total_args_envs_size in redox_rt::proc::fexec_impl
See merge request redox-os/relibc!781
2025-12-07 11:31:56 -07:00
Jeremy Soller
9ace82b9e1
Merge branch 'printf-negative-precision-fix' into 'master'
...
printf: use None if precision given in the next argument is negative
See merge request redox-os/relibc!779
2025-12-07 11:29:01 -07:00
bjorn3
6021ece539
Calculate total_args_envs_size in redox_rt::proc::fexec_impl
...
Calculating it earlier is a micro-optimization that doesn't seem like it
matters at all compared to all other costs of spawning a process. But at
the same time it makes things more fragile. And in fact bootstrap
actually passed the wrong value. It passed the
total_args_envs_auxvpointee_size that it computed rather than the
total_args_envs_size. While over-approximation doesn't cause UB, it
unnecessarily increases the amount of memory used after exec.
In addition pass &[&[u8]] rather than iterators for args and envs to
enable precomputing the total arg and env size. This also prevents you
from forgetting to pass a reversed iterator.
2025-12-07 18:52:47 +01:00
Jeremy Soller
6609f127be
Merge branch 'doc-select-utsname' into 'master'
...
Doc select utsname
See merge request redox-os/relibc!780
2025-12-07 10:13:47 -07:00
auronandace
bb7ad19792
only import the needed types for sys_utsname and sys_select
2025-12-07 17:04:59 +00:00
auronandace
64d688dc4e
update and add spec links to sys_utsname and sys_select
2025-12-07 17:01:51 +00:00
Connor-GH
1b86d87475
printf: use None if precision given in the next argument is negative
2025-12-07 10:16:33 -06:00
Jeremy Soller
228420291e
Merge branch 'dlinfo-alias' into 'master'
...
Fix Dl_info alias not exported
See merge request redox-os/relibc!778
2025-12-05 06:15:10 -07:00
Wildan M
8e4e43dcc4
Fix Dl_info alias not exported
2025-12-05 16:14:29 +07:00
Jeremy Soller
2a7c7c5d42
Merge branch 'impl-timespec_get' into 'master'
...
Implement timespec_get and timespec_getres
See merge request redox-os/relibc!777
2025-12-04 14:00:24 -07:00
Josh Megnauth
4538fdb0c9
Implement timespec_get and timespec_getres
...
`timespec_get` and `timespec_getres` are both C23 functions. They're
similar to the POSIX functions `clock_gettime` and `clock_getres`, but
both sets of functions define extra, exclusive features. I didn't
implement the extra features yet, partially because Redox doesn't seem
to support them yet either.
2025-12-04 20:38:35 +00:00
Jeremy Soller
14b011da84
Merge branch 'p0' into 'master'
...
fix(platform/redox): add missing imports
See merge request redox-os/relibc!776
2025-12-04 08:33:53 -07:00
Anhad Singh
e7b6c25d72
fix(platform/redox): add missing imports
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-05 01:07:18 +11:00
Jeremy Soller
ca669fc60d
Merge branch 'doc-locale-and-sched' into 'master'
...
Doc locale and sched
See merge request redox-os/relibc!775
2025-12-04 06:20:21 -07:00
auronandace
1ce298eaa9
only import needed types in locale and sched
2025-12-04 09:11:57 +00:00
auronandace
f0850889d2
update and add spec links to locale and sched
2025-12-04 09:08:14 +00:00
Jeremy Soller
1b6c0d94b9
Merge branch 'p0' into 'master'
...
fix(platform/redox): fstatat
See merge request redox-os/relibc!774
2025-12-03 17:53:51 -07:00
Anhad Singh
5e1036bc15
fix(platform/redox): fstatat
...
This commit fixes multiple issues with `fstatat` implementation for
Redox.
1. `flags` are now properly handled. The `flags` argument specifies AT_* flags
not O_* flags.
2. Open with O_PATH to avoid actually *opening* the file which may block
or cause permission issues.
3. Close the temporary file descriptor regardless of success of failure.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-04 11:31:24 +11:00
Jeremy Soller
9baf4d5c68
Merge branch 'doc-sysstat-and-syssocket' into 'master'
...
Doc sysstat and syssocket
See merge request redox-os/relibc!773
2025-12-03 07:47:14 -07:00
auronandace
1e27ad561f
only import needed types in sys_socket and sys_stat
2025-12-03 14:16:19 +00:00
auronandace
cae30932b3
update and add spec links in sys_socket and sys_stat
2025-12-03 14:06:55 +00:00
Jeremy Soller
c24f4bdd54
Merge branch 'correct-dlfcn' into 'master'
...
Correct dlfcn
See merge request redox-os/relibc!772
2025-12-03 03:50:08 -07:00
auronandace
5e6c9b8868
make Dl_info_t the type and Dl_info the alias
2025-12-02 20:26:28 +00:00
auronandace
a702cb9555
only imported needed types in dlfcn
2025-12-02 20:24:05 +00:00
Jeremy Soller
96c0c058f5
Merge branch 'cleanup-sys-wait' into 'master'
...
Cleanup sys wait
See merge request redox-os/relibc!771
2025-12-02 12:43:07 -07:00
auronandace
68b4693564
only import needed types in sys_wait
2025-12-02 19:37:16 +00:00
auronandace
ec9fd09335
update header spec link, add spec links to functions
2025-12-02 19:34:32 +00:00
auronandace
ccc1d0b6fe
remove commented out wait3 and rusage
2025-12-02 19:30:19 +00:00
Jeremy Soller
cf3aaf4e43
Merge branch 'only-needed-sys-un-uio' into 'master'
...
only import the needed types in sys_un and sys_uio
See merge request redox-os/relibc!770
2025-12-02 09:54:04 -07:00
auronandace
02b302253b
only import the needed types in sys_un and sys_uio
2025-12-02 15:41:01 +00:00
Jeremy Soller
f15163704e
Merge branch 'master' into 'master'
...
fix(all): aarch64 compilation
See merge request redox-os/relibc!769
2025-11-30 21:16:31 -07:00
Anhad Singh
1fdddef6a0
fix(ld_so): linker script for aarch64-unknown-linux-gnu
...
Ignore TLS.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 15:10:50 +11:00
Anhad Singh
a7d08aa37e
fix(tests/getopt_long): c should be an int not a char
...
`getopt_long` returns an `int` not a `char`. On aarch64 `char` is
unsigned but on x86 is signed. This is why it had worked so far without
any issues.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:55:00 +11:00
Anhad Singh
6bcdac4202
fix(platform/linux): use FCHOWNAT to implement lchown(2)
...
`LCHOWN` syscall is not available on aarch64.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:46:08 +11:00
Anhad Singh
6d68ca9957
fix(platform/linux): use FACCESSAT to implement access(2)
...
`ACCESS` syscall is not available on aarch64.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:46:08 +11:00
Anhad Singh
90963fdfb9
feat(platform/linux): stub rlct_clone
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:46:07 +11:00
Anhad Singh
4f1920ab96
feat(ld_so/tcb): implement os_arch_activate for aarch64 linux
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:46:07 +11:00
Anhad Singh
6262c4ae50
fix(ld_so): getting TP on linux
...
`ARCH_GET_FS` is x86_64 specific. On aarch64 it is not platform
specific and just need to read out the TP from `TPIDR_EL0`
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:46:07 +11:00
Anhad Singh
35a10eb940
feat(ld_so): add linker script for aarch64-unknown-linux-gnu
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:46:07 +11:00
Anhad Singh
7f21c95503
misc(Cargo.toml): bump sc
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-01 14:46:07 +11:00