mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 13:28:40 +00:00
validate strong symbol interp type
This commit is contained in:
+7
-3
@@ -1107,9 +1107,13 @@ THREAD_POOL_TASK_FUNC(lnk_weak_symbol_finder)
|
|||||||
LNK_SymbolNode *symbol_n = task->lookup_node_arr.v[symbol_idx];
|
LNK_SymbolNode *symbol_n = task->lookup_node_arr.v[symbol_idx];
|
||||||
LNK_Symbol *symbol = symbol_n->data;
|
LNK_Symbol *symbol = symbol_n->data;
|
||||||
|
|
||||||
LNK_Symbol *has_strong_defn = lnk_symbol_table_search(task->symtab, LNK_SymbolScope_Defined, symbol->name);
|
LNK_Symbol *defn = lnk_symbol_table_search(task->symtab, LNK_SymbolScope_Defined, symbol->name);
|
||||||
if (has_strong_defn) {
|
if (defn) {
|
||||||
continue;
|
COFF_ParsedSymbol defn_parsed = lnk_parsed_symbol_from_defined(defn);
|
||||||
|
COFF_SymbolValueInterpType defn_interp = coff_interp_from_parsed_symbol(defn_parsed);
|
||||||
|
if (defn_interp != COFF_SymbolValueInterp_Weak) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
LNK_Symbol *has_import = lnk_symbol_table_search(task->symtab, LNK_SymbolScope_Import, symbol->name);
|
LNK_Symbol *has_import = lnk_symbol_table_search(task->symtab, LNK_SymbolScope_Import, symbol->name);
|
||||||
if (has_import) {
|
if (has_import) {
|
||||||
|
|||||||
Reference in New Issue
Block a user