mirror of
https://github.com/encounter/objdiff.git
synced 2025-06-07 15:13:47 +00:00
Combine sections when generating report
This commit is contained in:
parent
3db0727469
commit
0c9e5526d4
@ -85,6 +85,9 @@ pub fn run(args: Args) -> Result<()> {
|
|||||||
fn generate(args: GenerateArgs) -> Result<()> {
|
fn generate(args: GenerateArgs) -> Result<()> {
|
||||||
let mut diff_config = diff::DiffObjConfig {
|
let mut diff_config = diff::DiffObjConfig {
|
||||||
function_reloc_diffs: diff::FunctionRelocDiffs::None,
|
function_reloc_diffs: diff::FunctionRelocDiffs::None,
|
||||||
|
combine_data_sections: true,
|
||||||
|
combine_text_sections: true,
|
||||||
|
ppc_calculate_pool_relocations: false,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
apply_config_args(&mut diff_config, &args.config)?;
|
apply_config_args(&mut diff_config, &args.config)?;
|
||||||
@ -241,14 +244,12 @@ 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)
|
|| symbol.flags.contains(SymbolFlag::Hidden | SymbolFlag::Ignored)
|
||||||
|| 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)
|
if symbol.flags.contains(SymbolFlag::Global | SymbolFlag::Weak)
|
||||||
|| symbol.flags.contains(SymbolFlag::Weak))
|
|
||||||
&& !existing_functions.insert(symbol.name.clone())
|
&& !existing_functions.insert(symbol.name.clone())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user