mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-10-14 21:09:41 -07:00
emit jump thunks for imports only when needed
This commit is contained in:
1 parent
43e81b934b
commit
580303b0dd
4 files changed
+110
-90
No files matched your search
@@ -9,8 +9,6 @@ typedef struct LNK_Obj
|
||||
{
|
||||
String8 path;
|
||||
String8 data;
|
||||
struct LNK_Lib *lib;
|
||||
struct LNK_LibMemberRef *trigger_symbol;
|
||||
U32 input_idx;
|
||||
COFF_FileHeaderInfo header;
|
||||
U32 *comdats;
|
||||
@@ -19,6 +17,8 @@ typedef struct LNK_Obj
|
||||
U32Node **associated_sections;
|
||||
LNK_SymbolHashTrie **symlinks;
|
||||
|
||||
struct LNK_LibMemberRef *link_member;
|
||||
|
||||
struct LNK_ObjNode *node;
|
||||
} LNK_Obj;
|
||||
|
||||
@@ -102,12 +102,13 @@ internal void lnk_inputer_push_obj_symbols(TP_Context *tp, TP_Arena *arena
|
||||
|
||||
// --- Metadata ----------------------------------------------------------------
|
||||
|
||||
internal U32 lnk_obj_get_features(LNK_Obj *obj);
|
||||
internal U32 lnk_obj_get_comp_id(LNK_Obj *obj);
|
||||
internal U32 lnk_obj_get_vol_md(LNK_Obj *obj);
|
||||
internal String8 lnk_obj_get_lib_path(LNK_Obj *obj);
|
||||
internal U32 lnk_obj_get_removed_section_number(LNK_Obj *obj);
|
||||
internal LNK_Symbol * lnk_obj_get_comdat_symlink(LNK_Obj *obj, U64 section_number);
|
||||
internal U32 lnk_obj_get_features(LNK_Obj *obj);
|
||||
internal U32 lnk_obj_get_comp_id(LNK_Obj *obj);
|
||||
internal U32 lnk_obj_get_vol_md(LNK_Obj *obj);
|
||||
internal struct LNK_Lib * lnk_obj_get_lib(LNK_Obj *obj);
|
||||
internal String8 lnk_obj_get_lib_path(LNK_Obj *obj);
|
||||
internal U32 lnk_obj_get_removed_section_number(LNK_Obj *obj);
|
||||
internal LNK_Symbol * lnk_obj_get_comdat_symlink(LNK_Obj *obj, U64 section_number);
|
||||
|
||||
// --- Symbol & Section Helpers ------------------------------------------------
|
||||
|
||||
|
||||
Reference in new issue
Block a user