pub struct MapFile {
pub segments_list: Vec<Segment>,
}Fields§
§segments_list: Vec<Segment>Implementations§
source§impl MapFile
impl MapFile
pub fn new() -> Self
sourcepub fn new_from_map_file(map_path: &Path) -> Self
pub fn new_from_map_file(map_path: &Path) -> Self
Creates a new MapFile object and fills it with the contents from the
file pointed by the map_path argument.
The format of the map will be guessed based on its contents.
Currently supported map formats:
- GNU ld
- clang ld.lld
sourcepub fn read_map_file(&mut self, map_path: &Path)
pub fn read_map_file(&mut self, map_path: &Path)
Opens the mapfile pointed by the map_path argument and parses it.
The format of the map will be guessed based on its contents.
Currently supported map formats:
- GNU ld
- clang ld.lld
sourcepub fn parse_map_contents(&mut self, map_contents: &str)
pub fn parse_map_contents(&mut self, map_contents: &str)
Parses the contents of the map.
The map_contents argument must contain the contents of a mapfile.
The format of the map will be guessed based on its contents.
Currently supported mapfile formats:
- GNU ld
- clang ld.lld
sourcepub fn parse_map_contents_gnu(&mut self, map_contents: &str)
pub fn parse_map_contents_gnu(&mut self, map_contents: &str)
Parses the contents of a GNU ld map.
The map_contents argument must contain the contents of a GNU ld mapfile.
sourcepub fn parse_map_contents_lld(&mut self, map_contents: &str)
pub fn parse_map_contents_lld(&mut self, map_contents: &str)
Parses the contents of a clang ld.lld map.
The map_contents argument must contain the contents of a clang ld.lld mapfile.
pub fn filter_by_section_type(&self, section_type: &str) -> Self
pub fn get_every_file_except_section_type(&self, section_type: &str) -> Self
pub fn find_symbol_by_name(&self, sym_name: &str) -> Option<FoundSymbolInfo>
pub fn find_symbol_by_vram_or_vrom( &self, address: u64, ) -> Option<FoundSymbolInfo>
find_symbol_by_vram or find_symbol_by_vrom instead.pub fn find_symbol_by_vram( &self, address: u64, ) -> (Option<FoundSymbolInfo>, Vec<&File>)
pub fn find_symbol_by_vrom( &self, address: u64, ) -> (Option<FoundSymbolInfo>, Vec<&File>)
pub fn find_lowest_differing_symbol( &self, other_map_file: &Self, ) -> Option<(&Symbol, &File, Option<&Symbol>)>
pub fn mix_folders(&self) -> Self
pub fn fixup_non_matching_symbols(&self) -> Self
pub fn get_progress( &self, asm_path: &Path, nonmatchings: &Path, aliases: &HashMap<String, String>, path_index: usize, check_function_files: bool, ) -> (ProgressStats, HashMap<String, ProgressStats>)
sourcepub fn compare_files_and_symbols(
&self,
other_map_file: &Self,
check_other_on_self: bool,
) -> MapsComparisonInfo
pub fn compare_files_and_symbols( &self, other_map_file: &Self, check_other_on_self: bool, ) -> MapsComparisonInfo
Useful for finding bss reorders
pub fn to_csv(&self, print_vram: bool, skip_without_symbols: bool) -> String
pub fn to_csv_symbols(&self) -> String
pub fn print_as_csv(&self, print_vram: bool, skip_without_symbols: bool)
pub fn print_symbols_csv(&self)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for MapFile
impl RefUnwindSafe for MapFile
impl Send for MapFile
impl Sync for MapFile
impl Unpin for MapFile
impl UnwindSafe for MapFile
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)