mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-25 18:10:23 +08:00
output: call debug init from a central location
We already call current_dfmt->init in the same place (at the very end of ofmt->init) in all the backends that do it; instead call it centrally in nasm.c after ofmt->init. This fixes invalid ELF files with when compiling with -F dwarf, since the dwarf initialization routine never got called. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
5ca5007695
commit
2d115448b4
1
nasm.c
1
nasm.c
@ -429,6 +429,7 @@ int main(int argc, char **argv)
|
||||
init_labels();
|
||||
|
||||
ofmt->init(ofile, report_error, define_label, evaluate);
|
||||
ofmt->current_dfmt->init(ofmt, NULL, ofile, report_error);
|
||||
|
||||
assemble_file(inname, depend_ptr);
|
||||
|
||||
|
@ -40,8 +40,6 @@ static void dbg_init(FILE * fp, efunc errfunc, ldfunc ldef, evalfunc eval)
|
||||
dbgsect = NULL;
|
||||
(void)ldef;
|
||||
fprintf(fp, "NASM Output format debug dump\n");
|
||||
of_dbg.current_dfmt->init(&of_dbg, 0, fp, errfunc);
|
||||
|
||||
}
|
||||
|
||||
static void dbg_cleanup(int debuginfo)
|
||||
|
@ -196,8 +196,8 @@ static void ieee_init(FILE * fp, efunc errfunc, ldfunc ldef, evalfunc eval)
|
||||
ieee_entry_seg = NO_SEG;
|
||||
ieee_uppercase = false;
|
||||
checksum = 0;
|
||||
of_ieee.current_dfmt->init(&of_ieee, NULL, fp, errfunc);
|
||||
}
|
||||
|
||||
static int ieee_set_info(enum geninfo type, char **val)
|
||||
{
|
||||
(void)type;
|
||||
|
@ -634,8 +634,6 @@ static void obj_init(FILE * fp, efunc errfunc, ldfunc ldef, evalfunc eval)
|
||||
obj_use32 = false;
|
||||
passtwo = 0;
|
||||
current_seg = NULL;
|
||||
|
||||
of_obj.current_dfmt->init(&of_obj, NULL, fp, errfunc);
|
||||
}
|
||||
|
||||
static int obj_set_info(enum geninfo type, char **val)
|
||||
|
Loading…
x
Reference in New Issue
Block a user