Skip to content

Commit f24c017

Browse files
authored
merge gnu function and data sections (#327)
1 parent 3b8603a commit f24c017

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

objdiff-core/src/obj/read.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -874,8 +874,12 @@ fn combine_sections(
874874
let mut data_sections = BTreeMap::<String, Vec<usize>>::new();
875875
let mut text_sections = BTreeMap::<String, Vec<usize>>::new();
876876
for (i, section) in sections.iter().enumerate() {
877-
let base_name =
878-
if let Some(i) = section.name.rfind('$') { &section.name[..i] } else { &section.name };
877+
let base_name = section
878+
.name
879+
.get(1..)
880+
.and_then(|s| s.rfind(['$', '.']))
881+
.and_then(|i| section.name.get(..i + 1))
882+
.unwrap_or(&section.name);
879883
match section.kind {
880884
SectionKind::Data | SectionKind::Bss => {
881885
data_sections.entry(base_name.to_string()).or_default().push(i);

0 commit comments

Comments
 (0)