diff --git a/nasm.c b/nasm.c index ab04a111..f413d35c 100644 --- a/nasm.c +++ b/nasm.c @@ -1363,7 +1363,8 @@ static void assemble_file(char *fname, StrList **depend_ptr) define_common(value, seg_alloc(), size, special, ofmt, report_error); } else if (pass0 == 2) { - ofmt->symdef(value, 0L, 0L, 3, special); + if (special) + ofmt->symdef(value, 0L, 0L, 3, special); } break; } diff --git a/output/outcoff.c b/output/outcoff.c index e7bd3509..92c0d295 100644 --- a/output/outcoff.c +++ b/output/outcoff.c @@ -418,7 +418,7 @@ static void coff_deflabel(char *name, int32_t segment, int64_t offset, struct Symbol *sym; if (special) - error(ERR_NONFATAL, "binary format does not support any" + error(ERR_NONFATAL, "COFF format does not support any" " special symbol types"); if (name[0] == '.' && name[1] == '.' && name[2] != '@') { diff --git a/output/outform.h b/output/outform.h index 3dfbc9c7..391aabe0 100644 --- a/output/outform.h +++ b/output/outform.h @@ -45,9 +45,9 @@ * OF_ONLY -- only include specified object formats * OF_name -- ensure that output format 'name' is included * OF_NO_name -- remove output format 'name' - * OF_DOS -- ensure that 'obj', 'bin' & 'win32' are included. - * OF_UNIX -- ensure that 'aout', 'aoutb', 'coff', 'elf32' 'elf64' are in. - * OF_OTHERS -- ensure that 'bin', 'as86' & 'rdf' are in. + * OF_DOS -- ensure that 'obj', 'bin', 'win32' & 'win64' are included. + * OF_UNIX -- ensure that 'aout', 'aoutb', 'coff', 'elf32' & 'elf64' are in. + * OF_OTHERS -- ensure that 'bin', 'as86', 'rdf' 'macho32' & 'macho64' are in. * OF_ALL -- ensure that all formats are included. * note that this doesn't include 'dbg', which is * only really useful if you're doing development @@ -86,7 +86,7 @@ /* ====configurable info begins here==== */ /* formats configurable: - * bin,obj,elf32,elf64,aout,aoutb,coff,win32,as86,rdf2,macho */ + * bin,obj,elf32,elf64,aout,aoutb,coff,win32,as86,rdf2,macho32,macho64 */ /* process options... */ diff --git a/test/Makefile b/test/Makefile index 0b81fc79..2dcf2ebd 100644 --- a/test/Makefile +++ b/test/Makefile @@ -21,11 +21,23 @@ TESTS = $(wildcard *.asm) $(NASM) $(NASMOPT) -f elf64 -o $@ -l $*.lst $< %.obj: %.asm $(NASM) + $(NASM) $(NASMOPT) -f obj -o $@ -l $*.lst $< + +%.coff: %.asm $(NASM) + $(NASM) $(NASMOPT) -f coff -o $@ -l $*.lst $< + +%.win32: %.asm $(NASM) $(NASM) $(NASMOPT) -f win32 -o $@ -l $*.lst $< -%.obj64: %.asm $(NASM) +%.win64: %.asm $(NASM) $(NASM) $(NASMOPT) -f win64 -o $@ -l $*.lst $< +%.mo32: %.asm $(NASM) + $(NASM) $(NASMOPT) -f macho32 -o $@ -l $*.lst $< + +%.mo64: %.asm $(NASM) + $(NASM) $(NASMOPT) -f macho64 -o $@ -l $*.lst $< + %.dbg: %.asm $(NASM) $(NASM) $(NASMOPT) -f dbg -o $@ -l $*.lst $< @@ -44,7 +56,8 @@ diff: performtest.pl $(NASM) $(TESTS) $(PERL) performtest.pl --diff --nasm='$(NASM)' $(TESTS) clean: - rm -f *.com *.o *.o64 *.obj *.obj64 *.exe *.lst *.bin + rm -f *.com *.o *.o64 *.obj *.win32 *.win64 *.exe *.lst *.bin + rm -f *.dbg *.coff *.ith *.srec *.mo32 *.mo64 rm -rf testresults rm -f elftest elftest64 diff --git a/version b/version index 78202dba..0c032982 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.07rc6 +2.07rc7