mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 21:38:40 +00:00
assign symbol indices before serializing symbols so forward-references
are possible
This commit is contained in:
committed by
Nikita Smith
parent
cff69f287a
commit
c53b8d43d0
@@ -51,13 +51,21 @@ coff_obj_writer_serialize(Arena *arena, COFF_ObjWriter *obj_writer)
|
|||||||
//
|
//
|
||||||
String8List symbol_table = {0};
|
String8List symbol_table = {0};
|
||||||
{
|
{
|
||||||
|
{
|
||||||
|
U64 symbol_idx = 0;
|
||||||
|
for (COFF_ObjSymbolNode *symbol_n = obj_writer->symbol_first; symbol_n != 0; symbol_n = symbol_n->next) {
|
||||||
|
COFF_ObjSymbol *s = &symbol_n->v;
|
||||||
|
|
||||||
|
// assign symbol index
|
||||||
|
s->idx = symbol_idx++;
|
||||||
|
symbol_idx += s->aux_symbols.node_count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
U64 symbol_idx = 0;
|
U64 symbol_idx = 0;
|
||||||
for (COFF_ObjSymbolNode *symbol_n = obj_writer->symbol_first; symbol_n != 0; symbol_n = symbol_n->next) {
|
for (COFF_ObjSymbolNode *symbol_n = obj_writer->symbol_first; symbol_n != 0; symbol_n = symbol_n->next) {
|
||||||
COFF_ObjSymbol *s = &symbol_n->v;
|
COFF_ObjSymbol *s = &symbol_n->v;
|
||||||
|
|
||||||
// assign symbol index
|
|
||||||
s->idx = symbol_idx++;
|
|
||||||
|
|
||||||
COFF_Symbol16 *d = push_array(scratch.arena, COFF_Symbol16, 1);
|
COFF_Symbol16 *d = push_array(scratch.arena, COFF_Symbol16, 1);
|
||||||
str8_list_push(scratch.arena, &symbol_table, str8_struct(d));
|
str8_list_push(scratch.arena, &symbol_table, str8_struct(d));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user