From a06d3455ae9df7e58047c2584518218d3f01a223 Mon Sep 17 00:00:00 2001 From: iFarbod Date: Tue, 9 Sep 2025 07:11:53 +0330 Subject: [PATCH] Ignore extern differences in relocations (#258) --- objdiff-core/src/diff/code.rs | 8 ++------ objdiff-core/src/diff/data.rs | 6 +----- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/objdiff-core/src/diff/code.rs b/objdiff-core/src/diff/code.rs index 605b0ba..ecaad62 100644 --- a/objdiff-core/src/diff/code.rs +++ b/objdiff-core/src/diff/code.rs @@ -14,7 +14,7 @@ use super::{ }; use crate::obj::{ InstructionArg, InstructionArgValue, InstructionRef, Object, ResolvedInstructionRef, - ResolvedRelocation, ResolvedSymbol, SymbolFlag, SymbolKind, + ResolvedRelocation, ResolvedSymbol, SymbolKind, }; pub fn no_diff_code( @@ -333,11 +333,7 @@ fn reloc_eq( || display_ins_data_literals(left_obj, left_ins) == display_ins_data_literals(right_obj, right_ins)) } - (None, Some(_)) => { - // Match if possibly stripped weak symbol - symbol_name_addend_matches && right_reloc.symbol.flags.contains(SymbolFlag::Weak) - } - (Some(_), None) | (None, None) => symbol_name_addend_matches, + (Some(_), None) | (None, Some(_)) | (None, None) => symbol_name_addend_matches, } } diff --git a/objdiff-core/src/diff/data.rs b/objdiff-core/src/diff/data.rs index 222d686..17bf1e8 100644 --- a/objdiff-core/src/diff/data.rs +++ b/objdiff-core/src/diff/data.rs @@ -67,11 +67,7 @@ fn reloc_eq( section_name_eq(left_obj, right_obj, sl, sr) && (symbol_name_addend_matches || address_eq(left, right)) } - (None, Some(_)) => { - // Match if possibly stripped weak symbol - symbol_name_addend_matches && right.symbol.flags.contains(SymbolFlag::Weak) - } - (Some(_), None) | (None, None) => symbol_name_addend_matches, + (Some(_), None) | (None, Some(_)) | (None, None) => symbol_name_addend_matches, } }