mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 06:07:34 +00:00
LibDebug: Implement support for AttributeDataForm::Data8
I came across this while analyzing a crash dump for openttd.
This commit is contained in:
parent
ae49171755
commit
07adbf19c4
2 changed files with 10 additions and 0 deletions
|
@ -131,6 +131,14 @@ DIE::AttributeValue DIE::get_attribute_value(AttributeDataForm form,
|
||||||
value.data.as_u32 = data;
|
value.data.as_u32 = data;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case AttributeDataForm::Data8: {
|
||||||
|
u64 data;
|
||||||
|
debug_info_stream >> data;
|
||||||
|
VERIFY(!debug_info_stream.has_any_error());
|
||||||
|
value.type = AttributeValue::Type::LongUnsignedNumber;
|
||||||
|
value.data.as_u64 = data;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case AttributeDataForm::Ref4: {
|
case AttributeDataForm::Ref4: {
|
||||||
u32 data;
|
u32 data;
|
||||||
debug_info_stream >> data;
|
debug_info_stream >> data;
|
||||||
|
|
|
@ -46,6 +46,7 @@ public:
|
||||||
enum class Type : u8 {
|
enum class Type : u8 {
|
||||||
UnsignedNumber,
|
UnsignedNumber,
|
||||||
SignedNumber,
|
SignedNumber,
|
||||||
|
LongUnsignedNumber,
|
||||||
String,
|
String,
|
||||||
DieReference, // Reference to another DIE in the same compilation unit
|
DieReference, // Reference to another DIE in the same compilation unit
|
||||||
Boolean,
|
Boolean,
|
||||||
|
@ -57,6 +58,7 @@ public:
|
||||||
union {
|
union {
|
||||||
u32 as_u32;
|
u32 as_u32;
|
||||||
i32 as_i32;
|
i32 as_i32;
|
||||||
|
u64 as_u64;
|
||||||
const char* as_string; // points to bytes in the memory mapped elf image
|
const char* as_string; // points to bytes in the memory mapped elf image
|
||||||
bool as_bool;
|
bool as_bool;
|
||||||
struct {
|
struct {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue