Commit Graph

3231 Commits

Author SHA1 Message Date
Jeremy Soller f2ff75606e Merge branch 'doc-wchar' into 'master'
Doc wchar

See merge request redox-os/relibc!808
2025-12-16 07:02:52 -07:00
auronandace e913e2447b fix fmt 2025-12-16 11:20:37 +00:00
auronandace 59295af7d8 mark 2 functions as unsafe 2025-12-16 11:14:02 +00:00
auronandace e041d5b552 only import needed types 2025-12-16 11:10:55 +00:00
auronandace 973b96a727 update and add spec links 2025-12-16 10:59:38 +00:00
Jeremy Soller 6a362acb4f Merge branch 'fix-strlcpy-and-strlcat' into 'master'
fix strlcpy and strlcat

See merge request redox-os/relibc!804
2025-12-15 07:01:28 -07:00
auronandace c2da2a8e47 fix expected output of strcpy test 2025-12-15 08:28:25 +00:00
auronandace 6c62e7e401 fix strlcpy and strlcat 2025-12-15 07:58:44 +00:00
Jeremy Soller ec8d28b164 Merge branch 'doc-pthread' into 'master'
Doc pthread

See merge request redox-os/relibc!800
2025-12-13 14:49:59 -07:00
auronandace d2429a1164 only import the needed types 2025-12-13 21:10:51 +00:00
auronandace 59e028d96d Update and add spec links 2025-12-13 20:56:02 +00:00
Jeremy Soller ea9c546d9b Merge branch 'doc-sys-times-and-termios' into 'master'
update and add spec links and only import needed types for sys_times and termios

See merge request redox-os/relibc!799
2025-12-13 06:28:59 -07:00
auronandace eff0a795bc update and add spec links and only import needed types for sys_times and termios 2025-12-13 08:56:43 +00:00
Jeremy Soller d5d64994e7 Merge branch 'doc-regex' into 'master'
Doc regex

See merge request redox-os/relibc!798
2025-12-12 14:25:46 -07:00
auronandace db82136fe4 only import needed types in regex 2025-12-12 21:08:31 +00:00
auronandace 2b4c2f9ddf update and add spec links to regex 2025-12-12 21:06:15 +00:00
Jeremy Soller 9db10bb0a9 Merge branch 'master' into 'master'
fix(redox-rt/proc): `min_mmap_addr` being set too low

See merge request redox-os/relibc!796
2025-12-12 07:01:22 -07:00
Anhad Singh f7aa718596 fix(redox-rt/proc): min_mmap_addr being set too low
`cmp::min` -> `cmp::max` Want to make sure we set the `min_mmap_addr` to
the top of the executable.

`update_min_mmap_addr(STACK_TOP - STACK_SIZE, STACK_SIZE);` needs to be
removed since we cannot allocate above that.

Reverts to the old behaviour. In future may want to consider loading the
executeable here instead of the dynamic linker (and before the dynamic
linker) to avoid any further conflicts.

Fixes `gcc` crashing at "failed to map
/usr/libexec/gcc/x86_64-unknown-redox/13.2.0/cc1. errno: 17" (where 17
-> EEXIST).

Co-authored-by: @bjorn3
Signed-off-by: Anhad Singh <andypython@protonmail.com>
2025-12-12 17:49:36 +11:00
Jeremy Soller 41c627b2e7 Merge branch 'doc-grp' into 'master'
Doc grp

See merge request redox-os/relibc!795
2025-12-11 09:25:32 -07:00
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