static void coff_cleanup(int debuginfo) { struct Reloc *r; int i; (void) debuginfo; coff_write(); fclose (coffp); for (i=0; i<nsects; i++) { if (sects[i]->data) saa_free (sects[i]->data); while (sects[i]->head) { r = sects[i]->head; sects[i]->head = sects[i]->head->next; nasm_free (r); } nasm_free (sects[i]); } nasm_free (sects); saa_free (syms); raa_free (bsym); raa_free (symval); saa_free (strs); }
static void elf_cleanup(int debuginfo) { struct Reloc *r; int i; (void)debuginfo; elf_write(); fclose(elffp); for (i = 0; i < nsects; i++) { if (sects[i]->type != SHT_NOBITS) saa_free(sects[i]->data); if (sects[i]->head) saa_free(sects[i]->rel); while (sects[i]->head) { r = sects[i]->head; sects[i]->head = sects[i]->head->next; nasm_free(r); } } nasm_free(sects); saa_free(syms); raa_free(bsym); saa_free(strs); if (of_elf.current_dfmt) { of_elf.current_dfmt->cleanup(); } }
static void aout_cleanup(int debuginfo) { struct Reloc *r; (void) debuginfo; aout_pad_sections(); aout_fixup_relocs(&stext); aout_fixup_relocs(&sdata); aout_write(); fclose (aoutfp); saa_free (stext.data); while (stext.head) { r = stext.head; stext.head = stext.head->next; nasm_free (r); } saa_free (sdata.data); while (sdata.head) { r = sdata.head; sdata.head = sdata.head->next; nasm_free (r); } saa_free (syms); raa_free (bsym); saa_free (strs); }
static void as86_cleanup(void) { struct Piece *p; as86_write(); saa_free(stext.data); while (stext.head) { p = stext.head; stext.head = stext.head->next; nasm_free(p); } saa_free(sdata.data); while (sdata.head) { p = sdata.head; sdata.head = sdata.head->next; nasm_free(p); } saa_free(syms); raa_free(bsym); saa_free(strs); }
static void as86_cleanup(int debuginfo) { struct Piece *p; (void) debuginfo; as86_write(); fclose (as86fp); saa_free (stext.data); while (stext.head) { p = stext.head; stext.head = stext.head->next; nasm_free (p); } saa_free (sdata.data); while (sdata.head) { p = sdata.head; sdata.head = sdata.head->next; nasm_free (p); } saa_free (syms); raa_free (bsym); saa_free (strs); }