Skip to content

Commit 2b13e98

Browse files
committed
Fix hidden symbol regression
The flagset .contains check doesn't work like this. Fixes #199
1 parent 1750af7 commit 2b13e98

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

objdiff-cli/src/cmd/report.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,12 +245,14 @@ fn report_object(
245245
for (symbol, symbol_diff) in obj.symbols.iter().zip(&obj_diff.symbols) {
246246
if symbol.section != Some(section_idx)
247247
|| symbol.size == 0
248-
|| symbol.flags.contains(SymbolFlag::Hidden | SymbolFlag::Ignored)
248+
|| symbol.flags.contains(SymbolFlag::Hidden)
249+
|| symbol.flags.contains(SymbolFlag::Ignored)
249250
{
250251
continue;
251252
}
252253
if let Some(existing_functions) = &mut existing_functions {
253-
if symbol.flags.contains(SymbolFlag::Global | SymbolFlag::Weak)
254+
if (symbol.flags.contains(SymbolFlag::Global)
255+
|| symbol.flags.contains(SymbolFlag::Weak))
254256
&& !existing_functions.insert(symbol.name.clone())
255257
{
256258
continue;

objdiff-core/src/diff/display.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,9 @@ fn symbol_matches_filter(
616616
return false;
617617
}
618618
if !show_hidden_symbols
619-
&& (symbol.size == 0 || symbol.flags.contains(SymbolFlag::Hidden | SymbolFlag::Ignored))
619+
&& (symbol.size == 0
620+
|| symbol.flags.contains(SymbolFlag::Hidden)
621+
|| symbol.flags.contains(SymbolFlag::Ignored))
620622
{
621623
return false;
622624
}

0 commit comments

Comments
 (0)