mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-20 07:26:47 +00:00
move member queue-attempt flag from symbol to lib struct
This commit is contained in:
committed by
Ryan Fleury
parent
f1b22dbe27
commit
330c8ead38
+6
-11
@@ -982,10 +982,12 @@ lnk_queue_lib_member_for_input(Arena *arena,
|
||||
}
|
||||
}
|
||||
|
||||
B32 was_live = lnk_mark_symbol_live(best_match);
|
||||
if (!was_live) {
|
||||
LNK_Lib *lib = best_match->u.member.v.lib;
|
||||
U64 member_offset = best_match->u.member.v.member_offset;
|
||||
LNK_Lib *lib = best_match->u.member.v.lib;
|
||||
U32 member_idx = best_match->u.member.v.member_idx;
|
||||
|
||||
B32 was_member_queued = ins_atomic_u8_eval_assign(&lib->was_member_queued[member_idx], 1);
|
||||
if (!was_member_queued) {
|
||||
U64 member_offset = lib->member_offsets[member_idx];
|
||||
|
||||
// compose input index so that members are laid out in the image
|
||||
// in the order of undefined symbols appearing in objs,
|
||||
@@ -1163,13 +1165,6 @@ lnk_opt_ref(TP_Context *tp, LNK_SymbolTable *symtab, LNK_Config *config, LNK_Obj
|
||||
COFF_SymbolValueInterpType ref_interp = coff_interp_from_parsed_symbol(ref_parsed);
|
||||
LNK_Obj *ref_obj = ref_symbol.obj;
|
||||
|
||||
// mark referenced symbol live
|
||||
if (ref_parsed.storage_class == COFF_SymStorageClass_External ||
|
||||
ref_parsed.storage_class == COFF_SymStorageClass_WeakExternal) {
|
||||
LNK_Symbol *ref_symbol = lnk_symbol_table_search(symtab, LNK_SymbolScope_Defined, ref_parsed.name);
|
||||
lnk_mark_symbol_live(ref_symbol);
|
||||
}
|
||||
|
||||
if (ref_interp == COFF_SymbolValueInterp_Regular) {
|
||||
// make section number list (reloc section + associates)
|
||||
U32Node *section_number_list = push_array(scratch.arena, U32Node, 1);
|
||||
|
||||
Reference in New Issue
Block a user