mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-13 07:32:23 -07:00
minor fixes for gathering library members
This commit is contained in:
+1
-1
@@ -973,7 +973,7 @@ lnk_queue_lib_member_input(Arena *arena,
|
||||
// lookup member in the lib where pull-in reference is declared
|
||||
LNK_Symbol *best_match = member_symbol;
|
||||
for (LNK_Symbol *s = member_symbol; s != 0; s = s->u.member.next) {
|
||||
if (s->u.member.v.lib == pull_in_ref->u.member.v.lib) {
|
||||
if (s->u.member.v.lib == pull_in_ref->u.defined.obj->lib) {
|
||||
best_match = s;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -316,7 +316,6 @@ lnk_can_replace_symbol(LNK_SymbolScope scope, LNK_Symbol *dst, LNK_Symbol *src)
|
||||
}
|
||||
} break;
|
||||
case LNK_SymbolScope_Lib: {
|
||||
// link.exe picks symbol from lib that is discovered first
|
||||
can_replace = lnk_symbol_lib_is_before(src, dst);
|
||||
} break;
|
||||
default: { InvalidPath; }
|
||||
@@ -345,7 +344,7 @@ lnk_on_symbol_replace(LNK_SymbolScope scope, LNK_Symbol *dst, LNK_Symbol *src)
|
||||
}
|
||||
}
|
||||
|
||||
// make sure leader section is not removed from the output
|
||||
// assert leader section is live
|
||||
#if BUILD_DEBUG
|
||||
{
|
||||
COFF_ParsedSymbol src_parsed = lnk_parsed_symbol_from_coff_symbol_idx(src->u.defined.obj, src->u.defined.symbol_idx);
|
||||
@@ -358,7 +357,9 @@ lnk_on_symbol_replace(LNK_SymbolScope scope, LNK_Symbol *dst, LNK_Symbol *src)
|
||||
#endif
|
||||
} break;
|
||||
case LNK_SymbolScope_Lib: {
|
||||
// nothing to replace
|
||||
LNK_Symbol *last;
|
||||
for (last = src; last->u.member.next != 0; last = last->u.member.next);
|
||||
last->u.member.next = dst;
|
||||
} break;
|
||||
default: { InvalidPath; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user