improved symbol debugging output from the surgical linker

This commit is contained in:
Folkert 2022-09-28 14:11:54 +02:00
parent 30dbad88ae
commit d70625b21b
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C

View file

@ -291,9 +291,28 @@ pub(crate) fn preprocess_elf(
if verbose {
println!(
"Found roc symbol definitions: {:+x?}",
md.roc_symbol_vaddresses
"Found {} roc symbol definitions:",
md.roc_symbol_vaddresses.len()
);
let (mut builtins, mut other): (Vec<_>, Vec<_>) = md
.roc_symbol_vaddresses
.iter()
.partition(|(n, _)| n.starts_with("roc_builtins"));
// sort by address
builtins.sort_by_key(|t| t.1);
other.sort_by_key(|t| t.1);
for (name, vaddr) in other.iter() {
println!("\t{:#08x}: {}", vaddr, name);
}
println!("Of which {} are builtins", builtins.len(),);
for (name, vaddr) in builtins.iter() {
println!("\t{:#08x}: {}", vaddr, name);
}
}
let exec_parsing_duration = exec_parsing_start.elapsed();