diff options
| author | Josh Ferrell <josh@vector35.com> | 2025-04-14 16:27:22 -0400 |
|---|---|---|
| committer | Josh Ferrell <josh@vector35.com> | 2025-04-14 16:27:22 -0400 |
| commit | c3f286e6ab09fb7945d84fa7d213905d328bb4e5 (patch) | |
| tree | c33bf0ef31d74c852f2323afcafd4edc9e7a37f4 /plugins/dwarf/dwarf_import | |
| parent | 4f7d5e40861d73a3738b63f92d9ff5feb235f8d6 (diff) | |
Set vendor for .eh_frame parsing for aarch64 binaries
Diffstat (limited to 'plugins/dwarf/dwarf_import')
| -rw-r--r-- | plugins/dwarf/dwarf_import/src/lib.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/plugins/dwarf/dwarf_import/src/lib.rs b/plugins/dwarf/dwarf_import/src/lib.rs index 7e4e10ee..d401f36f 100644 --- a/plugins/dwarf/dwarf_import/src/lib.rs +++ b/plugins/dwarf/dwarf_import/src/lib.rs @@ -555,6 +555,11 @@ fn parse_dwarf( create_section_reader(section_id, view, eh_frame_endian, dwo_file) }; let mut eh_frame = gimli::EhFrame::load(eh_frame_section_reader).unwrap(); + if let Some(view_arch) = view.default_arch() { + if view_arch.name().as_str() == "aarch64" { + eh_frame.set_vendor(gimli::Vendor::AArch64); + } + } eh_frame.set_address_size(view.address_size() as u8); range_data_offsets = parse_unwind_section(view, eh_frame) .map_err(|e| error!("Error parsing .eh_frame: {}", e))?; |
