diff --git a/extern/drgn b/extern/drgn index de24803..b1f8c3e 160000 --- a/extern/drgn +++ b/extern/drgn @@ -1 +1 @@ -Subproject commit de2480353e73a48063f4eca4b620d72e80e5246f +Subproject commit b1f8c3e8526611b6720800250ba858a713dd9e4f diff --git a/oi/Serialize.cpp b/oi/Serialize.cpp index ecfa0c8..cd10f4f 100644 --- a/oi/Serialize.cpp +++ b/oi/Serialize.cpp @@ -281,7 +281,9 @@ void serialize(Archive& ar, // and `num_parents` set to NULL/0 per the initial `memset`, see // "AVOIDING OVERSERIALIZATION" comment above - ar& type._private.die_addr; + uintptr_t die_addr = (uintptr_t)type._private.die_addr; + ar& die_addr; + type._private.die_addr = (void*)die_addr; // `.module` is NULL, per the initial `memset` if (Archive::is_saving::value) { struct drgn_error* err = drgn_type_sizeof(&type, &type._private.oi_size); diff --git a/oi/Serialize.h b/oi/Serialize.h index 313a021..5768545 100644 --- a/oi/Serialize.h +++ b/oi/Serialize.h @@ -45,7 +45,7 @@ DEFINE_TYPE_VERSION(FuncDesc::Retval, 56, 2) DEFINE_TYPE_VERSION(FuncDesc::Range, 16, 2) DEFINE_TYPE_VERSION(FuncDesc, 104, 4) DEFINE_TYPE_VERSION(GlobalDesc, 72, 4) -DEFINE_TYPE_VERSION(struct drgn_type, 152, 4) +DEFINE_TYPE_VERSION(struct drgn_type, 160, 4) DEFINE_TYPE_VERSION(DrgnClassMemberInfo, 64, 3) DEFINE_TYPE_VERSION(struct drgn_qualified_type, 16, 2) DEFINE_TYPE_VERSION(RootInfo, 48, 2)