From 8b5bf21f380aeb43aef3cb4e56ff194261fc6ed2 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Wed, 7 May 2025 16:45:00 -0600 Subject: [PATCH] Mark combined sections as SectionKind::Unknown --- objdiff-core/src/diff/display.rs | 2 +- objdiff-core/src/obj/mod.rs | 1 - objdiff-core/src/obj/read.rs | 2 +- ...re__obj__read__test__combine_sections.snap | 8 +- .../arch_x86__read_x86_combine_sections.snap | 112 +++++++++--------- 5 files changed, 62 insertions(+), 63 deletions(-) diff --git a/objdiff-core/src/diff/display.rs b/objdiff-core/src/diff/display.rs index d5a5305..4e33c58 100644 --- a/objdiff-core/src/diff/display.rs +++ b/objdiff-core/src/diff/display.rs @@ -684,7 +684,7 @@ pub fn display_sections( .collect::>(); if let Some(section_idx) = section_idx { let section = &obj.sections[section_idx]; - if section.kind == SectionKind::Unknown || section.flags.contains(SectionFlag::Hidden) { + if section.kind == SectionKind::Unknown { // Skip unknown and hidden sections continue; } diff --git a/objdiff-core/src/obj/mod.rs b/objdiff-core/src/obj/mod.rs index d3ac358..58e29ea 100644 --- a/objdiff-core/src/obj/mod.rs +++ b/objdiff-core/src/obj/mod.rs @@ -57,7 +57,6 @@ flags! { pub enum SectionFlag: u8 { /// Section combined from multiple input sections Combined, - Hidden, } } diff --git a/objdiff-core/src/obj/read.rs b/objdiff-core/src/obj/read.rs index 5f748c4..a3f1fb6 100644 --- a/objdiff-core/src/obj/read.rs +++ b/objdiff-core/src/obj/read.rs @@ -764,7 +764,7 @@ fn do_combine_sections( line_info.append(&mut section.line_info.iter().map(|(&a, &l)| (a + offset, l)).collect()); section.line_info.clear(); if offset > 0 { - section.flags |= SectionFlag::Hidden; + section.kind = SectionKind::Unknown; } } { diff --git a/objdiff-core/src/obj/snapshots/objdiff_core__obj__read__test__combine_sections.snap b/objdiff-core/src/obj/snapshots/objdiff_core__obj__read__test__combine_sections.snap index 383823d..7568db7 100644 --- a/objdiff-core/src/obj/snapshots/objdiff_core__obj__read__test__combine_sections.snap +++ b/objdiff-core/src/obj/snapshots/objdiff_core__obj__read__test__combine_sections.snap @@ -84,11 +84,11 @@ expression: "(sections, symbols)" name: ".data", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: None, relocations: [], line_info: {}, @@ -99,11 +99,11 @@ expression: "(sections, symbols)" name: ".data", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: None, relocations: [], line_info: {}, diff --git a/objdiff-core/tests/snapshots/arch_x86__read_x86_combine_sections.snap b/objdiff-core/tests/snapshots/arch_x86__read_x86_combine_sections.snap index 2b09434..a2a6ba3 100644 --- a/objdiff-core/tests/snapshots/arch_x86__read_x86_combine_sections.snap +++ b/objdiff-core/tests/snapshots/arch_x86__read_x86_combine_sections.snap @@ -42,11 +42,11 @@ expression: obj.sections name: ".rdata", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -59,11 +59,11 @@ expression: obj.sections name: ".rdata", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -76,11 +76,11 @@ expression: obj.sections name: ".text$mn", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 16, ), @@ -425,11 +425,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -442,11 +442,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -459,11 +459,11 @@ expression: obj.sections name: ".data$rs", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -476,11 +476,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -493,11 +493,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -510,11 +510,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -527,11 +527,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -544,11 +544,11 @@ expression: obj.sections name: ".data$rs", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -561,11 +561,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -578,11 +578,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -595,11 +595,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -612,11 +612,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -629,11 +629,11 @@ expression: obj.sections name: ".text$mn", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 1, ), @@ -646,11 +646,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -663,11 +663,11 @@ expression: obj.sections name: ".text$mn", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 16, ), @@ -680,11 +680,11 @@ expression: obj.sections name: ".text$mn", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 16, ), @@ -697,11 +697,11 @@ expression: obj.sections name: ".text$mn", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 16, ), @@ -714,11 +714,11 @@ expression: obj.sections name: ".text$mn", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 16, ), @@ -731,11 +731,11 @@ expression: obj.sections name: ".text$mn", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 16, ), @@ -902,11 +902,11 @@ expression: obj.sections name: ".text$yd", address: 0, size: 0, - kind: Code, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 16, ), @@ -919,11 +919,11 @@ expression: obj.sections name: ".rdata", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -936,11 +936,11 @@ expression: obj.sections name: ".rdata", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -953,11 +953,11 @@ expression: obj.sections name: ".data", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -970,11 +970,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ), @@ -987,11 +987,11 @@ expression: obj.sections name: ".rdata$r", address: 0, size: 0, - kind: Data, + kind: Unknown, data: SectionData( 0, ), - flags: FlagSet(Hidden), + flags: FlagSet(), align: Some( 4, ),