(
left_obj: &Object,
right_obj: &Object,
left_symbol_ref: usize,
right_symbol_ref: usize,
)
| 11 | use crate::obj::{Object, Relocation, ResolvedRelocation, Symbol, SymbolFlag, SymbolKind}; |
| 12 | |
| 13 | pub fn diff_bss_symbol( |
| 14 | left_obj: &Object, |
| 15 | right_obj: &Object, |
| 16 | left_symbol_ref: usize, |
| 17 | right_symbol_ref: usize, |
| 18 | ) -> Result<(SymbolDiff, SymbolDiff)> { |
| 19 | let left_symbol = &left_obj.symbols[left_symbol_ref]; |
| 20 | let right_symbol = &right_obj.symbols[right_symbol_ref]; |
| 21 | let percent = if left_symbol.size == right_symbol.size { 100.0 } else { 50.0 }; |
| 22 | Ok(( |
| 23 | SymbolDiff { |
| 24 | target_symbol: Some(right_symbol_ref), |
| 25 | match_percent: Some(percent), |
| 26 | diff_score: None, |
| 27 | ..Default::default() |
| 28 | }, |
| 29 | SymbolDiff { |
| 30 | target_symbol: Some(left_symbol_ref), |
| 31 | match_percent: Some(percent), |
| 32 | diff_score: None, |
| 33 | ..Default::default() |
| 34 | }, |
| 35 | )) |
| 36 | } |
| 37 | |
| 38 | pub fn symbol_name_matches(left: &Symbol, right: &Symbol) -> bool { |
| 39 | if let Some(left_name) = &left.normalized_name |
no outgoing calls
no test coverage detected