auronandace
329c7c42f8
only import needed types
2025-12-11 15:10:03 +00:00
auronandace
a1b23a3dbf
update and add spec links to grp
2025-12-11 15:06:57 +00:00
Jeremy Soller
0fdd15b76d
Merge branch 'add-ci' into 'master'
...
Write unified test script and make test readable
See merge request redox-os/relibc!794
2025-12-10 11:37:25 -07:00
Wildan M
a948dffb38
Restore hangs workaround
2025-12-10 23:41:12 +07:00
Wildan M
31797971bc
Write unified test script and make test readable
2025-12-10 23:28:57 +07:00
Jeremy Soller
e2870172d8
Merge branch 'p2' into 'master'
...
fix(redox-rt/proc): `from_raw` should negate `raw` for `KillProcTarget::ProcGroup`
See merge request redox-os/relibc!793
2025-12-10 06:17:26 -07:00
Jeremy Soller
89986a6b10
Merge branch 'arm-dynlink' into 'master'
...
Fix missing symbols for ARM dynamic linking
See merge request redox-os/relibc!763
2025-12-10 06:16:16 -07:00
Wildan Mubarok
d6eaa0dbf9
Fix missing symbols for ARM dynamic linking
2025-12-10 06:16:16 -07:00
Jeremy Soller
b8bae33fde
Merge branch 'master' into 'master'
...
fix(riscv64/x86): build
See merge request redox-os/relibc!792
2025-12-09 21:52:38 -07:00
Anhad Singh
3f986068e9
fix(redox-rt/proc): from_raw should negate raw for
...
`KillProcTarget::ProcGroup`
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-10 14:46:16 +11:00
Anhad Singh
aa86e9e027
fix(riscv64/x86): build
...
Stub `__tlsdesc_dynamic` for riscv64/x86 for now.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-10 13:52:37 +11:00
Jeremy Soller
b5aad8faab
Merge branch 'master' into 'master'
...
fix(ld_so): page faulting when library not found
See merge request redox-os/relibc!791
2025-12-09 19:28:06 -07:00
Anhad Singh
64d3793190
fix(ld_so): page faulting when library not found
...
The error handling was already in place. The reason it was page faulting
is that, on failure, the function exits as soon as it encounters an
`Err` variant. When that happens, the DSO object for which the
dependency was being loaded is dropped. Dropping it calls `munmap` to
unload the executable and also runs the functions in `.fini`. However,
`run_fini` should only be called if the `DSO` is being unloaded after it
has been successfully loaded (i.e. all dependencies were satisfied and
all init functions had run).
Closes #1599
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-10 13:24:53 +11:00
Jeremy Soller
7d6296f29d
Merge branch 'cleanup_exec5' into 'master'
...
redox-rt: Remove unnecessary image_file field from FexecResult::Interp
See merge request redox-os/relibc!790
2025-12-09 15:42:59 -07:00
bjorn3
dc77995b57
redox-rt: Remove unnecessary image_file field from FexecResult::Interp
2025-12-09 22:22:09 +01:00
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