MCPcopy Index your code
hub / github.com/encounter/objdiff / diff_bss_symbol

Function diff_bss_symbol

objdiff-core/src/diff/data.rs:13–36  ·  view source on GitHub ↗
(
    left_obj: &Object,
    right_obj: &Object,
    left_symbol_ref: usize,
    right_symbol_ref: usize,
)

Source from the content-addressed store, hash-verified

11use crate::obj::{Object, Relocation, ResolvedRelocation, Symbol, SymbolFlag, SymbolKind};
12
13pub 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
38pub fn symbol_name_matches(left: &Symbol, right: &Symbol) -> bool {
39 if let Some(left_name) = &left.normalized_name

Callers 2

diff_objsFunction · 0.85
generate_mapping_symbolsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected