[qfcc] Set local def size in debug sym file

It was getting random garbage. Not good for debuggers.
This commit is contained in:
Bill Currie 2020-03-14 22:08:27 +09:00
parent 20fd5eb80c
commit 067bc264fa
2 changed files with 6 additions and 3 deletions

View file

@ -1172,6 +1172,7 @@ qfo_to_sym (qfo_t *qfo, int *size)
aux->local_defs = ld - locals;
for (j = 0; j < num_locals; j++, def++, ld++) {
ld->type = get_def_type (qfo, def->type);
ld->size = get_type_size (qfo, def->type);
ld->ofs = def->offset;
ld->name = def->name;
ld->type_encoding = def->type;

View file

@ -448,7 +448,12 @@ finish_link (void)
} else {
int size;
dprograms_t *progs;
pr_debug_header_t *sym = 0;
int sym_size = 0;
if (options.code.debug) {
sym = qfo_to_sym (qfo, &sym_size);
}
progs = qfo_to_progs (qfo, &size);
//finish_compilation ();
@ -462,9 +467,6 @@ finish_link (void)
WriteProgs (progs, size);
if (options.code.debug) {
pr_debug_header_t *sym;
int sym_size = 0;
sym = qfo_to_sym (qfo, &sym_size);
sym->crc = CRC_Block ((byte *) progs, size);
WriteSym (sym, sym_size);
}