factor out weak symbol resolution logic and apply it to the symbol table

when building link context
This commit is contained in:
Nikita Smith authored and Ryan Fleury committed 2025-07-23 16:09:48 -07:00
1 parent 7cd5a670e3
commit d32667546d
9 files changed
+516 -727

No files matched your search

+10
View File
@@ -107,6 +107,14 @@ typedef struct LNK_SymbolTable
HashTable *alt_names;
} LNK_SymbolTable;
// --- Workers Contensts -------------------------------------------------------
typedef struct
{
LNK_SymbolTable *symtab;
LNK_SymbolHashTrieChunk **chunks;
} LNK_FinalizeWeakSymbolsTask;
// --- Symbol Make -------------------------------------------------------------
internal LNK_Symbol * lnk_make_defined_symbol(Arena *arena, String8 name, struct LNK_Obj *obj, U32 symbol_idx);
@@ -140,6 +148,8 @@ internal LNK_Symbol * lnk_symbol_table_searchf(LNK_SymbolTable *symtab, LNK
internal void lnk_symbol_table_push_alt_name(LNK_SymbolTable *symtab, struct LNK_Obj *obj, String8 from, String8 to);
internal void lnk_finalize_weak_symbols(TP_Context *tp, LNK_SymbolTable *symtab);
// --- Symbol Contrib Helpers --------------------------------------------------
internal ISectOff lnk_sc_from_symbol(LNK_Symbol *symbol);