Commit Graph

30 Commits

Author SHA1 Message Date
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
Jeremy Soller ebffc977b2 Reduce warnings 2018-11-10 07:52:45 -07:00
Jeremy Soller 39b999ccea Update to new rust-toolchain 2018-11-07 20:25:21 -07:00
jD91mZM2 1f3154b45c Invoke constructors and destructors
Huge thanks to @xtibor for both discovering that this was still an issue, and also providing information with how to fix it
2018-10-11 16:59:49 +02:00
Jeremy Soller 706a8de7a0 Call _init and _fini 2018-09-15 11:14:05 -06:00
Jeremy Soller bab4e2896a Format 2018-08-27 06:35:30 -06:00
Jeremy Soller ed00ddfb54 Fix remaining issues, move setjmp into relibc crate, move start logic into relibc 2018-08-26 12:28:27 -06:00
Jeremy Soller c63c930e4a Make it compile 2018-08-26 12:10:02 -06:00