mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 22:08:41 +00:00
pass over PDB converter
- moved incomplete type resolution from the converter to RDI make helper layer so we don't need to duplicate code in DWARF converter - changed code for building basic types to handle various data models
This commit is contained in:
+526
-955
File diff suppressed because it is too large
Load Diff
@@ -201,37 +201,6 @@ struct P2R_LinkNameMapBuildIn
|
||||
P2R_LinkNameMap *link_name_map;
|
||||
};
|
||||
|
||||
//- rjf: type forward resolution map build
|
||||
|
||||
typedef struct P2R_ITypeFwdMapFillIn P2R_ITypeFwdMapFillIn;
|
||||
struct P2R_ITypeFwdMapFillIn
|
||||
{
|
||||
PDB_TpiHashParsed *tpi_hash;
|
||||
CV_LeafParsed *tpi_leaf;
|
||||
CV_TypeId itype_first;
|
||||
CV_TypeId itype_opl;
|
||||
CV_TypeId *itype_fwd_map;
|
||||
};
|
||||
|
||||
//- rjf: itype chain build
|
||||
|
||||
typedef struct P2R_TypeIdChain P2R_TypeIdChain;
|
||||
struct P2R_TypeIdChain
|
||||
{
|
||||
P2R_TypeIdChain *next;
|
||||
CV_TypeId itype;
|
||||
};
|
||||
|
||||
typedef struct P2R_ITypeChainBuildIn P2R_ITypeChainBuildIn;
|
||||
struct P2R_ITypeChainBuildIn
|
||||
{
|
||||
CV_LeafParsed *tpi_leaf;
|
||||
CV_TypeId itype_first;
|
||||
CV_TypeId itype_opl;
|
||||
CV_TypeId *itype_fwd_map;
|
||||
P2R_TypeIdChain **itype_chains;
|
||||
};
|
||||
|
||||
//- rjf: udt conversion
|
||||
|
||||
typedef struct P2R_UDTConvertIn P2R_UDTConvertIn;
|
||||
@@ -240,7 +209,6 @@ struct P2R_UDTConvertIn
|
||||
CV_LeafParsed *tpi_leaf;
|
||||
CV_TypeId itype_first;
|
||||
CV_TypeId itype_opl;
|
||||
CV_TypeId *itype_fwd_map;
|
||||
RDIM_Type **itype_type_ptrs;
|
||||
};
|
||||
|
||||
@@ -257,7 +225,6 @@ struct P2R_SymbolStreamConvertIn
|
||||
CV_SymParsed *sym;
|
||||
U64 sym_ranges_first;
|
||||
U64 sym_ranges_opl;
|
||||
CV_TypeId *itype_fwd_map;
|
||||
RDIM_Type **itype_type_ptrs;
|
||||
P2R_LinkNameMap *link_name_map;
|
||||
RDIM_LineTable *first_inline_site_line_table;
|
||||
@@ -341,12 +308,6 @@ ASYNC_WORK_DEF(p2r_units_convert_work);
|
||||
|
||||
ASYNC_WORK_DEF(p2r_link_name_map_build_work);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Type Parsing/Conversion Tasks
|
||||
|
||||
ASYNC_WORK_DEF(p2r_itype_fwd_map_fill_work);
|
||||
ASYNC_WORK_DEF(p2r_itype_chain_build_work);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: UDT Conversion Tasks
|
||||
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
#include "lib_rdi_format/rdi_format.c"
|
||||
#include "third_party/rad_lzb_simple/rad_lzb_simple.h"
|
||||
#include "third_party/rad_lzb_simple/rad_lzb_simple.c"
|
||||
#define XXH_STATIC_LINKING_ONLY
|
||||
#include "third_party/xxHash/xxhash.h"
|
||||
#include "third_party/xxHash/xxhash.c"
|
||||
|
||||
//- rjf: [h]
|
||||
#include "base/base_inc.h"
|
||||
|
||||
Reference in New Issue
Block a user