From bb88d011e3cb25f20af91925c20ed1f84c0713ec Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Wed, 10 Sep 2003 23:34:23 +0000 Subject: [PATCH] If we don't specify -g, actually suppress debugging output --- nasm.c | 4 ++++ output/outelf.c | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/nasm.c b/nasm.c index e8bc680f..e6be9256 100644 --- a/nasm.c +++ b/nasm.c @@ -173,6 +173,10 @@ int main(int argc, char **argv) return 1; } + /* If debugging info is disabled, suppress any debug calls */ + if (!using_debug_info) + ofmt->current_dfmt = &null_debug_form; + if (ofmt->stdmac) pp_extra_stdmac (ofmt->stdmac); parser_global_info (ofmt, &location); diff --git a/output/outelf.c b/output/outelf.c index 349b15f5..16c25d10 100644 --- a/output/outelf.c +++ b/output/outelf.c @@ -185,6 +185,7 @@ static int symtabsection; static unsigned char *stabbuf=0,*stabstrbuf=0,*stabrelbuf=0; static int stablen,stabstrlen,stabrellen; +static struct dfmt df_stabs; void stabs_init(struct ofmt *,void *,FILE *,efunc ); void stabs_linenum(const char *filename,long linenumber,long); @@ -917,7 +918,7 @@ static void elf_write(void) * sections `.comment', `.shstrtab', `.symtab' and `.strtab', * then optionally relocation sections for the user sections. */ - if (of_elf.current_dfmt) + if (of_elf.current_dfmt == &df_stabs) nsections=8; else nsections = 5; /* SHN_UNDEF and the fixed ones */ @@ -934,7 +935,7 @@ static void elf_write(void) } } - if (of_elf.current_dfmt) { + if (of_elf.current_dfmt == &df_stabs) { /* in case the debug information is wanted, just add these three sections... */ add_sectname("",".stab"); add_sectname("",".stabstr"); @@ -1019,7 +1020,7 @@ static void elf_write(void) elf_section_header (p - shstrtab, 9, 0, sects[i]->rel, TRUE, sects[i]->rellen, nsects+3, i+1, 4, 8); } - if (of_elf.current_dfmt) { + if (of_elf.current_dfmt == &df_stabs) { /* for debugging information, create the last three sections which are the .stab , .stabstr and .rel.stab sections respectively */