llvm-capstone/libc/startup
Schrodinger ZHU Yifan 2bc994456c
[libc] major refactor of startup library (#76092)
* separate initialization routines into _start and do_start for all
architectures.
* lift do_start as a separate object library to avoid code duplication.
* (addtionally) address the problem of building hermetic libc with
-fstack-pointer-*

The `crt1.o` is now a merged result of three components:

```
___
  |___ x86_64
  |      |_______ start.cpp.o    <- _start (loads process initial stack and aligns stack pointer)
  |      |_______ tls.cpp.o      <- init_tls, cleanup_tls, set_thread_pointer (TLS related routines) 
  |___ do_start.cpp.o            <- do_start (sets up global variables and invokes the main function) 
```
2024-01-04 12:51:14 -08:00
..
gpu [libc] Remove the optional arguments for NVPTX constructors (#69536) 2023-11-20 17:10:15 -06:00
linux [libc] major refactor of startup library (#76092) 2024-01-04 12:51:14 -08:00
CMakeLists.txt