Jeremy Soller
44512df6a3
Merge branch 'cleanup_exec4' into 'master'
...
Use non-fixed and anonymous remote mmap and get rid of BTreeMap in redox-rt
See merge request redox-os/relibc!789
2025-12-09 13:05:43 -07:00
bjorn3
c96aeea39f
redox-rt: Get rid of BTreeMap usage in fexec_impl
2025-12-09 21:04:45 +01:00
bjorn3
0158b111e0
redox-rt: Use non-fixed and anonymous remote mmap
2025-12-09 21:04:40 +01:00
Jeremy Soller
02f6dd3faf
Merge branch 'master' into 'master'
...
fix(ld_so): dynamic linker on aarch64
See merge request redox-os/relibc!788
2025-12-09 06:28:14 -07:00
Anhad Singh
8572c855fc
feat(ld_so/dso): TLSDESC
...
The dynamic linker now works on aarch64. You can also try it on Linux by
setting `TEST_RUNNER` to `qemu-aarch64` when running `make test
TARGET=aarch64-unknown-linux-gnu`
Co-authored-by: @willnode
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-09 22:28:39 +11:00
Anhad Singh
979de28ebc
feat(aarch64/ld_so): implement _start routine
2025-12-09 15:07:11 +11:00
Anhad Singh
843f3f89ff
fix(tests/Makefile): use correct dynamic linker path depending on target
2025-12-09 15:02:34 +11:00
Anhad Singh
396a0d20bf
fix(build): target specific sysroot directory
2025-12-09 14:13:09 +11:00
Jeremy Soller
7fcab3a43a
Merge branch 'master' into 'master'
...
fix(ci): make it green
See merge request redox-os/relibc!786
2025-12-08 16:50:39 -07:00
Jeremy Soller
ee9040873a
Merge branch 'cleanup_exec3' into 'master'
...
Move cloexec handling to happen right before the final exec
Closes #234
See merge request redox-os/relibc!787
2025-12-08 16:48:24 -07:00
bjorn3
1ede79fe88
Move cloexec and deactivate_tcb handling into redox-rt
2025-12-08 22:19:57 +01:00
bjorn3
b607877c07
Move cloexec handling to happen right before the final exec
...
This way if the target can't be executed, cloexec fds remain open as
expected.
2025-12-08 20:39:55 +01:00
Anhad Singh
2575639212
fix(tests/time): explictly set timezone instead of assuming
2025-12-09 01:18:32 +11:00
Anhad Singh
eb4ce618e2
fix(header/time): define TIME_UTC
...
Workaround for a bug inside `cbindgen`. For some reason it does not like
us exporting constants that depend on other constants that are *not*
defined as a part of the same module.
2025-12-09 01:13:22 +11:00
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