tiny_start/lib.rs
1//! A crate for code that cannot be disturbed by builtins for one of two reasons:
2//! 1. Builtins are provided here, and the compiler now causes infinite recursion
3//! when providing your own symbols without `![no_builtins]` [see issue](https://github.com/rust-lang/rust/issues/115225)
4//! 2. Code that runs before symbol resolution lives here, which would otherwise provoke memset insertions
5//! in some cases, which would result in a segfault if symbols are relocated
6//!
7#![no_std]
8#![no_builtins]
9#![warn(clippy::pedantic)]
10#![expect(
11 clippy::inline_always,
12 clippy::module_name_repetitions,
13 clippy::similar_names
14)]
15
16#[cfg(feature = "aux")]
17pub mod elf;
18
19#[cfg(feature = "start")]
20pub mod start;
21
22#[cfg(feature = "mem-symbols")]
23pub mod symbols;