Fix hidden symbol regression

The flagset .contains check doesn't work like this.

Fixes #199
This commit is contained in:
Luke Street 2025-05-13 21:37:29 -06:00
parent 1750af736a
commit 2b13e9886a
2 changed files with 7 additions and 3 deletions

View File

@ -245,12 +245,14 @@ fn report_object(
for (symbol, symbol_diff) in obj.symbols.iter().zip(&obj_diff.symbols) {
if symbol.section != Some(section_idx)
|| symbol.size == 0
|| symbol.flags.contains(SymbolFlag::Hidden | SymbolFlag::Ignored)
|| symbol.flags.contains(SymbolFlag::Hidden)
|| symbol.flags.contains(SymbolFlag::Ignored)
{
continue;
}
if let Some(existing_functions) = &mut existing_functions {
if symbol.flags.contains(SymbolFlag::Global | SymbolFlag::Weak)
if (symbol.flags.contains(SymbolFlag::Global)
|| symbol.flags.contains(SymbolFlag::Weak))
&& !existing_functions.insert(symbol.name.clone())
{
continue;

View File

@ -616,7 +616,9 @@ fn symbol_matches_filter(
return false;
}
if !show_hidden_symbols
&& (symbol.size == 0 || symbol.flags.contains(SymbolFlag::Hidden | SymbolFlag::Ignored))
&& (symbol.size == 0
|| symbol.flags.contains(SymbolFlag::Hidden)
|| symbol.flags.contains(SymbolFlag::Ignored))
{
return false;
}