Commit Graph

3175 Commits

Author SHA1 Message Date
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
Jeremy Soller c4941007c6 Merge branch 'document-sys-uio' into 'master'
update header spec reference and add spec references to functions

See merge request redox-os/relibc!768
2025-11-29 11:08:38 -07:00
auronandace 44cd0971b1 update header spec reference and add spec references to functions 2025-11-29 17:48:56 +00:00
Jeremy Soller 53e89724b7 Merge branch 'document-dlfcn' into 'master'
Document dlfcn

See merge request redox-os/relibc!767
2025-11-29 09:24:09 -07:00
auronandace 329db0dd9c add Dl_info_t alias for Dl_info 2025-11-29 15:33:31 +00:00
auronandace a25cf92162 update header reference and add references to functions 2025-11-29 15:22:39 +00:00
Jeremy Soller 8ad1d3c110 Merge branch 'fix-netdb-test' into 'master'
Move netdb to varied output test

See merge request redox-os/relibc!766
2025-11-29 06:44:56 -07:00
Jeremy Soller b15eb5c506 Merge branch 'impl-posix_fallocate' into 'master'
Implement posix_fallocate

See merge request redox-os/relibc!751
2025-11-29 06:44:34 -07:00
Wildan M 7e48f2d2fc Move netdb to varied output test 2025-11-28 19:08:32 -08:00