mirror of
https://github.com/encounter/objdiff.git
synced 2025-06-07 15:13:47 +00:00
Fix hidden symbol regression
The flagset .contains check doesn't work like this. Fixes #199
This commit is contained in:
parent
1750af736a
commit
2b13e9886a
@ -245,12 +245,14 @@ fn report_object(
|
|||||||
for (symbol, symbol_diff) in obj.symbols.iter().zip(&obj_diff.symbols) {
|
for (symbol, symbol_diff) in obj.symbols.iter().zip(&obj_diff.symbols) {
|
||||||
if symbol.section != Some(section_idx)
|
if symbol.section != Some(section_idx)
|
||||||
|| symbol.size == 0
|
|| symbol.size == 0
|
||||||
|| symbol.flags.contains(SymbolFlag::Hidden | SymbolFlag::Ignored)
|
|| symbol.flags.contains(SymbolFlag::Hidden)
|
||||||
|
|| symbol.flags.contains(SymbolFlag::Ignored)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if let Some(existing_functions) = &mut existing_functions {
|
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())
|
&& !existing_functions.insert(symbol.name.clone())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
@ -616,7 +616,9 @@ fn symbol_matches_filter(
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if !show_hidden_symbols
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user