mirror of
https://github.com/mii443/wasmer.git
synced 2025-08-24 17:29:26 +00:00
cargo fmt
This commit is contained in:
@ -87,48 +87,52 @@ impl Compiler for LLVMCompiler {
|
||||
)
|
||||
.collect::<Result<Vec<_>, CompileError>>()?
|
||||
.into_iter()
|
||||
.map(|(mut compiled_function, function_custom_sections, eh_frame_section_indices)| {
|
||||
let first_section = module_custom_sections.len() as u32;
|
||||
for (section_index, custom_section) in function_custom_sections.iter() {
|
||||
// TODO: remove this call to clone()
|
||||
let mut custom_section = custom_section.clone();
|
||||
for mut reloc in &mut custom_section.relocations {
|
||||
.map(
|
||||
|(mut compiled_function, function_custom_sections, eh_frame_section_indices)| {
|
||||
let first_section = module_custom_sections.len() as u32;
|
||||
for (section_index, custom_section) in function_custom_sections.iter() {
|
||||
// TODO: remove this call to clone()
|
||||
let mut custom_section = custom_section.clone();
|
||||
for mut reloc in &mut custom_section.relocations {
|
||||
if let RelocationTarget::CustomSection(index) = reloc.reloc_target {
|
||||
reloc.reloc_target = RelocationTarget::CustomSection(
|
||||
SectionIndex::from_u32(first_section + index.as_u32()),
|
||||
)
|
||||
}
|
||||
}
|
||||
if eh_frame_section_indices.contains(§ion_index) {
|
||||
let offset = frame_section_bytes.len() as u32;
|
||||
for mut reloc in &mut custom_section.relocations {
|
||||
reloc.offset += offset;
|
||||
}
|
||||
frame_section_bytes.extend_from_slice(custom_section.bytes.as_slice());
|
||||
frame_section_relocations.extend(custom_section.relocations);
|
||||
// TODO: we do this to keep the count right, remove it.
|
||||
module_custom_sections.push(CustomSection {
|
||||
protection: CustomSectionProtection::Read,
|
||||
bytes: SectionBody::new_with_vec(vec![]),
|
||||
relocations: vec![],
|
||||
});
|
||||
} else {
|
||||
module_custom_sections.push(custom_section);
|
||||
}
|
||||
}
|
||||
for mut reloc in &mut compiled_function.relocations {
|
||||
if let RelocationTarget::CustomSection(index) = reloc.reloc_target {
|
||||
reloc.reloc_target = RelocationTarget::CustomSection(
|
||||
SectionIndex::from_u32(first_section + index.as_u32()),
|
||||
)
|
||||
}
|
||||
}
|
||||
if eh_frame_section_indices.contains(§ion_index) {
|
||||
let offset = frame_section_bytes.len() as u32;
|
||||
for mut reloc in &mut custom_section.relocations {
|
||||
reloc.offset += offset;
|
||||
}
|
||||
frame_section_bytes.extend_from_slice(custom_section.bytes.as_slice());
|
||||
frame_section_relocations.extend(custom_section.relocations);
|
||||
// TODO: we do this to keep the count right, remove it.
|
||||
module_custom_sections.push(CustomSection {
|
||||
protection: CustomSectionProtection::Read,
|
||||
bytes: SectionBody::new_with_vec(vec![]),
|
||||
relocations: vec![]
|
||||
});
|
||||
} else {
|
||||
module_custom_sections.push(custom_section);
|
||||
}
|
||||
}
|
||||
for mut reloc in &mut compiled_function.relocations {
|
||||
if let RelocationTarget::CustomSection(index) = reloc.reloc_target {
|
||||
reloc.reloc_target = RelocationTarget::CustomSection(
|
||||
SectionIndex::from_u32(first_section + index.as_u32()),
|
||||
)
|
||||
}
|
||||
}
|
||||
compiled_function
|
||||
})
|
||||
compiled_function
|
||||
},
|
||||
)
|
||||
.collect::<PrimaryMap<LocalFunctionIndex, _>>();
|
||||
|
||||
let dwarf = if !frame_section_bytes.is_empty() {
|
||||
let dwarf = Some(Dwarf::new(SectionIndex::from_u32(module_custom_sections.len() as u32)));
|
||||
let dwarf = Some(Dwarf::new(SectionIndex::from_u32(
|
||||
module_custom_sections.len() as u32
|
||||
)));
|
||||
// Terminating zero-length CIE.
|
||||
frame_section_bytes.extend(vec![
|
||||
0x00, 0x00, 0x00, 0x00, // Length
|
||||
@ -143,7 +147,7 @@ impl Compiler for LLVMCompiler {
|
||||
module_custom_sections.push(CustomSection {
|
||||
protection: CustomSectionProtection::Read,
|
||||
bytes: SectionBody::new_with_vec(frame_section_bytes),
|
||||
relocations: frame_section_relocations
|
||||
relocations: frame_section_relocations,
|
||||
});
|
||||
dwarf
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user