Arch-independent demangling and add gnuv2_demangle for old g++ projects (#262)

This commit is contained in:
Anghelo Carvajal
2025-09-22 20:24:29 -03:00
committed by GitHub
parent e2c70342c9
commit fe8e7029f6
14 changed files with 132 additions and 79 deletions

View File

@@ -1,9 +1,4 @@
use alloc::{
collections::BTreeMap,
format,
string::{String, ToString},
vec::Vec,
};
use alloc::{collections::BTreeMap, format, string::ToString, vec::Vec};
use anyhow::{Result, bail};
use arm_attr::{BuildAttrs, enums::CpuArch, tag::Tag};
@@ -409,12 +404,6 @@ impl Arch for ArchArm {
}
}
fn demangle(&self, name: &str) -> Option<String> {
cpp_demangle::Symbol::new(name)
.ok()
.and_then(|s| s.demangle(&cpp_demangle::DemangleOptions::default()).ok())
}
fn reloc_name(&self, flags: RelocationFlags) -> Option<&'static str> {
match flags {
RelocationFlags::Elf(r_type) => match r_type {