summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2003-09-10 23:34:23 +0000
committerH. Peter Anvin <hpa@zytor.com>2003-09-10 23:34:23 +0000
commitbb88d011e3cb25f20af91925c20ed1f84c0713ec (patch)
treed3215dafd3a405f7529e6167807523702c755266
parent88dce03d8eb2a4d1952f6e2f03175c07238731d1 (diff)
downloadnasm-bb88d011e3cb25f20af91925c20ed1f84c0713ec.tar.gz
nasm-bb88d011e3cb25f20af91925c20ed1f84c0713ec.tar.bz2
nasm-bb88d011e3cb25f20af91925c20ed1f84c0713ec.zip
If we don't specify -g, actually suppress debugging output
-rw-r--r--nasm.c4
-rw-r--r--output/outelf.c7
2 files changed, 8 insertions, 3 deletions
diff --git a/nasm.c b/nasm.c
index e8bc680..e6be925 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 349b15f..16c25d1 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 */