WIP: reorder input and library search order to match MSVC behavior

This commit is contained in:
Nikita Smith authored and Ryan Fleury committed 2025-09-05 15:19:30 -07:00
1 parent 240935f0cc
commit 1aac27095e
15 files changed
+1652 -1617

No files matched your search

+12 -1
View File
@@ -15,7 +15,18 @@ internal B32
lnk_symbol_defined_is_before(void *raw_a, void *raw_b)
{
LNK_Symbol *a = raw_a, *b = raw_b;
return a->defined.obj->input_idx < b->defined.obj->input_idx;
U32 a_lib_input_idx = a->defined.obj->lib ? a->defined.obj->lib->input_idx : 0;
U32 b_lib_input_idx = b->defined.obj->lib ? b->defined.obj->lib->input_idx : 0;
if (a_lib_input_idx == b_lib_input_idx) {
if (a->defined.obj->input_idx == b->defined.obj->input_idx) {
return a->defined.symbol_idx < b->defined.symbol_idx;
}
return a->defined.obj->input_idx < b->defined.obj->input_idx;
}
return a_lib_input_idx < b_lib_input_idx;
}
internal B32