mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-10-14 04:49:41 -07:00
clean up pass over symbol table
- rename functions for consistency - remove unused code
This commit is contained in:
1 parent
222c220d99
commit
7cea036bc1
5 files changed
+189
-265
No files matched your search
@@ -39,12 +39,6 @@ typedef struct LNK_SymbolList
|
||||
LNK_SymbolNode *last;
|
||||
} LNK_SymbolList;
|
||||
|
||||
typedef struct LNK_SymbolNodeArray
|
||||
{
|
||||
U64 count;
|
||||
LNK_SymbolNode **v;
|
||||
} LNK_SymbolNodeArray;
|
||||
|
||||
typedef struct LNK_SymbolArray
|
||||
{
|
||||
U64 count;
|
||||
@@ -92,19 +86,19 @@ typedef struct
|
||||
LNK_SymbolHashTrieChunk **chunks;
|
||||
} LNK_ReplaceWeakSymbolsWithDefaultSymbolTask;
|
||||
|
||||
// --- Symbol Make -------------------------------------------------------------
|
||||
// --- Symbol -----------------------------------------------------------------
|
||||
|
||||
internal LNK_Symbol * lnk_make_obj_ref_symbol(Arena *arena, String8 name, struct LNK_Obj *obj, U32 symbol_idx);
|
||||
internal LNK_Symbol * lnk_make_symbol(Arena *arena, String8 name, struct LNK_Obj *obj, U32 symbol_idx);
|
||||
|
||||
internal int lnk_obj_symbol_ref_is_before(void *raw_a, void *raw_b);
|
||||
internal int lnk_obj_symbol_ref_ptr_is_before(void *raw_a, void *raw_b);
|
||||
internal int lnk_symbol_is_before(void *raw_a, void *raw_b);
|
||||
internal int lnk_symbol_ptr_is_before(void *raw_a, void *raw_b);
|
||||
|
||||
// --- Symbol Containers ------------------------------------------------------
|
||||
|
||||
internal void lnk_symbol_list_push_node(LNK_SymbolList *list, LNK_SymbolNode *node);
|
||||
internal LNK_SymbolNode * lnk_symbol_list_push(Arena *arena, LNK_SymbolList *list, LNK_Symbol *symbol);
|
||||
internal void lnk_symbol_list_concat_in_place(LNK_SymbolList *list, LNK_SymbolList *to_concat);
|
||||
internal void lnk_symbol_concat_in_place_array(LNK_SymbolList *list, LNK_SymbolList *to_concat, U64 to_concat_count);
|
||||
internal LNK_SymbolList lnk_symbol_list_from_array(Arena *arena, LNK_SymbolArray arr);
|
||||
internal LNK_SymbolNodeArray lnk_symbol_node_array_from_list(Arena *arena, LNK_SymbolList list);
|
||||
internal LNK_SymbolArray lnk_symbol_array_from_list(Arena *arena, LNK_SymbolList list);
|
||||
internal void lnk_symbol_list_push_node(LNK_SymbolList *list, LNK_SymbolNode *node);
|
||||
internal LNK_SymbolNode * lnk_symbol_list_push(Arena *arena, LNK_SymbolList *list, LNK_Symbol *symbol);
|
||||
|
||||
// --- Symbol Hash Trie --------------------------------------------------------
|
||||
|
||||
@@ -115,15 +109,14 @@ internal LNK_SymbolHashTrieChunk ** lnk_array_from_symbol_hash_trie_chunk_list(A
|
||||
|
||||
// --- Symbol Helpers ----------------------------------------------------------
|
||||
|
||||
internal LNK_ObjSymbolRef lnk_get_obj_symbol_ref(LNK_Symbol *symbol);
|
||||
internal U64 lnk_get_obj_symbol_ref_count(LNK_Symbol *symbol);
|
||||
internal COFF_ParsedSymbol lnk_parse_symbol(LNK_Symbol *symbol);
|
||||
internal COFF_SymbolValueInterpType lnk_interp_symbol(LNK_Symbol *symbol);
|
||||
internal LNK_ObjSymbolRef lnk_resolve_weak_symbol(LNK_SymbolTable *symtab, LNK_ObjSymbolRef symbol);
|
||||
internal LNK_ObjSymbolRef lnk_ref_from_symbol(LNK_Symbol *symbol);
|
||||
internal U64 lnk_ref_count_from_symbol(LNK_Symbol *symbol);
|
||||
internal COFF_ParsedSymbol lnk_parsed_from_symbol(LNK_Symbol *symbol);
|
||||
internal COFF_SymbolValueInterpType lnk_interp_from_symbol(LNK_Symbol *symbol);
|
||||
|
||||
// --- Symbol Table ------------------------------------------------------------
|
||||
|
||||
internal U64 lnk_symbol_hash(String8 string);
|
||||
internal U64 lnk_symbol_table_hasher(String8 string);
|
||||
|
||||
internal LNK_SymbolTable * lnk_symbol_table_init(TP_Arena *arena);
|
||||
internal void lnk_symbol_table_push(LNK_SymbolTable *symtab, LNK_Symbol *symbol);
|
||||
@@ -133,8 +126,12 @@ internal LNK_Symbol * lnk_symbol_table_searchf(LNK_SymbolTable *symtab, cha
|
||||
// --- Symbol Contrib Helpers --------------------------------------------------
|
||||
|
||||
internal ISectOff lnk_sc_from_symbol(LNK_Symbol *symbol);
|
||||
internal U64 lnk_isect_from_symbol(LNK_Symbol *symbol);
|
||||
internal U64 lnk_sect_off_from_symbol(LNK_Symbol *symbol);
|
||||
internal U64 lnk_virt_off_from_symbol(COFF_SectionHeader **section_table, LNK_Symbol *symbol);
|
||||
internal U64 lnk_file_off_from_symbol(COFF_SectionHeader **section_table, LNK_Symbol *symbol);
|
||||
internal U64 lnk_voff_from_symbol(COFF_SectionHeader **image_section_table, LNK_Symbol *symbol);
|
||||
internal U64 lnk_foff_from_symbol(COFF_SectionHeader **image_section_table, LNK_Symbol *symbol);
|
||||
|
||||
// --- Weak Symbol -------------------------------------------------------------
|
||||
|
||||
internal LNK_ObjSymbolRef lnk_resolve_weak_symbol(LNK_SymbolTable *symtab, LNK_ObjSymbolRef symbol);
|
||||
|
||||
internal void lnk_replace_weak_with_default_symbols(TP_Context *tp, LNK_SymbolTable *symtab);
|
||||
|
||||
Reference in new issue
Block a user