diff --git a/src/Tools/mkoverlay/Cargo.toml b/src/Tools/mkoverlay/Cargo.toml index 34c0e21d..5ea17c2a 100644 --- a/src/Tools/mkoverlay/Cargo.toml +++ b/src/Tools/mkoverlay/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mkoverlay" -version = "0.1.0" +version = "1.0.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/Tools/mkoverlay/src/creator/ldscript.rs b/src/Tools/mkoverlay/src/creator/ldscript.rs index 43cf4fed..aa5ebf02 100644 --- a/src/Tools/mkoverlay/src/creator/ldscript.rs +++ b/src/Tools/mkoverlay/src/creator/ldscript.rs @@ -6,10 +6,10 @@ const OVERLAY_DEFAULT_START:&'static str = "__boot_loader_end"; // < will probab pub fn write(output: &mut Output, overlay_desc: &Vec) -> Result<(), Error> { fn create_heap_base(overlay_desc: &Vec) -> String { - let mut heap_start = format!("MAX({}, {}_end)", OVERLAY_DEFAULT_START, overlay_desc[0].name); + let mut heap_start = format!("MAX({}, __{}_end)", OVERLAY_DEFAULT_START, overlay_desc[0].name); for slot in overlay_desc.iter().skip(1) { - heap_start = format!("MAX({}_end, {})", slot.name, heap_start); + heap_start = format!("MAX(__{}_end, {})", slot.name, heap_start); } heap_start } @@ -30,14 +30,14 @@ pub fn write(output: &mut Output, overlay_desc: &Vec) -> Result<(), write_heap_base(output, &create_heap_base(overlay_desc))?; writeln!(output, "")?; - writeln!(output, "SECTION {{")?; + writeln!(output, "SECTIONS {{")?; for slot in overlay_desc { - writeln!(output, "\t// {}", slot.name)?; + writeln!(output, "\t/*{}*/", slot.name)?; writeln!(output, "\tOVERLAY {} : NOCROSSREFS SUBALIGN(4) {{", get_slot_start_adr(slot))?; for section in &slot.sections { writeln!(output, "\t\t.{} {{", section.name)?; writeln!(output, "\t\t\t__{}_start = .;", section.name)?; - section.file_pattern.iter().try_for_each(|patr| writeln!(output, "\t\t\tKEEP({}(.header)", patr))?; + section.file_pattern.iter().try_for_each(|patr| writeln!(output, "\t\t\tKEEP({}(.header))", patr))?; writeln!(output, "\t\t\t__{}_ctor = .;", section.name)?; for section_type in [".text.startup._GLOBAL__*", ".ctors", ".text.*", ".rodata*", ".sdata*", ".data*", ".sbss*", ".bss*"] {