Speedy_Lex
2d4ab41de5
Cargo fmt
2026-05-07 00:05:13 +02:00
Speedy_Lex
eff610eac6
Fix many clippy lints
2026-05-07 00:05:07 +02:00
Connor-GH
7c8259dfd6
fix some lints caught by Clippy
...
Most of these changes are very simple. Among the changes made involve
taking advantage of auto-deref (`(*val).foo()` -> `val.foo()`) and
removing instances where we create a ref and immediately dereference it
(`&*val` -> `val`). There was a pretty neat case in `posix_openpt` where
some pointer verbosity was able to be reduced by using the more modern C
strings rather than the byte strings with an explicit NUL at the end.
Additionally, `exit()` now calls `unreachable!()` at the end. We
previously did `loop {}`, but clippy didn't like this. It can be up for
debate whether we want to make this `unreachable_unchecked` or similar.
There is only one change that might cause any sort of concern, and that
is the change from `.skip_while(!p).next()` -> `.find(p)`. This, like
everything else, was caught in a Clippy lint but I believe it deserves
some explanation because it isn't immediately obvious. Info about the
lint is here: https://rust-lang.github.io/rust-clippy/rust-1.89.0/index.html#skip_while_next
2026-04-30 19:02:35 -05:00
bjorn3
e34b259822
Cleanup building of libc.so and ld.so
2026-04-28 17:16:30 +02:00
sourceturner
ef46ff8746
rename RTLDState enum members
2026-04-22 21:58:02 +02:00
auronandace
b4009544a8
minor code cleanups
2026-04-03 14:39:56 +01:00
Peter Limkilde Svendsen
55f9c611b2
Fix most rustdoc warnings
2026-04-02 00:43:20 +02:00
Wildan M
e41052d307
Minor ld_so init improvement
2026-03-29 07:48:37 +07:00
Wildan M
459b8da27b
Implement ld_so cache backed by shm
2026-03-29 05:34:14 +07:00
auronandace
5c646e78a1
add as conversion back in for i586
2026-03-14 14:30:06 +00:00
auronandace
a01313467e
tackle some clippy lints in ld_so
2026-03-14 14:20:22 +00:00
auronandace
8a2bfa2ed5
tackle some lints
2026-03-10 18:20:06 +00:00
Wildan M
e45ec784b7
Fix dynamic linker hitting unwrap
2026-03-05 13:02:52 +07:00
auronandace
1421463dac
assorted cleanups and add some lints
2026-03-02 10:01:05 +00:00
bjorn3
599e53db89
Use consts for AT_* in static_init
2026-02-28 16:49:17 +01:00
Marsman
26dea09563
fix: improve error handling in DSO methods
2026-02-27 13:02:11 +00:00
auronandace
e1e9753c65
add upper_case_acronyms clippy lint and minor cleanups
2026-02-25 13:55:01 +00:00
Anhad Singh
1c5668acd4
feat(dso): do not zero memory
...
The region is mapped with the `MAP_ANONYMOUS` and thus already
initialised with zeros.
According to POSIX Issue 8:
> Anonymous memory objects shall be initialized to all bits zero.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-20 16:30:49 +11:00
Jeremy Soller
940352affe
Merge branch 'master' into 'master'
...
Revert "fix(ld.so): temporary rollback"
See merge request redox-os/relibc!1019
2026-02-19 07:22:35 -07:00
Anhad Singh
5568bb5a8a
Revert "fix(ld.so): temporary rollback"
...
This reverts commit 5cf865189d .
2026-02-18 10:57:08 +11:00
Jeremy Soller
6c6232ad70
Merge branch 'correct-unused-imports' into 'master'
...
remove allowed unused imports
See merge request redox-os/relibc!1012
2026-02-17 09:42:44 -07:00
Anhad Singh
5cf865189d
fix(ld.so): temporary rollback
...
See the "Redox OS/Support" channel. This commit temporarily fixes the
issue by rolling back the changes to preload the executable.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-18 02:36:03 +11:00
auronandace
53273c35c4
remove allowed unused imports
2026-02-17 15:35:58 +00:00
Anhad Singh
e3abf808f3
misc(ld.so): remove no_mangle for stage2
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-17 00:47:36 +11:00
Anhad Singh
d234e81fc9
fix(ld.so): debug build
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-17 00:15:10 +11:00
Anhad Singh
f5ebd7882d
misc(ld.so): minor cleanup
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-16 22:51:14 +11:00
Anhad Singh
0c3f88f462
misc(ld.so): fix logging
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-16 22:46:45 +11:00
Anhad Singh
371540d2ae
fix(ld.so/i586): build
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-16 17:04:01 +11:00
Anhad Singh
0430081f4a
feat(redox-rt): preload the executable
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-16 12:29:19 +11:00
Anhad Singh
8cb41ed4e2
feat(ld.so): shared library
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-15 19:14:07 +11:00
Anhad Singh
f9487321c0
fix(ld.so): base_addr
...
Not guaranteed that the program headers immediately follow the ELF
header.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-02-15 15:47:02 +11:00
auronandace
b9d956bacb
try again with allow
2026-02-10 18:04:40 +00:00
auronandace
8307ba25b3
missed some
2026-02-10 17:30:29 +00:00
auronandace
4a84b2f04c
tidy up lints and add zero_ptr
2026-02-07 14:58:02 +00:00
auronandace
be0bc8ca11
add clippy lint ref_as_ptr
2026-02-06 21:05:29 +00:00
auronandace
028061ca0f
add clippy lint ptr_as_ptr
2026-02-06 17:17:07 +00:00
auronandace
473bf0389a
start adding some clippy lints to Cargo.toml
2026-02-06 14:53:59 +00:00
auronandace
ac0a7e71f4
apply clippy::borrow-as-ptr lint
2026-02-03 12:02:26 +00:00
Wildan M
7b9402783d
Add log crate, use it to all trace cmd
2026-01-24 22:39:05 +07:00
Jeremy Soller
3a8f64aa14
Merge branch 'namespace-improvement' into 'master'
...
Introduce namespace fd and related features
See merge request redox-os/relibc!797
2026-01-20 20:43:06 -07:00
Ibuki Omatsu
1bcb6dff78
Introduce namespace fd and related features
2026-01-20 20:43:05 -07:00
Jeremy Soller
4a50c8f313
Merge branch 'p12' into 'master'
...
fix(libc): use `ld.so`'s allocator
See merge request redox-os/relibc!882
2026-01-20 20:35:12 -07:00
sourceturner
defd2ce7c3
Deny deny-unsafe_op_in_unsafe_fn on the crate level
2026-01-21 00:41:57 +01:00
Anhad Singh
bbc86d8027
fix(libc): use ld.so's allocator
...
Previously, this was implemented incorrectly because `tcb.mspace` was
set just *before* jumping to the program's entry point. However,
`alloc_init` is called when the init functions are run for `libc.so`, so
`tcb.mspace` must be initialized *before* the init functions are
run.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-01-20 14:00:29 +11:00
Anhad Singh
df647941c5
misc(pthread): remove the need for tid_mutex
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-01-09 22:55:58 +11:00
Anhad Singh
79c0df3dda
fix(ld_so/dso): TPOFF with undefined symbol index
...
Fixes random `rustc` errors/page fault:
```
Dump of assembler code for function _RNvYNCNkNvNtNtCskfd1poFMNVt_21rustc_data_structures4sync12worker_local8REGISTRY00INtNtNtCs713rKgAoQ4g_4core3ops8function6FnOnceTINtNtB1o_6option6OptionQIB23_INtNtNtB1o_4cell4once8OnceCellNtB8_8RegistryEEEEE9call_onceBc_:
0x0000000007651e50 <+0>: 41 56 push r14
0x0000000007651e52 <+2>: 53 push rbx
0x0000000007651e53 <+3>: 50 push rax
0x0000000007651e54 <+4>: 48 8b 1d 6d 9c 46 02 mov rbx,QWORD PTR [rip+0x2469c6d] # 0x9abbac8
0x0000000007651e5b <+11>: 64 48 8b 04 25 00 00 00 00 mov rax,QWORD PTR fs:0x0
0x0000000007651e64 <+20>: 0f b6 4c 18 08 movzx ecx,BYTE PTR [rax+rbx*1+0x8]
0x0000000007651e69 <+25>: 48 01 d8 add rax,rbx
0x0000000007651e6c <+28>: 83 f9 01 cmp ecx,0x1
0x0000000007651e6f <+31>: 74 07 je 0x7651e78 <_RNvYNCNkNvNtNtCskfd1poFMNVt_21rustc_data_structures4sync12worker_local8REGISTRY00INtNtNtCs713rKgAoQ4g_4core3ops8function6FnOnceTINtNtB1o_6option6OptionQIB23_INtNtNtB1o_4cell4once8OnceCellNtB8_8RegistryEEEEE9call_onceBc_+40>
0x0000000007651e71 <+33>: 83 f9 02 cmp ecx,0x2
0x0000000007651e74 <+36>: 75 0a jne 0x7651e80 <_RNvYNCNkNvNtNtCskfd1poFMNVt_21rustc_data_structures4sync12worker_local8REGISTRY00INtNtNtCs713rKgAoQ4g_4core3ops8function6FnOnceTINtNtB1o_6option6OptionQIB23_INtNtNtB1o_4cell4once8OnceCellNtB8_8RegistryEEEEE9call_onceBc_+48>
0x0000000007651e76 <+38>: 31 c0 xor eax,eax
0x0000000007651e78 <+40>: 48 83 c4 08 add rsp,0x8
0x0000000007651e7c <+44>: 5b pop rbx
0x0000000007651e7d <+45>: 41 5e pop r14
0x0000000007651e7f <+47>: c3 ret
0x0000000007651e80 <+48>: 48 8d 35 69 11 00 00 lea rsi,[rip+0x1169] # 0x7652ff0 <_RINvNtNtNtNtCs7Gz96wxcBnT_3std3sys12thread_local6native5eager7destroyINtNtNtCs713rKgAoQ4g_4core4cell4once8OnceCellNtNtNtCskfd1poFMNVt_21rustc_data_structures4sync12worker_local8RegistryEEB1U_.llvm.5183627946997663933>
0x0000000007651e87 <+55>: 48 89 c7 mov rdi,rax
0x0000000007651e8a <+58>: 49 89 c6 mov r14,rax
0x0000000007651e8d <+61>: ff 15 c5 6b 47 02 call QWORD PTR [rip+0x2476bc5] # 0x9ac8a58
0x0000000007651e93 <+67>: 4c 89 f0 mov rax,r14
0x0000000007651e96 <+70>: 64 48 8b 0c 25 00 00 00 00 mov rcx,QWORD PTR fs:0x0
# rcx = 0x20aeb000 [FSBASE]
# rbx = 0x2b40
0x0000000007651e9f <+79>: c6 44 19 08 01 mov BYTE PTR [rcx+rbx*1+0x8],0x1 # <--- PAGE FAULT
0x0000000007651ea4 <+84>: 48 83 c4 08 add rsp,0x8
0x0000000007651ea8 <+88>: 5b pop rbx
0x0000000007651ea9 <+89>: 41 5e pop r14
0x0000000007651eab <+91>: c3 ret
```
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2026-01-08 11:45:36 +11:00
Anhad Singh
75f6b9d64e
fix(dl-tls): TLS overallocation
...
* `offset` is the offset in TLS to copy initial data to NOT the segment
size
* Only zero the region which is required to be zeroed
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-29 17:13:23 +11:00
Anhad Singh
4245e9148e
fix(load_objects_recursive): TLS overallocation
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-27 01:12:07 +11:00
Anhad Singh
a7918b108d
misc(ld_so/start): consistent log formatting
...
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2025-12-22 19:06:10 +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