clean up pass over symbol table

- rename functions for consistency
- remove unused code
This commit is contained in:
Nikita Smith authored and Ryan Fleury committed 2025-09-08 16:07:31 -07:00
1 parent 222c220d99
commit 7cea036bc1
5 files changed
+189 -265

No files matched your search

+22 -25
View File
@@ -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);