From d9dbf17f1fc5670ac3f9b3ff1a15b6c6687481e2 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Mon, 7 Jul 2025 13:50:38 -0400 Subject: [PATCH 1/2] PPC pooled relocations: Ignore hidden symbols --- objdiff-core/src/arch/ppc/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/objdiff-core/src/arch/ppc/mod.rs b/objdiff-core/src/arch/ppc/mod.rs index a968ba4..9bd2c5d 100644 --- a/objdiff-core/src/arch/ppc/mod.rs +++ b/objdiff-core/src/arch/ppc/mod.rs @@ -635,6 +635,7 @@ fn make_fake_pool_reloc( target_symbol = symbols.iter().position(|s| { s.section == Some(section_index) && s.size > 0 + && !s.flags.contains(SymbolFlag::Hidden) && (s.address..s.address + s.size).contains(&target_address) })?; addend = target_address.checked_sub(symbols[target_symbol].address)? as i64; From 585abb8ad7ed8fce48f5a76262cf94e6a90efc44 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Mon, 7 Jul 2025 17:06:07 -0400 Subject: [PATCH 2/2] PPC pooled relocations: Also ignore 'ignored' symbols --- objdiff-core/src/arch/ppc/mod.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/objdiff-core/src/arch/ppc/mod.rs b/objdiff-core/src/arch/ppc/mod.rs index 52ddcf0..a472b08 100644 --- a/objdiff-core/src/arch/ppc/mod.rs +++ b/objdiff-core/src/arch/ppc/mod.rs @@ -634,6 +634,7 @@ fn make_fake_pool_reloc( s.section == Some(section_index) && s.size > 0 && !s.flags.contains(SymbolFlag::Hidden) + && !s.flags.contains(SymbolFlag::Ignored) && (s.address..s.address + s.size).contains(&target_address) })?; addend = target_address.checked_sub(symbols[target_symbol].address)? as i64;