ghostscope_dwarf/core/
mod.rs1use crate::binary::DwarfReader;
4
5pub mod demangle;
6pub mod errors;
7pub mod evaluation;
8pub mod mapping;
9pub mod symbol_names;
10pub mod types;
11
12pub use demangle::*;
13pub use errors::*;
14pub use evaluation::*;
15pub use mapping::*;
16pub(crate) use symbol_names::*;
17pub use types::*;
18
19pub(crate) fn attr_u64(value: gimli::AttributeValue<DwarfReader>) -> Option<u64> {
20 match value {
21 gimli::AttributeValue::Udata(v) => Some(v),
22 gimli::AttributeValue::Sdata(v) if v >= 0 => Some(v as u64),
23 gimli::AttributeValue::Data1(v) => Some(v as u64),
24 gimli::AttributeValue::Data2(v) => Some(v as u64),
25 gimli::AttributeValue::Data4(v) => Some(v as u64),
26 gimli::AttributeValue::Data8(v) => Some(v),
27 _ => None,
28 }
29}