summaryrefslogtreecommitdiff
path: root/libc/startup/baremetal/init.cpp
AgeCommit message (Collapse)Author
2025-07-31[libc] Basic implementation of crt0 (#146863)William Huynh
In order to run hermetic tests downstream (#145349), we need startup code. This is based on the crt0 that is present in Arm Toolchain: https://github.com/arm/arm-toolchain/tree/5446a3cbf4ef73196ccce490fc9fbf87bee093aa/arm-software/embedded/llvmlibc-support/crt0. Note that some tests do fail due to lack of hardware setup, which will be implemented at a later time. Most of the CMake/structure is a copy from the existing code in both `libc/startup/linux` and `libc/startup/gpu`. It is required to build an object file to be linked with. Also add header files for init/fini such that crt0 can use the provided symbols. --------- Co-authored-by: Michael Jones <michaelrj@google.com>
2025-07-23[libc][NFC] Add stdint.h proxy header to fix dependency issue with ↵lntue
<stdint.h> includes. (#150303) https://github.com/llvm/llvm-project/issues/149993
2024-07-12[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98597)Petr Hosek
This is a part of #97655.
2024-07-12Revert "[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace ↵Mehdi Amini
declaration" (#98593) Reverts llvm/llvm-project#98075 bots are broken
2024-07-11[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98075)Petr Hosek
This is a part of #97655.
2024-07-09[libc] Move the internal extern "C" symbols inside the namespace (#98232)Petr Hosek
This ensures that these symbols inherit the namespace visibility.
2024-05-21[libc] Provide __libc_{init,fini}_array for baremetal (#90828)Petr Hosek
These are provided by newlib and many baremetal projects assume they're available rather than providing their own implementation.