Jeremy Soller
ced734c162
Add RawCell::unsafe_set
2025-10-04 07:50:16 -06:00
Jeremy Soller
82084440ad
Support nightly-2025-10-03
2025-10-03 21:51:10 -06:00
Jeremy Soller
a1db57a5a3
Get main function in crt0 to fix dynamic linking issues
2025-05-03 11:20:20 -06:00
4lDO2
e6c06a7cf7
Fix signals for spawned threads, and async signal waiting.
2025-04-19 19:27:03 +02:00
4lDO2
ad5efd0f11
Reach init fork
2025-04-19 19:26:57 +02:00
Anhad Singh
de9e8a6177
feat(ld.so): config
...
Currently supported options are `LD_DEBUG` and `LD_LIBRARY_PATH`.
Signed-off-by: Anhad Singh <andypython@protonmail.com >
2024-12-17 01:07:17 +11:00
Peter Limkilde Svendsen
06fec0b843
Add various basic docstrings
2024-10-27 23:25:57 +01:00
Andrey Turkin
a4122753e6
Initial RISC-V64 support
2024-10-11 06:44:54 +03:00
4lDO2
a1e1a159ae
Initialize altstack properly.
2024-07-09 15:00:54 +02:00
4lDO2
58d1153536
Split part of TCB into generic-rt
2024-07-09 15:00:53 +02:00
4lDO2
edfe46c60b
Write x86-64 signal trampoline asm stub.
2024-07-09 15:00:52 +02:00
4lDO2
53ed7aae59
Move rlct_clone, sigprocmask, sigaction, to rt.
2024-07-09 15:00:52 +02:00
4lDO2
4eb20628f3
Move some of signal config to redox-rt.
2024-07-09 15:00:52 +02:00
Jacob Lorentzon
e0b640d530
Implement new low-level signal trampoline
2024-03-17 16:58:42 +00:00
Darley Barreto
ce1e31d567
Replace C dlmalloc
2023-12-12 15:04:17 +00:00
4lDO2
75d1c67ca2
Switch to a lightweight CStr wrapper
2023-11-04 18:29:38 +00:00
4lDO2
b9f19f4326
Get pcid to work using this pthread impl.
2023-05-06 17:02:51 +02:00
Jeremy Soller
16abc91341
cargo fmt and cargo fix
2022-11-11 13:27:18 -07:00
Jeremy Soller
367be58666
Set linker_ptr when using static TLS
2022-09-11 11:11:49 -06:00
4lDO2
54b3f873f8
Move cwd from kernel to relibc.
2022-08-13 19:16:45 +02:00
Jeremy Soller
dc865148fc
Get Linux to compile again
2022-07-27 10:10:41 -06:00
4lDO2
ed196516a2
Only inherit environ from ldso if previously NULL.
2022-07-26 21:34:48 +02:00
4lDO2
4e5ccbffd1
Allow constructors to access env vars.
2022-07-26 21:34:48 +02:00
4lDO2
c95d276af9
Allow POSIX's environ to be set.
...
Rust's libstd for example uses environ when using the `envs` builder
method for spawning processes, and therefore relibc cannot simply assume
environ will always point to the internal relibc env var Vec.
2022-07-26 21:33:01 +02:00
4lDO2
2186cd1fbd
Implement fexec in userspace.
2022-07-26 21:32:56 +02:00
Jeremy Soller
65bd3ed1e3
Fixes for program_invocation_name and program_invocation_short_name
2021-11-30 10:27:24 -07:00
Mateusz Tabaka
58cc9efbc0
Call pthread_init in libc's init_array
2020-09-29 19:20:24 +02:00
Jeremy Soller
ae8e070b9e
Init TLS before allocator
2020-08-02 14:32:28 -06:00
oddcoder
37a462de5d
Apply cargo fmt to the whole repo
2020-07-19 21:27:38 +02:00
oddcoder
f4f68a3441
Make use of mspaces
2020-07-18 21:03:46 +02:00
oddcoder
3a8817072c
Initialize the mspaces of allocator and keep track of it
2020-07-18 21:03:20 +02:00
oddcoder
b717f6cf5a
Move IO Initialization to .init_array section
...
Most shared object in linux have their initialization in a separate
.init_array section. but glibc does not have the same behavour. Instead
the initialization is part of crt0. which (as it seams to me) run after
.init_array section. As such, this patch move IO initialization to
separate function that is marked as .init_array member and then the crt0
call this function only if init_array was never invoked (as in
statically linked binaries).
2020-04-19 14:21:23 +02:00
jD91mZM2
b8c50c7c64
Format
2019-08-04 19:05:45 +02:00
jD91mZM2
c7d499d4f2
Upgrade to the 2018 edition
...
I didn't think it'd be this useful first, but thank god for `cargo fix --edition`!
2019-08-04 19:05:45 +02:00
Jeremy Soller
05f71567ab
Format
2019-07-06 19:37:13 -06:00
Jeremy Soller
6a069d1d9e
Add static TLS init on Linux
2019-06-30 21:31:57 -06:00
Jeremy Soller
2a68c68dc6
Use the same Stack struct for ld_so start as for relibc start
2019-06-30 21:31:31 -06:00
Mateusz Mikuła
7597c082e7
Fix Clippy warnings
2019-05-11 22:34:13 +02:00
Jeremy Soller
7bde036031
Remove va_list submodule, format
2019-04-21 15:45:55 -06:00
Jeremy Soller
42f212e678
Verify current system before continuing.
2019-01-27 15:53:09 -07:00
Jeremy Soller
c71088e768
Cleanup and format
2019-01-14 21:07:24 -07:00
Jeremy Soller
0c5abf0361
Combine all libraries into libc.a, call pthread_init and pthread_terminate in libc
2019-01-07 19:11:30 -07:00
Jeremy Soller
ae115ac6ff
Run pre-init array before _init
2018-12-11 21:01:10 -07:00
Jeremy Soller
e764fedba5
Remove unnecessary extern C function
2018-12-11 09:17:33 -07:00
Jeremy Soller
4a4e641b23
Update pthreads-emb
2018-12-11 08:02:47 -07:00
Jeremy Soller
756a0d2edc
Initialize pthreads if it is linked
2018-12-09 19:59:33 -07:00
Jeremy Soller
f9b836d23e
Add more pte functions
2018-12-09 15:28:45 -07:00
Jeremy Soller
e8377d259a
Mutable argv
2018-12-02 20:14:33 -07:00
Jeremy Soller
52fd4d7e83
Clippy fixes
2018-12-02 08:04:53 -07:00
Jeremy Soller
0ac16556bc
Format
2018-11-25 10:34:42 -07:00