#boot #link #macro #section

macro no-std link-boot

macros for link mod to boot section

3 unstable releases

Uses new Rust 2024

0.2.1 Mar 29, 2025
0.2.0 Mar 29, 2025
0.1.0 Mar 29, 2025

#29 in #boot

Download history 308/week @ 2025-03-26 75/week @ 2025-04-02 15/week @ 2025-04-09

398 downloads per month
Used in any-uart

MIT license

4KB

Link Boot

This is a macros crate to link mod to .text.boot or .data.boot section.

Example

#[link_boot::link_boot]
mod boot {
    pub fn fooo() {
        println!("foo");
    }

    pub static BAR: i32 = 1;

    struct Cat {}
}

expand to:

mod boot {
    #[unsafe(link_section = ".text.boot")]
    pub fn fooo() {
        {
            std::io::_print(std::format_args_nl!("foo"));
        };
    }
    #[unsafe(link_section = ".data.boot")]
    pub static BAR: i32 = 1;
    struct Cat {}
}

Dependencies

~200–630KB
~15K SLoC