From b20bc733c93f9f4fd3ba44dd6af36dc3b578d041 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Tue, 7 Mar 2017 19:23:03 -0800 Subject: [PATCH] asm/*: Move directive processing to its own file, refactor error handling Move directive processing to its own file, and move nasmlib/error.c to asm/error.c (it was not used by the disassembler); remove some extern declarations from .c files, and do some general code cleanups. Signed-off-by: H. Peter Anvin --- Makefile.in | 235 +++++++-------- Mkfiles/msvc.mak | 231 ++++++++------- Mkfiles/netware.mak | 150 +++++----- Mkfiles/openwcom.mak | 231 ++++++++------- Mkfiles/owlinux.mak | 235 +++++++-------- asm/assemble.c | 13 +- asm/assemble.h | 16 +- asm/directiv.c | 568 +++++++++++++++++++++++++++++++++++++ asm/directiv.pl | 1 + {nasmlib => asm}/error.c | 32 ++- asm/eval.c | 13 +- asm/float.c | 1 + asm/labels.c | 1 + asm/listing.c | 1 + asm/nasm.c | 596 ++------------------------------------- asm/parser.c | 9 +- asm/preproc-nop.c | 1 + asm/preproc.c | 1 + asm/stdscan.c | 1 + disasm/ndisasm.c | 1 + include/iflag.h | 1 - include/nasmlib.h | 75 ----- nasmlib/file.h | 1 + nasmlib/filename.c | 1 + nasmlib/malloc.c | 1 + nasmlib/readnum.c | 1 + output/codeview.c | 1 + output/outaout.c | 1 + output/outas86.c | 1 + output/outbin.c | 1 + output/outcoff.c | 1 + output/outelf.c | 1 + output/outieee.c | 1 + output/outlib.h | 1 + output/outmacho.c | 1 + output/outobj.c | 1 + output/outrdf2.c | 1 + stdlib/vsnprintf.c | 1 + 38 files changed, 1252 insertions(+), 1177 deletions(-) create mode 100644 asm/directiv.c rename {nasmlib => asm}/error.c (62%) diff --git a/Makefile.in b/Makefile.in index 6f48ee57..ddbf60f2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -92,7 +92,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ stdlib/strnlen.$(O) \ nasmlib/ver.$(O) \ nasmlib/crc64.$(O) nasmlib/malloc.$(O) \ - nasmlib/error.$(O) nasmlib/md5c.$(O) nasmlib/string.$(O) \ + nasmlib/md5c.$(O) nasmlib/string.$(O) \ nasmlib/file.$(O) nasmlib/mmap.$(O) nasmlib/ilog2.$(O) \ nasmlib/realpath.$(O) nasmlib/filename.$(O) nasmlib/srcfile.$(O) \ nasmlib/zerobuf.$(O) nasmlib/readnum.$(O) nasmlib/bsi.$(O) \ @@ -104,8 +104,9 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ x86/regs.$(O) x86/regvals.$(O) x86/regflags.$(O) x86/regdis.$(O) \ x86/disp8.$(O) x86/iflag.$(O) \ \ + asm/error.$(O) \ asm/float.$(O) \ - asm/directbl.$(O) \ + asm/directiv.$(O) asm/directbl.$(O) \ asm/assemble.$(O) asm/labels.$(O) asm/parser.$(O) \ asm/preproc.$(O) asm/quote.$(O) asm/pptok.$(O) \ asm/listing.$(O) asm/eval.$(O) asm/exprlib.$(O) asm/exprdump.$(O) \ @@ -383,19 +384,30 @@ alldeps: perlreq tools/syncfiles.pl tools/mkdep.pl asm/assemble.$(O): asm/assemble.c asm/assemble.h asm/directiv.h \ asm/listing.h asm/pptok.h asm/preproc.h asm/tokens.h config/config.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/disp8.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ - include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/disp8.h include/error.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/directbl.$(O): asm/directbl.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h \ include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ x86/insnsi.h x86/regs.h -asm/eval.$(O): asm/eval.c asm/directiv.h asm/eval.h asm/float.h asm/pptok.h \ - asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/labels.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ - include/tables.h x86/insnsi.h x86/regs.h +asm/directiv.$(O): asm/directiv.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/listing.h asm/pptok.h asm/preproc.h asm/stdscan.h \ + config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/iflag.h include/labels.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h output/outform.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h +asm/error.$(O): asm/error.c config/config.h config/msvc.h config/unknown.h \ + config/watcom.h include/compiler.h include/error.h include/nasmint.h \ + include/nasmlib.h +asm/eval.$(O): asm/eval.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/pptok.h asm/preproc.h config/config.h config/msvc.h \ + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/iflag.h include/labels.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/exprdump.$(O): asm/exprdump.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ @@ -408,47 +420,47 @@ asm/exprlib.$(O): asm/exprlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ x86/regs.h asm/float.$(O): asm/float.c asm/directiv.h asm/float.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h -asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ - config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/hashtbl.h include/labels.h include/nasm.h \ + config/watcom.h include/compiler.h include/error.h include/nasm.h \ include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ include/tables.h x86/insnsi.h x86/regs.h +asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ + config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/hashtbl.h include/labels.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h asm/listing.$(O): asm/listing.c asm/directiv.h asm/listing.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/nasm.$(O): asm/nasm.c asm/assemble.h asm/directiv.h asm/eval.h \ asm/float.h asm/listing.h asm/parser.h asm/pptok.h asm/preproc.h \ asm/stdscan.h asm/tokens.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/iflag.h include/insns.h \ - include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/raa.h include/saa.h include/strlist.h \ - include/tables.h include/ver.h output/outform.h x86/iflaggen.h x86/insnsi.h \ - x86/regs.h -asm/parser.$(O): asm/parser.c asm/directiv.h asm/eval.h asm/float.h \ - asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h asm/tokens.h \ - config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ - include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/iflag.h \ + include/insns.h include/labels.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ + include/strlist.h include/tables.h include/ver.h output/outform.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h +asm/parser.$(O): asm/parser.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h \ + asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/pptok.$(O): asm/pptok.c asm/pptok.h asm/preproc.h config/config.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ include/hashtbl.h include/nasmint.h include/nasmlib.h asm/preproc-nop.$(O): asm/preproc-nop.c asm/directiv.h asm/listing.h \ asm/pptok.h asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/preproc.$(O): asm/preproc.c asm/directiv.h asm/eval.h asm/listing.h \ asm/pptok.h asm/preproc.h asm/quote.h asm/stdscan.h asm/tokens.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/hashtbl.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/quote.$(O): asm/quote.c asm/quote.h config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h @@ -464,10 +476,10 @@ asm/segalloc.$(O): asm/segalloc.c asm/directiv.h asm/pptok.h asm/preproc.h \ include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/stdscan.$(O): asm/stdscan.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/quote.h asm/stdscan.h asm/tokens.h config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/iflag.h \ - include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h x86/iflaggen.h \ - x86/insnsi.h x86/regs.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/strfunc.$(O): asm/strfunc.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ @@ -493,9 +505,9 @@ disasm/disasm.$(O): disasm/disasm.c asm/directiv.h asm/pptok.h asm/preproc.h \ disasm/ndisasm.$(O): disasm/ndisasm.c asm/directiv.h asm/pptok.h \ asm/preproc.h asm/tokens.h config/config.h config/msvc.h config/unknown.h \ config/watcom.h disasm/disasm.h disasm/sync.h include/compiler.h \ - include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - include/ver.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/error.h include/iflag.h include/insns.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h include/ver.h x86/iflaggen.h x86/insnsi.h x86/regs.h disasm/sync.$(O): disasm/sync.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h disasm/sync.h include/compiler.h \ include/nasmint.h include/nasmlib.h @@ -510,15 +522,12 @@ nasmlib/bsi.$(O): nasmlib/bsi.c config/config.h config/msvc.h \ nasmlib/crc64.$(O): nasmlib/crc64.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h \ include/nasmint.h include/nasmlib.h -nasmlib/error.$(O): nasmlib/error.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h nasmlib/file.$(O): nasmlib/file.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h nasmlib/file.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/filename.$(O): nasmlib/filename.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/hashtbl.h include/nasm.h \ @@ -528,14 +537,14 @@ nasmlib/ilog2.$(O): nasmlib/ilog2.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h nasmlib/malloc.$(O): nasmlib/malloc.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/md5c.$(O): nasmlib/md5c.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/md5.h \ include/nasmint.h nasmlib/mmap.$(O): nasmlib/mmap.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h nasmlib/file.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/raa.$(O): nasmlib/raa.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h include/raa.h @@ -544,9 +553,9 @@ nasmlib/rbtree.$(O): nasmlib/rbtree.c config/config.h config/msvc.h \ include/rbtree.h nasmlib/readnum.$(O): nasmlib/readnum.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h nasmlib/realpath.$(O): nasmlib/realpath.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h @@ -568,60 +577,60 @@ nasmlib/zerobuf.$(O): nasmlib/zerobuf.c config/config.h config/msvc.h \ include/nasmlib.h output/codeview.$(O): output/codeview.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/hashtbl.h include/md5.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/saa.h include/strlist.h include/tables.h output/outlib.h \ - output/pecoff.h version.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/hashtbl.h \ + include/md5.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/saa.h include/strlist.h include/tables.h \ + output/outlib.h output/pecoff.h version.h x86/insnsi.h x86/regs.h output/legacy.$(O): output/legacy.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outlib.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/nullout.$(O): output/nullout.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/outaout.$(O): output/outaout.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/labels.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/labels.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - output/pecoff.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h output/pecoff.h x86/insnsi.h x86/regs.h output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outform.h \ - output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outelf.$(O): output/outelf.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h \ - include/saa.h include/strlist.h include/tables.h include/ver.h \ - output/dwarf.h output/elf.h output/outelf.h output/outform.h \ + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/rbtree.h include/saa.h include/strlist.h include/tables.h \ + include/ver.h output/dwarf.h output/elf.h output/outelf.h output/outform.h \ output/outlib.h output/stabs.h x86/insnsi.h x86/regs.h output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ @@ -630,31 +639,33 @@ output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h \ output/outform.h x86/insnsi.h x86/regs.h output/outieee.$(O): output/outieee.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h include/ver.h output/outform.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/outlib.$(O): output/outlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outlib.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outmacho.$(O): output/outmacho.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h \ - include/saa.h include/strlist.h include/tables.h output/outform.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/rbtree.h include/saa.h include/strlist.h include/tables.h \ + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outobj.$(O): output/outobj.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h include/ver.h output/outform.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/outrdf2.$(O): output/outrdf2.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/rdoff.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/rdoff.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h stdlib/snprintf.$(O): stdlib/snprintf.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h @@ -663,8 +674,8 @@ stdlib/strlcpy.$(O): stdlib/strlcpy.c config/config.h config/msvc.h \ stdlib/strnlen.$(O): stdlib/strnlen.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h stdlib/vsnprintf.$(O): stdlib/vsnprintf.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h x86/disp8.$(O): x86/disp8.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/disp8.h include/nasm.h include/nasmint.h \ diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index b7555ba8..3c33c972 100644 --- a/Mkfiles/msvc.mak +++ b/Mkfiles/msvc.mak @@ -60,7 +60,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ stdlib/strnlen.$(O) \ nasmlib/ver.$(O) \ nasmlib/crc64.$(O) nasmlib/malloc.$(O) \ - nasmlib/error.$(O) nasmlib/md5c.$(O) nasmlib/string.$(O) \ + nasmlib/md5c.$(O) nasmlib/string.$(O) \ nasmlib/file.$(O) nasmlib/mmap.$(O) nasmlib/ilog2.$(O) \ nasmlib/realpath.$(O) nasmlib/filename.$(O) nasmlib/srcfile.$(O) \ nasmlib/zerobuf.$(O) nasmlib/readnum.$(O) nasmlib/bsi.$(O) \ @@ -72,8 +72,9 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ x86/regs.$(O) x86/regvals.$(O) x86/regflags.$(O) x86/regdis.$(O) \ x86/disp8.$(O) x86/iflag.$(O) \ \ + asm/error.$(O) \ asm/float.$(O) \ - asm/directbl.$(O) \ + asm/directiv.$(O) asm/directbl.$(O) \ asm/assemble.$(O) asm/labels.$(O) asm/parser.$(O) \ asm/preproc.$(O) asm/quote.$(O) asm/pptok.$(O) \ asm/listing.$(O) asm/eval.$(O) asm/exprlib.$(O) asm/exprdump.$(O) \ @@ -272,18 +273,27 @@ everything: all doc rdf asm/assemble.$(O): asm/assemble.c asm/assemble.h asm/directiv.h \ asm/listing.h asm/pptok.h asm/preproc.h asm/tokens.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/disp8.h \ - include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/iflaggen.h x86/insnsi.h x86/regs.h + include/error.h include/iflag.h include/insns.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/directbl.$(O): asm/directbl.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ include/hashtbl.h include/nasm.h include/nasmint.h include/nasmlib.h \ include/opflags.h include/strlist.h include/tables.h x86/insnsi.h \ x86/regs.h -asm/eval.$(O): asm/eval.c asm/directiv.h asm/eval.h asm/float.h asm/pptok.h \ - asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/labels.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ +asm/directiv.$(O): asm/directiv.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/listing.h asm/pptok.h asm/preproc.h asm/stdscan.h \ + config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ + include/error.h include/iflag.h include/labels.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h +asm/error.$(O): asm/error.c config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/nasmint.h include/nasmlib.h +asm/eval.$(O): asm/eval.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/pptok.h asm/preproc.h config/msvc.h config/unknown.h \ + config/watcom.h include/compiler.h include/error.h include/iflag.h \ + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/strlist.h include/tables.h x86/iflaggen.h \ x86/insnsi.h x86/regs.h asm/exprdump.$(O): asm/exprdump.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ @@ -295,46 +305,47 @@ asm/exprlib.$(O): asm/exprlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ include/strlist.h include/tables.h x86/insnsi.h x86/regs.h asm/float.$(O): asm/float.c asm/directiv.h asm/float.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h \ - x86/regs.h -asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ - config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/hashtbl.h include/labels.h include/nasm.h include/nasmint.h \ + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ x86/insnsi.h x86/regs.h +asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ + config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ + include/error.h include/hashtbl.h include/labels.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/listing.$(O): asm/listing.c asm/directiv.h asm/listing.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h \ - x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/insnsi.h x86/regs.h asm/nasm.$(O): asm/nasm.c asm/assemble.h asm/directiv.h asm/eval.h \ asm/float.h asm/listing.h asm/parser.h asm/pptok.h asm/preproc.h \ asm/stdscan.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/labels.h \ + include/compiler.h include/error.h include/iflag.h include/insns.h \ + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/raa.h include/saa.h include/strlist.h \ + include/tables.h include/ver.h output/outform.h x86/iflaggen.h x86/insnsi.h \ + x86/regs.h +asm/parser.$(O): asm/parser.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h \ + asm/tokens.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/iflag.h include/insns.h \ include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/raa.h include/saa.h include/strlist.h include/tables.h \ - include/ver.h output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h -asm/parser.$(O): asm/parser.c asm/directiv.h asm/eval.h asm/float.h \ - asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h asm/tokens.h \ - config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/iflaggen.h x86/insnsi.h x86/regs.h + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/pptok.$(O): asm/pptok.c asm/pptok.h asm/preproc.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h \ include/nasmint.h include/nasmlib.h asm/preproc-nop.$(O): asm/preproc-nop.c asm/directiv.h asm/listing.h \ asm/pptok.h asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h \ - x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/insnsi.h x86/regs.h asm/preproc.$(O): asm/preproc.c asm/directiv.h asm/eval.h asm/listing.h \ asm/pptok.h asm/preproc.h asm/quote.h asm/stdscan.h asm/tokens.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/hashtbl.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h \ - x86/regs.h + include/error.h include/hashtbl.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/insnsi.h x86/regs.h asm/quote.$(O): asm/quote.c asm/quote.h config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h asm/rdstrnum.$(O): asm/rdstrnum.c asm/directiv.h asm/pptok.h asm/preproc.h \ @@ -348,9 +359,10 @@ asm/segalloc.$(O): asm/segalloc.c asm/directiv.h asm/pptok.h asm/preproc.h \ include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/stdscan.$(O): asm/stdscan.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/quote.h asm/stdscan.h asm/tokens.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/iflag.h include/insns.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/iflag.h \ + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/strlist.h include/tables.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h asm/strfunc.$(O): asm/strfunc.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ @@ -373,10 +385,10 @@ disasm/disasm.$(O): disasm/disasm.c asm/directiv.h asm/pptok.h asm/preproc.h \ x86/insnsi.h x86/regdis.h x86/regs.h disasm/ndisasm.$(O): disasm/ndisasm.c asm/directiv.h asm/pptok.h \ asm/preproc.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h \ - disasm/disasm.h disasm/sync.h include/compiler.h include/iflag.h \ - include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h include/ver.h \ - x86/iflaggen.h x86/insnsi.h x86/regs.h + disasm/disasm.h disasm/sync.h include/compiler.h include/error.h \ + include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + include/ver.h x86/iflaggen.h x86/insnsi.h x86/regs.h disasm/sync.$(O): disasm/sync.c config/msvc.h config/unknown.h \ config/watcom.h disasm/sync.h include/compiler.h include/nasmint.h \ include/nasmlib.h @@ -390,13 +402,12 @@ nasmlib/bsi.$(O): nasmlib/bsi.c config/msvc.h config/unknown.h \ nasmlib/crc64.$(O): nasmlib/crc64.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/hashtbl.h include/nasmint.h \ include/nasmlib.h -nasmlib/error.$(O): nasmlib/error.c config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h nasmlib/file.$(O): nasmlib/file.c config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h \ - nasmlib/file.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h \ + include/nasmlib.h nasmlib/file.h nasmlib/filename.$(O): nasmlib/filename.c config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h \ + include/nasmlib.h nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h \ @@ -405,12 +416,13 @@ nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h \ nasmlib/ilog2.$(O): nasmlib/ilog2.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h nasmlib/malloc.$(O): nasmlib/malloc.c config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h \ + include/nasmlib.h nasmlib/md5c.$(O): nasmlib/md5c.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/md5.h include/nasmint.h nasmlib/mmap.$(O): nasmlib/mmap.c config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h \ - nasmlib/file.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h \ + include/nasmlib.h nasmlib/file.h nasmlib/raa.$(O): nasmlib/raa.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h \ include/raa.h @@ -418,9 +430,9 @@ nasmlib/rbtree.$(O): nasmlib/rbtree.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/rbtree.h nasmlib/readnum.$(O): nasmlib/readnum.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h \ - x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/insnsi.h x86/regs.h nasmlib/realpath.$(O): nasmlib/realpath.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h nasmlib/saa.$(O): nasmlib/saa.c config/msvc.h config/unknown.h \ @@ -439,57 +451,61 @@ nasmlib/zerobuf.$(O): nasmlib/zerobuf.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h output/codeview.$(O): output/codeview.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/hashtbl.h include/md5.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/saa.h \ - include/strlist.h include/tables.h output/outlib.h output/pecoff.h \ - version.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/hashtbl.h include/md5.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/saa.h include/strlist.h include/tables.h output/outlib.h \ + output/pecoff.h version.h x86/insnsi.h x86/regs.h output/legacy.$(O): output/legacy.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h + include/error.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/strlist.h include/tables.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outlib.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/nullout.$(O): output/nullout.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outlib.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outaout.$(O): output/outaout.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/raa.h include/saa.h include/strlist.h \ - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h -output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h \ - asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/raa.h include/saa.h include/strlist.h \ - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h -output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h \ - asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/labels.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/saa.h include/strlist.h \ - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h -output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h \ - asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/raa.h include/saa.h include/strlist.h \ - include/tables.h output/outform.h output/outlib.h output/pecoff.h \ - x86/insnsi.h x86/regs.h -output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h \ - config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ include/strlist.h include/tables.h output/outform.h output/outlib.h \ x86/insnsi.h x86/regs.h +output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h \ + asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ + include/strlist.h include/tables.h output/outform.h output/outlib.h \ + x86/insnsi.h x86/regs.h +output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h \ + asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/labels.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/saa.h \ + include/strlist.h include/tables.h output/outform.h output/outlib.h \ + x86/insnsi.h x86/regs.h +output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h \ + asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ + include/strlist.h include/tables.h output/outform.h output/outlib.h \ + output/pecoff.h x86/insnsi.h x86/regs.h +output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h \ + config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ + include/error.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outelf.$(O): output/outelf.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/raa.h include/rbtree.h include/saa.h \ - include/strlist.h include/tables.h include/ver.h output/dwarf.h \ - output/elf.h output/outelf.h output/outform.h output/outlib.h \ - output/stabs.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h \ + include/saa.h include/strlist.h include/tables.h include/ver.h \ + output/dwarf.h output/elf.h output/outelf.h output/outform.h \ + output/outlib.h output/stabs.h x86/insnsi.h x86/regs.h output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ @@ -497,29 +513,31 @@ output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h \ x86/insnsi.h x86/regs.h output/outieee.$(O): output/outieee.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h include/ver.h \ - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outlib.$(O): output/outlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h + include/error.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/strlist.h include/tables.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/outmacho.$(O): output/outmacho.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/raa.h include/rbtree.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outobj.$(O): output/outobj.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h include/ver.h \ - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outrdf2.$(O): output/outrdf2.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/rdoff.h include/saa.h include/strlist.h \ - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/rdoff.h include/saa.h \ + include/strlist.h include/tables.h output/outform.h output/outlib.h \ + x86/insnsi.h x86/regs.h stdlib/snprintf.$(O): stdlib/snprintf.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h stdlib/strlcpy.$(O): stdlib/strlcpy.c config/msvc.h config/unknown.h \ @@ -527,7 +545,8 @@ stdlib/strlcpy.$(O): stdlib/strlcpy.c config/msvc.h config/unknown.h \ stdlib/strnlen.$(O): stdlib/strnlen.c config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h stdlib/vsnprintf.$(O): stdlib/vsnprintf.c config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h \ + include/nasmlib.h x86/disp8.$(O): x86/disp8.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ include/disp8.h include/nasm.h include/nasmint.h include/nasmlib.h \ diff --git a/Mkfiles/netware.mak b/Mkfiles/netware.mak index 1581a435..5ede0a65 100644 --- a/Mkfiles/netware.mak +++ b/Mkfiles/netware.mak @@ -37,7 +37,7 @@ LIBOBJ = snprintf.o vsnprintf.o strlcpy.o \ strnlen.o \ ver.o \ crc64.o malloc.o \ - error.o md5c.o string.o \ + md5c.o string.o \ file.o mmap.o ilog2.o \ realpath.o filename.o srcfile.o \ zerobuf.o readnum.o bsi.o \ @@ -49,8 +49,9 @@ LIBOBJ = snprintf.o vsnprintf.o strlcpy.o \ regs.o regvals.o regflags.o regdis.o \ disp8.o iflag.o \ \ + error.o \ float.o \ - directbl.o \ + directiv.o directbl.o \ assemble.o labels.o parser.o \ preproc.o quote.o pptok.o \ listing.o eval.o exprlib.o exprdump.o \ @@ -152,15 +153,22 @@ $(OBJDIR)/version.mak: $(PROOT)/version $(PROOT)/version.pl $(OBJDIR) # @continuation: "\" #-- Everything below is generated by mkdep.pl - do not edit --# assemble.o: assemble.c assemble.h directiv.h listing.h pptok.h preproc.h \ - tokens.h config.h msvc.h unknown.h watcom.h compiler.h disp8.h iflag.h \ - insns.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h iflaggen.h \ - insnsi.h regs.h + tokens.h config.h msvc.h unknown.h watcom.h compiler.h disp8.h error.h \ + iflag.h insns.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ + iflaggen.h insnsi.h regs.h directbl.o: directbl.c directiv.h pptok.h preproc.h config.h msvc.h \ unknown.h watcom.h compiler.h hashtbl.h nasm.h nasmint.h nasmlib.h \ opflags.h strlist.h tables.h insnsi.h regs.h -eval.o: eval.c directiv.h eval.h float.h pptok.h preproc.h config.h msvc.h \ - unknown.h watcom.h compiler.h labels.h nasm.h nasmint.h nasmlib.h opflags.h \ - strlist.h tables.h insnsi.h regs.h +directiv.o: directiv.c assemble.h directiv.h eval.h float.h listing.h \ + pptok.h preproc.h stdscan.h config.h msvc.h unknown.h watcom.h compiler.h \ + error.h iflag.h labels.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h outform.h iflaggen.h insnsi.h regs.h +error.o: error.c config.h msvc.h unknown.h watcom.h compiler.h error.h \ + nasmint.h nasmlib.h +eval.o: eval.c assemble.h directiv.h eval.h float.h pptok.h preproc.h \ + config.h msvc.h unknown.h watcom.h compiler.h error.h iflag.h labels.h \ + nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h iflaggen.h insnsi.h \ + regs.h exprdump.o: exprdump.c directiv.h pptok.h preproc.h config.h msvc.h \ unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h \ strlist.h tables.h insnsi.h regs.h @@ -168,30 +176,32 @@ exprlib.o: exprlib.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ insnsi.h regs.h float.o: float.c directiv.h float.h pptok.h preproc.h config.h msvc.h \ - unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h \ + unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h \ strlist.h tables.h insnsi.h regs.h labels.o: labels.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h hashtbl.h labels.h nasm.h nasmint.h nasmlib.h opflags.h \ - strlist.h tables.h insnsi.h regs.h + watcom.h compiler.h error.h hashtbl.h labels.h nasm.h nasmint.h nasmlib.h \ + opflags.h strlist.h tables.h insnsi.h regs.h listing.o: listing.c directiv.h listing.h pptok.h preproc.h config.h msvc.h \ - unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h \ + unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h \ strlist.h tables.h insnsi.h regs.h nasm.o: nasm.c assemble.h directiv.h eval.h float.h listing.h parser.h \ pptok.h preproc.h stdscan.h tokens.h config.h msvc.h unknown.h watcom.h \ - compiler.h iflag.h insns.h labels.h nasm.h nasmint.h nasmlib.h opflags.h \ - raa.h saa.h strlist.h tables.h ver.h outform.h iflaggen.h insnsi.h regs.h -parser.o: parser.c directiv.h eval.h float.h parser.h pptok.h preproc.h \ - stdscan.h tokens.h config.h msvc.h unknown.h watcom.h compiler.h iflag.h \ - insns.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h iflaggen.h \ + compiler.h error.h iflag.h insns.h labels.h nasm.h nasmint.h nasmlib.h \ + opflags.h raa.h saa.h strlist.h tables.h ver.h outform.h iflaggen.h \ insnsi.h regs.h +parser.o: parser.c assemble.h directiv.h eval.h float.h parser.h pptok.h \ + preproc.h stdscan.h tokens.h config.h msvc.h unknown.h watcom.h compiler.h \ + error.h iflag.h insns.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h iflaggen.h insnsi.h regs.h pptok.o: pptok.c pptok.h preproc.h config.h msvc.h unknown.h watcom.h \ compiler.h hashtbl.h nasmint.h nasmlib.h preproc-nop.o: preproc-nop.c directiv.h listing.h pptok.h preproc.h config.h \ - msvc.h unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h \ - strlist.h tables.h insnsi.h regs.h + msvc.h unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h \ + opflags.h strlist.h tables.h insnsi.h regs.h preproc.o: preproc.c directiv.h eval.h listing.h pptok.h preproc.h quote.h \ - stdscan.h tokens.h config.h msvc.h unknown.h watcom.h compiler.h hashtbl.h \ - nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h insnsi.h regs.h + stdscan.h tokens.h config.h msvc.h unknown.h watcom.h compiler.h error.h \ + hashtbl.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h insnsi.h \ + regs.h quote.o: quote.c quote.h config.h msvc.h unknown.h watcom.h compiler.h \ nasmint.h nasmlib.h rdstrnum.o: rdstrnum.c directiv.h pptok.h preproc.h config.h msvc.h \ @@ -201,8 +211,9 @@ segalloc.o: segalloc.c directiv.h pptok.h preproc.h tokens.h config.h msvc.h \ unknown.h watcom.h compiler.h iflag.h insns.h nasm.h nasmint.h nasmlib.h \ opflags.h strlist.h tables.h iflaggen.h insnsi.h regs.h stdscan.o: stdscan.c directiv.h pptok.h preproc.h quote.h stdscan.h tokens.h \ - config.h msvc.h unknown.h watcom.h compiler.h iflag.h insns.h nasm.h \ - nasmint.h nasmlib.h opflags.h strlist.h tables.h iflaggen.h insnsi.h regs.h + config.h msvc.h unknown.h watcom.h compiler.h error.h iflag.h insns.h \ + nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h iflaggen.h insnsi.h \ + regs.h strfunc.o: strfunc.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ insnsi.h regs.h @@ -218,9 +229,9 @@ disasm.o: disasm.c directiv.h pptok.h preproc.h tokens.h config.h msvc.h \ nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h iflaggen.h insnsi.h \ regdis.h regs.h ndisasm.o: ndisasm.c directiv.h pptok.h preproc.h tokens.h config.h msvc.h \ - unknown.h watcom.h disasm.h sync.h compiler.h iflag.h insns.h nasm.h \ - nasmint.h nasmlib.h opflags.h strlist.h tables.h ver.h iflaggen.h insnsi.h \ - regs.h + unknown.h watcom.h disasm.h sync.h compiler.h error.h iflag.h insns.h \ + nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h ver.h iflaggen.h \ + insnsi.h regs.h sync.o: sync.c config.h msvc.h unknown.h watcom.h sync.h compiler.h \ nasmint.h nasmlib.h macros.o: macros.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ @@ -230,29 +241,27 @@ bsi.o: bsi.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ nasmlib.h crc64.o: crc64.c config.h msvc.h unknown.h watcom.h compiler.h hashtbl.h \ nasmint.h nasmlib.h -error.o: error.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ - nasmlib.h -file.o: file.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ - nasmlib.h file.h -filename.o: filename.c config.h msvc.h unknown.h watcom.h compiler.h \ +file.o: file.c config.h msvc.h unknown.h watcom.h compiler.h error.h \ + nasmint.h nasmlib.h file.h +filename.o: filename.c config.h msvc.h unknown.h watcom.h compiler.h error.h \ nasmint.h nasmlib.h hashtbl.o: hashtbl.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ watcom.h compiler.h hashtbl.h nasm.h nasmint.h nasmlib.h opflags.h \ strlist.h tables.h insnsi.h regs.h ilog2.o: ilog2.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ nasmlib.h -malloc.o: malloc.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ - nasmlib.h +malloc.o: malloc.c config.h msvc.h unknown.h watcom.h compiler.h error.h \ + nasmint.h nasmlib.h md5c.o: md5c.c config.h msvc.h unknown.h watcom.h compiler.h md5.h nasmint.h -mmap.o: mmap.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ - nasmlib.h file.h +mmap.o: mmap.c config.h msvc.h unknown.h watcom.h compiler.h error.h \ + nasmint.h nasmlib.h file.h raa.o: raa.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ nasmlib.h raa.h rbtree.o: rbtree.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ rbtree.h readnum.o: readnum.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ - insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h insnsi.h regs.h realpath.o: realpath.c config.h msvc.h unknown.h watcom.h compiler.h \ nasmint.h nasmlib.h saa.o: saa.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ @@ -267,61 +276,62 @@ ver.o: ver.c ver.h version.h zerobuf.o: zerobuf.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h \ nasmlib.h codeview.o: codeview.c directiv.h pptok.h preproc.h config.h msvc.h \ - unknown.h watcom.h compiler.h hashtbl.h md5.h nasm.h nasmint.h nasmlib.h \ - opflags.h saa.h strlist.h tables.h outlib.h pecoff.h version.h insnsi.h \ - regs.h + unknown.h watcom.h compiler.h error.h hashtbl.h md5.h nasm.h nasmint.h \ + nasmlib.h opflags.h saa.h strlist.h tables.h outlib.h pecoff.h version.h \ + insnsi.h regs.h legacy.o: legacy.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ - outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h outlib.h insnsi.h regs.h nulldbg.o: nulldbg.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ - outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h outlib.h insnsi.h regs.h nullout.o: nullout.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ - outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h outlib.h insnsi.h regs.h outaout.o: outaout.c directiv.h eval.h pptok.h preproc.h stdscan.h config.h \ - msvc.h unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h \ - raa.h saa.h strlist.h tables.h outform.h outlib.h insnsi.h regs.h + msvc.h unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h \ + opflags.h raa.h saa.h strlist.h tables.h outform.h outlib.h insnsi.h regs.h outas86.o: outas86.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h raa.h saa.h \ - strlist.h tables.h outform.h outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h raa.h \ + saa.h strlist.h tables.h outform.h outlib.h insnsi.h regs.h outbin.o: outbin.c directiv.h eval.h pptok.h preproc.h stdscan.h config.h \ - msvc.h unknown.h watcom.h compiler.h labels.h nasm.h nasmint.h nasmlib.h \ - opflags.h saa.h strlist.h tables.h outform.h outlib.h insnsi.h regs.h + msvc.h unknown.h watcom.h compiler.h error.h labels.h nasm.h nasmint.h \ + nasmlib.h opflags.h saa.h strlist.h tables.h outform.h outlib.h insnsi.h \ + regs.h outcoff.o: outcoff.c directiv.h eval.h pptok.h preproc.h config.h msvc.h \ - unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h raa.h \ - saa.h strlist.h tables.h outform.h outlib.h pecoff.h insnsi.h regs.h + unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h \ + raa.h saa.h strlist.h tables.h outform.h outlib.h pecoff.h insnsi.h regs.h outdbg.o: outdbg.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ - outform.h outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h outform.h outlib.h insnsi.h regs.h outelf.o: outelf.c directiv.h eval.h pptok.h preproc.h stdscan.h config.h \ - msvc.h unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h \ - raa.h rbtree.h saa.h strlist.h tables.h ver.h dwarf.h elf.h outelf.h \ - outform.h outlib.h stabs.h insnsi.h regs.h + msvc.h unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h \ + opflags.h raa.h rbtree.h saa.h strlist.h tables.h ver.h dwarf.h elf.h \ + outelf.h outform.h outlib.h stabs.h insnsi.h regs.h outform.o: outform.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ outform.h insnsi.h regs.h outieee.o: outieee.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ - ver.h outform.h outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h ver.h outform.h outlib.h insnsi.h regs.h outlib.o: outlib.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h tables.h \ - outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ + tables.h outlib.h insnsi.h regs.h outmacho.o: outmacho.c directiv.h pptok.h preproc.h config.h msvc.h \ - unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h raa.h \ - rbtree.h saa.h strlist.h tables.h outform.h outlib.h insnsi.h regs.h + unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h \ + raa.h rbtree.h saa.h strlist.h tables.h outform.h outlib.h insnsi.h regs.h outobj.o: outobj.c directiv.h eval.h pptok.h preproc.h stdscan.h config.h \ - msvc.h unknown.h watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h \ - strlist.h tables.h ver.h outform.h outlib.h insnsi.h regs.h + msvc.h unknown.h watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h \ + opflags.h strlist.h tables.h ver.h outform.h outlib.h insnsi.h regs.h outrdf2.o: outrdf2.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ - watcom.h compiler.h nasm.h nasmint.h nasmlib.h opflags.h rdoff.h saa.h \ - strlist.h tables.h outform.h outlib.h insnsi.h regs.h + watcom.h compiler.h error.h nasm.h nasmint.h nasmlib.h opflags.h rdoff.h \ + saa.h strlist.h tables.h outform.h outlib.h insnsi.h regs.h snprintf.o: snprintf.c config.h msvc.h unknown.h watcom.h compiler.h \ nasmint.h nasmlib.h strlcpy.o: strlcpy.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h strnlen.o: strnlen.c config.h msvc.h unknown.h watcom.h compiler.h nasmint.h vsnprintf.o: vsnprintf.c config.h msvc.h unknown.h watcom.h compiler.h \ - nasmint.h nasmlib.h + error.h nasmint.h nasmlib.h disp8.o: disp8.c directiv.h pptok.h preproc.h config.h msvc.h unknown.h \ watcom.h compiler.h disp8.h nasm.h nasmint.h nasmlib.h opflags.h strlist.h \ tables.h insnsi.h regs.h diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index a4ee2238..ae550181 100644 --- a/Mkfiles/openwcom.mak +++ b/Mkfiles/openwcom.mak @@ -53,7 +53,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) & stdlib/strnlen.$(O) & nasmlib/ver.$(O) & nasmlib/crc64.$(O) nasmlib/malloc.$(O) & - nasmlib/error.$(O) nasmlib/md5c.$(O) nasmlib/string.$(O) & + nasmlib/md5c.$(O) nasmlib/string.$(O) & nasmlib/file.$(O) nasmlib/mmap.$(O) nasmlib/ilog2.$(O) & nasmlib/realpath.$(O) nasmlib/filename.$(O) nasmlib/srcfile.$(O) & nasmlib/zerobuf.$(O) nasmlib/readnum.$(O) nasmlib/bsi.$(O) & @@ -65,8 +65,9 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) & x86/regs.$(O) x86/regvals.$(O) x86/regflags.$(O) x86/regdis.$(O) & x86/disp8.$(O) x86/iflag.$(O) & & + asm/error.$(O) & asm/float.$(O) & - asm/directbl.$(O) & + asm/directiv.$(O) asm/directbl.$(O) & asm/assemble.$(O) asm/labels.$(O) asm/parser.$(O) & asm/preproc.$(O) asm/quote.$(O) asm/pptok.$(O) & asm/listing.$(O) asm/eval.$(O) asm/exprlib.$(O) asm/exprdump.$(O) & @@ -274,18 +275,27 @@ alldeps: perlreq .SYMBOLIC asm/assemble.$(O): asm/assemble.c asm/assemble.h asm/directiv.h & asm/listing.h asm/pptok.h asm/preproc.h asm/tokens.h config/msvc.h & config/unknown.h config/watcom.h include/compiler.h include/disp8.h & - include/iflag.h include/insns.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & - x86/iflaggen.h x86/insnsi.h x86/regs.h + include/error.h include/iflag.h include/insns.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h & + include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/directbl.$(O): asm/directbl.c asm/directiv.h asm/pptok.h asm/preproc.h & config/msvc.h config/unknown.h config/watcom.h include/compiler.h & include/hashtbl.h include/nasm.h include/nasmint.h include/nasmlib.h & include/opflags.h include/strlist.h include/tables.h x86/insnsi.h & x86/regs.h -asm/eval.$(O): asm/eval.c asm/directiv.h asm/eval.h asm/float.h asm/pptok.h & - asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/labels.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & +asm/directiv.$(O): asm/directiv.c asm/assemble.h asm/directiv.h asm/eval.h & + asm/float.h asm/listing.h asm/pptok.h asm/preproc.h asm/stdscan.h & + config/msvc.h config/unknown.h config/watcom.h include/compiler.h & + include/error.h include/iflag.h include/labels.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h & + include/tables.h output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h +asm/error.$(O): asm/error.c config/msvc.h config/unknown.h config/watcom.h & + include/compiler.h include/error.h include/nasmint.h include/nasmlib.h +asm/eval.$(O): asm/eval.c asm/assemble.h asm/directiv.h asm/eval.h & + asm/float.h asm/pptok.h asm/preproc.h config/msvc.h config/unknown.h & + config/watcom.h include/compiler.h include/error.h include/iflag.h & + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/strlist.h include/tables.h x86/iflaggen.h & x86/insnsi.h x86/regs.h asm/exprdump.$(O): asm/exprdump.c asm/directiv.h asm/pptok.h asm/preproc.h & config/msvc.h config/unknown.h config/watcom.h include/compiler.h & @@ -297,46 +307,47 @@ asm/exprlib.$(O): asm/exprlib.c asm/directiv.h asm/pptok.h asm/preproc.h & include/strlist.h include/tables.h x86/insnsi.h x86/regs.h asm/float.$(O): asm/float.c asm/directiv.h asm/float.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h -asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/hashtbl.h include/labels.h include/nasm.h include/nasmint.h & + include/compiler.h include/error.h include/nasm.h include/nasmint.h & include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & x86/insnsi.h x86/regs.h +asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h & + config/msvc.h config/unknown.h config/watcom.h include/compiler.h & + include/error.h include/hashtbl.h include/labels.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h & + include/tables.h x86/insnsi.h x86/regs.h asm/listing.$(O): asm/listing.c asm/directiv.h asm/listing.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h asm/nasm.$(O): asm/nasm.c asm/assemble.h asm/directiv.h asm/eval.h & asm/float.h asm/listing.h asm/parser.h asm/pptok.h asm/preproc.h & asm/stdscan.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/iflag.h include/insns.h include/labels.h & + include/compiler.h include/error.h include/iflag.h include/insns.h & + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/raa.h include/saa.h include/strlist.h & + include/tables.h include/ver.h output/outform.h x86/iflaggen.h x86/insnsi.h & + x86/regs.h +asm/parser.$(O): asm/parser.c asm/assemble.h asm/directiv.h asm/eval.h & + asm/float.h asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h & + asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & + include/compiler.h include/error.h include/iflag.h include/insns.h & include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/raa.h include/saa.h include/strlist.h include/tables.h & - include/ver.h output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h -asm/parser.$(O): asm/parser.c asm/directiv.h asm/eval.h asm/float.h & - asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h asm/tokens.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/iflag.h include/insns.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & - x86/iflaggen.h x86/insnsi.h x86/regs.h + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/pptok.$(O): asm/pptok.c asm/pptok.h asm/preproc.h config/msvc.h & config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h & include/nasmint.h include/nasmlib.h asm/preproc-nop.$(O): asm/preproc-nop.c asm/directiv.h asm/listing.h & asm/pptok.h asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h asm/preproc.$(O): asm/preproc.c asm/directiv.h asm/eval.h asm/listing.h & asm/pptok.h asm/preproc.h asm/quote.h asm/stdscan.h asm/tokens.h & config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/hashtbl.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + include/error.h include/hashtbl.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h asm/quote.$(O): asm/quote.c asm/quote.h config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h asm/rdstrnum.$(O): asm/rdstrnum.c asm/directiv.h asm/pptok.h asm/preproc.h & @@ -350,9 +361,10 @@ asm/segalloc.$(O): asm/segalloc.c asm/directiv.h asm/pptok.h asm/preproc.h & include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/stdscan.$(O): asm/stdscan.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/quote.h asm/stdscan.h asm/tokens.h config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/iflag.h include/insns.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/iflag.h & + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/strlist.h include/tables.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h asm/strfunc.$(O): asm/strfunc.c asm/directiv.h asm/pptok.h asm/preproc.h & config/msvc.h config/unknown.h config/watcom.h include/compiler.h & include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & @@ -375,10 +387,10 @@ disasm/disasm.$(O): disasm/disasm.c asm/directiv.h asm/pptok.h asm/preproc.h & x86/insnsi.h x86/regdis.h x86/regs.h disasm/ndisasm.$(O): disasm/ndisasm.c asm/directiv.h asm/pptok.h & asm/preproc.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - disasm/disasm.h disasm/sync.h include/compiler.h include/iflag.h & - include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h include/ver.h & - x86/iflaggen.h x86/insnsi.h x86/regs.h + disasm/disasm.h disasm/sync.h include/compiler.h include/error.h & + include/iflag.h include/insns.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + include/ver.h x86/iflaggen.h x86/insnsi.h x86/regs.h disasm/sync.$(O): disasm/sync.c config/msvc.h config/unknown.h & config/watcom.h disasm/sync.h include/compiler.h include/nasmint.h & include/nasmlib.h @@ -392,13 +404,12 @@ nasmlib/bsi.$(O): nasmlib/bsi.c config/msvc.h config/unknown.h & nasmlib/crc64.$(O): nasmlib/crc64.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/hashtbl.h include/nasmint.h & include/nasmlib.h -nasmlib/error.$(O): nasmlib/error.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h nasmlib/file.$(O): nasmlib/file.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h & - nasmlib/file.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h & + include/nasmlib.h nasmlib/file.h nasmlib/filename.$(O): nasmlib/filename.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h & + include/nasmlib.h nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h & @@ -407,12 +418,13 @@ nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h & nasmlib/ilog2.$(O): nasmlib/ilog2.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h nasmlib/malloc.$(O): nasmlib/malloc.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h & + include/nasmlib.h nasmlib/md5c.$(O): nasmlib/md5c.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/md5.h include/nasmint.h nasmlib/mmap.$(O): nasmlib/mmap.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h & - nasmlib/file.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h & + include/nasmlib.h nasmlib/file.h nasmlib/raa.$(O): nasmlib/raa.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h & include/raa.h @@ -420,9 +432,9 @@ nasmlib/rbtree.$(O): nasmlib/rbtree.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/rbtree.h nasmlib/readnum.$(O): nasmlib/readnum.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h nasmlib/realpath.$(O): nasmlib/realpath.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h nasmlib/saa.$(O): nasmlib/saa.c config/msvc.h config/unknown.h & @@ -441,57 +453,61 @@ nasmlib/zerobuf.$(O): nasmlib/zerobuf.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h output/codeview.$(O): output/codeview.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/hashtbl.h include/md5.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/saa.h & - include/strlist.h include/tables.h output/outlib.h output/pecoff.h & - version.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/hashtbl.h include/md5.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/saa.h include/strlist.h include/tables.h output/outlib.h & + output/pecoff.h version.h x86/insnsi.h x86/regs.h output/legacy.$(O): output/legacy.c asm/directiv.h asm/pptok.h asm/preproc.h & config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h + include/error.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/strlist.h include/tables.h output/outlib.h & + x86/insnsi.h x86/regs.h output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h output/outlib.h & - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + output/outlib.h x86/insnsi.h x86/regs.h output/nullout.$(O): output/nullout.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h output/outlib.h & - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + output/outlib.h x86/insnsi.h x86/regs.h output/outaout.$(O): output/outaout.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/raa.h include/saa.h include/strlist.h & - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h -output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h & - asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/raa.h include/saa.h include/strlist.h & - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h -output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h & - asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/labels.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/saa.h include/strlist.h & - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h -output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h & - asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/raa.h include/saa.h include/strlist.h & - include/tables.h output/outform.h output/outlib.h output/pecoff.h & - x86/insnsi.h x86/regs.h -output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/raa.h include/saa.h & include/strlist.h include/tables.h output/outform.h output/outlib.h & x86/insnsi.h x86/regs.h +output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h & + asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/raa.h include/saa.h & + include/strlist.h include/tables.h output/outform.h output/outlib.h & + x86/insnsi.h x86/regs.h +output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h & + asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & + include/compiler.h include/error.h include/labels.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/saa.h & + include/strlist.h include/tables.h output/outform.h output/outlib.h & + x86/insnsi.h x86/regs.h +output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h & + asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/raa.h include/saa.h & + include/strlist.h include/tables.h output/outform.h output/outlib.h & + output/pecoff.h x86/insnsi.h x86/regs.h +output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h & + config/msvc.h config/unknown.h config/watcom.h include/compiler.h & + include/error.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/strlist.h include/tables.h output/outform.h & + output/outlib.h x86/insnsi.h x86/regs.h output/outelf.$(O): output/outelf.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/raa.h include/rbtree.h include/saa.h & - include/strlist.h include/tables.h include/ver.h output/dwarf.h & - output/elf.h output/outelf.h output/outform.h output/outlib.h & - output/stabs.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h & + include/saa.h include/strlist.h include/tables.h include/ver.h & + output/dwarf.h output/elf.h output/outelf.h output/outform.h & + output/outlib.h output/stabs.h x86/insnsi.h x86/regs.h output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & @@ -499,29 +515,31 @@ output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h & x86/insnsi.h x86/regs.h output/outieee.$(O): output/outieee.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h include/ver.h & - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outlib.$(O): output/outlib.c asm/directiv.h asm/pptok.h asm/preproc.h & config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h + include/error.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/strlist.h include/tables.h output/outlib.h & + x86/insnsi.h x86/regs.h output/outmacho.$(O): output/outmacho.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/raa.h include/rbtree.h include/saa.h & - include/strlist.h include/tables.h output/outform.h output/outlib.h & - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h & + include/saa.h include/strlist.h include/tables.h output/outform.h & + output/outlib.h x86/insnsi.h x86/regs.h output/outobj.$(O): output/outobj.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/strlist.h include/tables.h include/ver.h & - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h & + include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outrdf2.$(O): output/outrdf2.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/rdoff.h include/saa.h include/strlist.h & - include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/rdoff.h include/saa.h & + include/strlist.h include/tables.h output/outform.h output/outlib.h & + x86/insnsi.h x86/regs.h stdlib/snprintf.$(O): stdlib/snprintf.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h stdlib/strlcpy.$(O): stdlib/strlcpy.c config/msvc.h config/unknown.h & @@ -529,7 +547,8 @@ stdlib/strlcpy.$(O): stdlib/strlcpy.c config/msvc.h config/unknown.h & stdlib/strnlen.$(O): stdlib/strnlen.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h stdlib/vsnprintf.$(O): stdlib/vsnprintf.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/compiler.h include/error.h include/nasmint.h & + include/nasmlib.h x86/disp8.$(O): x86/disp8.c asm/directiv.h asm/pptok.h asm/preproc.h & config/msvc.h config/unknown.h config/watcom.h include/compiler.h & include/disp8.h include/nasm.h include/nasmint.h include/nasmlib.h & diff --git a/Mkfiles/owlinux.mak b/Mkfiles/owlinux.mak index 03545fd4..3d343d25 100644 --- a/Mkfiles/owlinux.mak +++ b/Mkfiles/owlinux.mak @@ -64,7 +64,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ stdlib/strnlen.$(O) \ nasmlib/ver.$(O) \ nasmlib/crc64.$(O) nasmlib/malloc.$(O) \ - nasmlib/error.$(O) nasmlib/md5c.$(O) nasmlib/string.$(O) \ + nasmlib/md5c.$(O) nasmlib/string.$(O) \ nasmlib/file.$(O) nasmlib/mmap.$(O) nasmlib/ilog2.$(O) \ nasmlib/realpath.$(O) nasmlib/filename.$(O) nasmlib/srcfile.$(O) \ nasmlib/zerobuf.$(O) nasmlib/readnum.$(O) nasmlib/bsi.$(O) \ @@ -76,8 +76,9 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ x86/regs.$(O) x86/regvals.$(O) x86/regflags.$(O) x86/regdis.$(O) \ x86/disp8.$(O) x86/iflag.$(O) \ \ + asm/error.$(O) \ asm/float.$(O) \ - asm/directbl.$(O) \ + asm/directiv.$(O) asm/directbl.$(O) \ asm/assemble.$(O) asm/labels.$(O) asm/parser.$(O) \ asm/preproc.$(O) asm/quote.$(O) asm/pptok.$(O) \ asm/listing.$(O) asm/eval.$(O) asm/exprlib.$(O) asm/exprdump.$(O) \ @@ -260,19 +261,30 @@ everything: all doc rdf asm/assemble.$(O): asm/assemble.c asm/assemble.h asm/directiv.h \ asm/listing.h asm/pptok.h asm/preproc.h asm/tokens.h config/config.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/disp8.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ - include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/disp8.h include/error.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/directbl.$(O): asm/directbl.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h \ include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ x86/insnsi.h x86/regs.h -asm/eval.$(O): asm/eval.c asm/directiv.h asm/eval.h asm/float.h asm/pptok.h \ - asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/labels.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ - include/tables.h x86/insnsi.h x86/regs.h +asm/directiv.$(O): asm/directiv.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/listing.h asm/pptok.h asm/preproc.h asm/stdscan.h \ + config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/iflag.h include/labels.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h output/outform.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h +asm/error.$(O): asm/error.c config/config.h config/msvc.h config/unknown.h \ + config/watcom.h include/compiler.h include/error.h include/nasmint.h \ + include/nasmlib.h +asm/eval.$(O): asm/eval.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/pptok.h asm/preproc.h config/config.h config/msvc.h \ + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/iflag.h include/labels.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/exprdump.$(O): asm/exprdump.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ @@ -285,47 +297,47 @@ asm/exprlib.$(O): asm/exprlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ x86/regs.h asm/float.$(O): asm/float.c asm/directiv.h asm/float.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h -asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ - config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/hashtbl.h include/labels.h include/nasm.h \ + config/watcom.h include/compiler.h include/error.h include/nasm.h \ include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ include/tables.h x86/insnsi.h x86/regs.h +asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ + config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/hashtbl.h include/labels.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h asm/listing.$(O): asm/listing.c asm/directiv.h asm/listing.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/nasm.$(O): asm/nasm.c asm/assemble.h asm/directiv.h asm/eval.h \ asm/float.h asm/listing.h asm/parser.h asm/pptok.h asm/preproc.h \ asm/stdscan.h asm/tokens.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/iflag.h include/insns.h \ - include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/raa.h include/saa.h include/strlist.h \ - include/tables.h include/ver.h output/outform.h x86/iflaggen.h x86/insnsi.h \ - x86/regs.h -asm/parser.$(O): asm/parser.c asm/directiv.h asm/eval.h asm/float.h \ - asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h asm/tokens.h \ - config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ - include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/iflag.h \ + include/insns.h include/labels.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ + include/strlist.h include/tables.h include/ver.h output/outform.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h +asm/parser.$(O): asm/parser.c asm/assemble.h asm/directiv.h asm/eval.h \ + asm/float.h asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h \ + asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/compiler.h include/error.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/pptok.$(O): asm/pptok.c asm/pptok.h asm/preproc.h config/config.h \ config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ include/hashtbl.h include/nasmint.h include/nasmlib.h asm/preproc-nop.$(O): asm/preproc-nop.c asm/directiv.h asm/listing.h \ asm/pptok.h asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/preproc.$(O): asm/preproc.c asm/directiv.h asm/eval.h asm/listing.h \ asm/pptok.h asm/preproc.h asm/quote.h asm/stdscan.h asm/tokens.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/hashtbl.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/quote.$(O): asm/quote.c asm/quote.h config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h @@ -341,10 +353,10 @@ asm/segalloc.$(O): asm/segalloc.c asm/directiv.h asm/pptok.h asm/preproc.h \ include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/stdscan.$(O): asm/stdscan.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/quote.h asm/stdscan.h asm/tokens.h config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/iflag.h \ - include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h x86/iflaggen.h \ - x86/insnsi.h x86/regs.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/strfunc.$(O): asm/strfunc.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ @@ -370,9 +382,9 @@ disasm/disasm.$(O): disasm/disasm.c asm/directiv.h asm/pptok.h asm/preproc.h \ disasm/ndisasm.$(O): disasm/ndisasm.c asm/directiv.h asm/pptok.h \ asm/preproc.h asm/tokens.h config/config.h config/msvc.h config/unknown.h \ config/watcom.h disasm/disasm.h disasm/sync.h include/compiler.h \ - include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - include/ver.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/error.h include/iflag.h include/insns.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h include/ver.h x86/iflaggen.h x86/insnsi.h x86/regs.h disasm/sync.$(O): disasm/sync.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h disasm/sync.h include/compiler.h \ include/nasmint.h include/nasmlib.h @@ -387,15 +399,12 @@ nasmlib/bsi.$(O): nasmlib/bsi.c config/config.h config/msvc.h \ nasmlib/crc64.$(O): nasmlib/crc64.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h \ include/nasmint.h include/nasmlib.h -nasmlib/error.$(O): nasmlib/error.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h nasmlib/file.$(O): nasmlib/file.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h nasmlib/file.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/filename.$(O): nasmlib/filename.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/hashtbl.h include/nasm.h \ @@ -405,14 +414,14 @@ nasmlib/ilog2.$(O): nasmlib/ilog2.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h nasmlib/malloc.$(O): nasmlib/malloc.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/md5c.$(O): nasmlib/md5c.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/md5.h \ include/nasmint.h nasmlib/mmap.$(O): nasmlib/mmap.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h nasmlib/file.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/raa.$(O): nasmlib/raa.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h include/raa.h @@ -421,9 +430,9 @@ nasmlib/rbtree.$(O): nasmlib/rbtree.c config/config.h config/msvc.h \ include/rbtree.h nasmlib/readnum.$(O): nasmlib/readnum.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h nasmlib/realpath.$(O): nasmlib/realpath.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h @@ -445,60 +454,60 @@ nasmlib/zerobuf.$(O): nasmlib/zerobuf.c config/config.h config/msvc.h \ include/nasmlib.h output/codeview.$(O): output/codeview.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/hashtbl.h include/md5.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/saa.h include/strlist.h include/tables.h output/outlib.h \ - output/pecoff.h version.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/hashtbl.h \ + include/md5.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/saa.h include/strlist.h include/tables.h \ + output/outlib.h output/pecoff.h version.h x86/insnsi.h x86/regs.h output/legacy.$(O): output/legacy.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outlib.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/nullout.$(O): output/nullout.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/outaout.$(O): output/outaout.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/labels.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/labels.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - output/pecoff.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h output/pecoff.h x86/insnsi.h x86/regs.h output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outform.h \ - output/outlib.h x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outelf.$(O): output/outelf.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h \ - include/saa.h include/strlist.h include/tables.h include/ver.h \ - output/dwarf.h output/elf.h output/outelf.h output/outform.h \ + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/rbtree.h include/saa.h include/strlist.h include/tables.h \ + include/ver.h output/dwarf.h output/elf.h output/outelf.h output/outform.h \ output/outlib.h output/stabs.h x86/insnsi.h x86/regs.h output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ @@ -507,31 +516,33 @@ output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h \ output/outform.h x86/insnsi.h x86/regs.h output/outieee.$(O): output/outieee.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h include/ver.h output/outform.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/outlib.$(O): output/outlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/strlist.h include/tables.h output/outlib.h \ - x86/insnsi.h x86/regs.h + include/compiler.h include/error.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ + output/outlib.h x86/insnsi.h x86/regs.h output/outmacho.$(O): output/outmacho.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/raa.h include/rbtree.h \ - include/saa.h include/strlist.h include/tables.h output/outform.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/raa.h \ + include/rbtree.h include/saa.h include/strlist.h include/tables.h \ + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outobj.$(O): output/outobj.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/strlist.h include/tables.h \ - include/ver.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/strlist.h \ + include/tables.h include/ver.h output/outform.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/outrdf2.$(O): output/outrdf2.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/rdoff.h include/saa.h \ - include/strlist.h include/tables.h output/outform.h output/outlib.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/rdoff.h \ + include/saa.h include/strlist.h include/tables.h output/outform.h \ + output/outlib.h x86/insnsi.h x86/regs.h stdlib/snprintf.$(O): stdlib/snprintf.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/nasmlib.h @@ -540,8 +551,8 @@ stdlib/strlcpy.$(O): stdlib/strlcpy.c config/config.h config/msvc.h \ stdlib/strnlen.$(O): stdlib/strnlen.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h stdlib/vsnprintf.$(O): stdlib/vsnprintf.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h x86/disp8.$(O): x86/disp8.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ include/compiler.h include/disp8.h include/nasm.h include/nasmint.h \ diff --git a/asm/assemble.c b/asm/assemble.c index 7bb34bb7..33e593e3 100644 --- a/asm/assemble.c +++ b/asm/assemble.c @@ -183,6 +183,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "assemble.h" #include "insns.h" #include "tables.h" @@ -226,8 +227,6 @@ typedef struct { #define GEN_MODRM(mod, reg, rm) \ (((mod) << 6) | (((reg) & 7) << 3) | ((rm) & 7)) -static iflag_t cpu; /* cpu level received from nasm.c */ - static int64_t calcsize(int32_t, int64_t, int, insn *, const struct itemplate *); static int emit_prefix(struct out_data *data, const int bits, insn *ins); @@ -539,8 +538,7 @@ static bool jmp_match(int32_t segment, int64_t offset, int bits, /* This is totally just a wild guess what is reasonable... */ #define INCBIN_MAX_BUF (ZERO_BUF_SIZE * 16) -int64_t assemble(int32_t segment, int64_t start, int bits, iflag_t cp, - insn * instruction) +int64_t assemble(int32_t segment, int64_t start, int bits, insn *instruction) { struct out_data data; const struct itemplate *temp; @@ -548,8 +546,6 @@ int64_t assemble(int32_t segment, int64_t start, int bits, iflag_t cp, int32_t itimes; int64_t wsize; /* size for DB etc. */ - cpu = cp; - nasm_zero(&data); data.offset = start; data.segment = segment; @@ -792,14 +788,11 @@ int64_t assemble(int32_t segment, int64_t start, int bits, iflag_t cp, return data.offset - start; } -int64_t insn_size(int32_t segment, int64_t offset, int bits, iflag_t cp, - insn * instruction) +int64_t insn_size(int32_t segment, int64_t offset, int bits, insn *instruction) { const struct itemplate *temp; enum match_result m; - cpu = cp; - if (instruction->opcode == I_none) return 0; diff --git a/asm/assemble.h b/asm/assemble.h index f85037ad..22ab34da 100644 --- a/asm/assemble.h +++ b/asm/assemble.h @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2009 The NASM Authors - All Rights Reserved + * Copyright 1996-2017 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -32,16 +32,20 @@ * ----------------------------------------------------------------------- */ /* - * assemble.h header file for assemble.c + * assemble.h - header file for stuff private to the assembler */ #ifndef NASM_ASSEMBLE_H #define NASM_ASSEMBLE_H +#include "nasm.h" #include "iflag.h" -int64_t insn_size(int32_t segment, int64_t offset, int bits, iflag_t cp, - insn * instruction); -int64_t assemble(int32_t segment, int64_t offset, int bits, iflag_t cp, - insn * instruction); +extern iflag_t cpu; +extern bool in_absolute; /* Are we in an absolute segment? */ +extern struct location absolute; + +int64_t insn_size(int32_t segment, int64_t offset, int bits, insn *instruction); +int64_t assemble(int32_t segment, int64_t offset, int bits, insn *instruction); + #endif diff --git a/asm/directiv.c b/asm/directiv.c new file mode 100644 index 00000000..cbfdd089 --- /dev/null +++ b/asm/directiv.c @@ -0,0 +1,568 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2017 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +/* + * Parse and handle assembler directives + */ + +#include "compiler.h" + +#include +#include +#include +#include + +#include "nasm.h" +#include "nasmlib.h" +#include "error.h" +#include "float.h" +#include "stdscan.h" +#include "preproc.h" +/* #include "parser.h" */ +#include "eval.h" +#include "assemble.h" +#include "outform.h" +#include "listing.h" +#include "labels.h" +#include "iflag.h" + +static iflag_t get_cpu(char *value) +{ + iflag_t r; + + iflag_clear_all(&r); + + if (!strcmp(value, "8086")) + iflag_set(&r, IF_8086); + else if (!strcmp(value, "186")) + iflag_set(&r, IF_186); + else if (!strcmp(value, "286")) + iflag_set(&r, IF_286); + else if (!strcmp(value, "386")) + iflag_set(&r, IF_386); + else if (!strcmp(value, "486")) + iflag_set(&r, IF_486); + else if (!strcmp(value, "586") || + !nasm_stricmp(value, "pentium")) + iflag_set(&r, IF_PENT); + else if (!strcmp(value, "686") || + !nasm_stricmp(value, "ppro") || + !nasm_stricmp(value, "pentiumpro") || + !nasm_stricmp(value, "p2")) + iflag_set(&r, IF_P6); + else if (!nasm_stricmp(value, "p3") || + !nasm_stricmp(value, "katmai")) + iflag_set(&r, IF_KATMAI); + else if (!nasm_stricmp(value, "p4") || /* is this right? -- jrc */ + !nasm_stricmp(value, "willamette")) + iflag_set(&r, IF_WILLAMETTE); + else if (!nasm_stricmp(value, "prescott")) + iflag_set(&r, IF_PRESCOTT); + else if (!nasm_stricmp(value, "x64") || + !nasm_stricmp(value, "x86-64")) + iflag_set(&r, IF_X86_64); + else if (!nasm_stricmp(value, "ia64") || + !nasm_stricmp(value, "ia-64") || + !nasm_stricmp(value, "itanium")|| + !nasm_stricmp(value, "itanic") || + !nasm_stricmp(value, "merced")) + iflag_set(&r, IF_IA64); + else { + iflag_set(&r, IF_PLEVEL); + nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_FATAL, + "unknown 'cpu' type"); + } + return r; +} + +static int get_bits(char *value) +{ + int i; + + if ((i = atoi(value)) == 16) + return i; /* set for a 16-bit segment */ + else if (i == 32) { + if (iflag_ffs(&cpu) < IF_386) { + nasm_error(ERR_NONFATAL, + "cannot specify 32-bit segment on processor below a 386"); + i = 16; + } + } else if (i == 64) { + if (iflag_ffs(&cpu) < IF_X86_64) { + nasm_error(ERR_NONFATAL, + "cannot specify 64-bit segment on processor below an x86-64"); + i = 16; + } + } else { + nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_FATAL, + "`%s' is not a valid segment size; must be 16, 32 or 64", + value); + i = 16; + } + return i; +} + +static enum directives parse_directive_line(char **directive, char **value) +{ + char *p, *q, *buf; + + buf = nasm_skip_spaces(*directive); + + /* + * It should be enclosed in [ ]. + * XXX: we don't check there is nothing else on the remainder of the + * line, except a possible comment. + */ + if (*buf != '[') + return D_none; + q = strchr(buf, ']'); + if (!q) + return D_corrupt; + + /* + * Strip off the comments. XXX: this doesn't account for quoted + * strings inside a directive. We should really strip the + * comments in generic code, not here. While we're at it, it + * would be better to pass the backend a series of tokens instead + * of a raw string, and actually process quoted strings for it, + * like of like argv is handled in C. + */ + p = strchr(buf, ';'); + if (p) { + if (p < q) /* ouch! somewhere inside */ + return D_corrupt; + *p = '\0'; + } + + /* no brace, no trailing spaces */ + *q = '\0'; + nasm_zap_spaces_rev(--q); + + /* directive */ + p = nasm_skip_spaces(++buf); + q = nasm_skip_word(p); + if (!q) + return D_corrupt; /* sigh... no value there */ + *q = '\0'; + *directive = p; + + /* and value finally */ + p = nasm_skip_spaces(++q); + *value = p; + + return find_directive(*directive); +} + +static void process_pragma(char *str) +{ + (void)str; +} + +enum directives process_directives(char *directive) +{ + enum directives d; + char *value, *p, *q, *special; + struct tokenval tokval; + bool bad_param = false; + int pass2 = passn > 1 ? 2 : 1; + + d = parse_directive_line(&directive, &value); + + switch (d) { + case D_none: + return D_none; /* Not a directive */ + + case D_corrupt: + nasm_error(ERR_NONFATAL, "invalid directive line"); + break; + + default: /* It's a backend-specific directive */ + if (ofmt->directive(d, value, pass2)) + break; + /* else fall through */ + case D_unknown: + nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_PANIC, + "unrecognised directive [%s]", directive); + break; + + case D_SEGMENT: /* [SEGMENT n] */ + case D_SECTION: + { + int sb; + int32_t seg = ofmt->section(value, pass2, &sb); + + if (seg == NO_SEG) { + nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_PANIC, + "segment name `%s' not recognized", value); + } else { + in_absolute = false; + location.segment = seg; + } + break; + } + + case D_SECTALIGN: /* [SECTALIGN n] */ + { + expr *e; + + if (*value) { + stdscan_reset(); + stdscan_set(value); + tokval.t_type = TOKEN_INVALID; + e = evaluate(stdscan, NULL, &tokval, NULL, pass2, NULL); + if (e) { + uint64_t align = e->value; + + if (!is_power2(e->value)) { + nasm_error(ERR_NONFATAL, + "segment alignment `%s' is not power of two", + value); + } else if (align > UINT64_C(0x7fffffff)) { + /* + * FIXME: Please make some sane message here + * ofmt should have some 'check' method which + * would report segment alignment bounds. + */ + nasm_error(ERR_NONFATAL, + "absurdly large segment alignment `%s' (2^%d)", + value, ilog2_64(align)); + } + + /* callee should be able to handle all details */ + if (location.segment != NO_SEG) + ofmt->sectalign(location.segment, align); + } + } + break; + } + + case D_EXTERN: /* [EXTERN label:special] */ + if (*value == '$') + value++; /* skip initial $ if present */ + if (pass0 == 2) { + q = value; + while (*q && *q != ':') + q++; + if (*q == ':') { + *q++ = '\0'; + ofmt->symdef(value, 0L, 0L, 3, q); + } + } else if (passn == 1) { + bool validid = true; + q = value; + if (!isidstart(*q)) + validid = false; + while (*q && *q != ':') { + if (!isidchar(*q)) + validid = false; + q++; + } + if (!validid) { + nasm_error(ERR_NONFATAL, "identifier expected after EXTERN"); + break; + } + if (*q == ':') { + *q++ = '\0'; + special = q; + } else + special = NULL; + if (!is_extern(value)) { /* allow re-EXTERN to be ignored */ + int temp = pass0; + pass0 = 1; /* fake pass 1 in labels.c */ + declare_as_global(value, special); + define_label(value, seg_alloc(), 0L, NULL, + false, true); + pass0 = temp; + } + } /* else pass0 == 1 */ + break; + + case D_BITS: /* [BITS bits] */ + globalbits = get_bits(value); + break; + + case D_GLOBAL: /* [GLOBAL symbol:special] */ + if (*value == '$') + value++; /* skip initial $ if present */ + if (pass0 == 2) { /* pass 2 */ + q = value; + while (*q && *q != ':') + q++; + if (*q == ':') { + *q++ = '\0'; + ofmt->symdef(value, 0L, 0L, 3, q); + } + } else if (pass2 == 1) { /* pass == 1 */ + bool validid = true; + + q = value; + if (!isidstart(*q)) + validid = false; + while (*q && *q != ':') { + if (!isidchar(*q)) + validid = false; + q++; + } + if (!validid) { + nasm_error(ERR_NONFATAL, + "identifier expected after GLOBAL"); + break; + } + if (*q == ':') { + *q++ = '\0'; + special = q; + } else + special = NULL; + declare_as_global(value, special); + } /* pass == 1 */ + break; + + case D_COMMON: /* [COMMON symbol size:special] */ + { + int64_t size; + bool rn_error; + bool validid; + + if (*value == '$') + value++; /* skip initial $ if present */ + p = value; + validid = true; + if (!isidstart(*p)) + validid = false; + while (*p && !nasm_isspace(*p)) { + if (!isidchar(*p)) + validid = false; + p++; + } + if (!validid) { + nasm_error(ERR_NONFATAL, "identifier expected after COMMON"); + break; + } + if (*p) { + p = nasm_zap_spaces_fwd(p); + q = p; + while (*q && *q != ':') + q++; + if (*q == ':') { + *q++ = '\0'; + special = q; + } else { + special = NULL; + } + size = readnum(p, &rn_error); + if (rn_error) { + nasm_error(ERR_NONFATAL, + "invalid size specified" + " in COMMON declaration"); + break; + } + } else { + nasm_error(ERR_NONFATAL, + "no size specified in" + " COMMON declaration"); + break; + } + + if (pass0 < 2) { + define_common(value, seg_alloc(), size, special); + } else if (pass0 == 2) { + if (special) + ofmt->symdef(value, 0L, 0L, 3, special); + } + break; + } + + case D_ABSOLUTE: /* [ABSOLUTE address] */ + { + expr *e; + + stdscan_reset(); + stdscan_set(value); + tokval.t_type = TOKEN_INVALID; + e = evaluate(stdscan, NULL, &tokval, NULL, pass2, NULL); + if (e) { + if (!is_reloc(e)) + nasm_error(pass0 == + 1 ? ERR_NONFATAL : ERR_PANIC, + "cannot use non-relocatable expression as " + "ABSOLUTE address"); + else { + absolute.segment = reloc_seg(e); + absolute.offset = reloc_value(e); + } + } else if (passn == 1) + absolute.offset = 0x100; /* don't go near zero in case of / */ + else + nasm_panic(0, "invalid ABSOLUTE address " + "in pass two"); + in_absolute = true; + location.segment = NO_SEG; + break; + } + + case D_DEBUG: /* [DEBUG] */ + { + bool badid, overlong; + char debugid[128]; + + p = value; + q = debugid; + badid = overlong = false; + if (!isidstart(*p)) { + badid = true; + } else { + while (*p && !nasm_isspace(*p)) { + if (q >= debugid + sizeof debugid - 1) { + overlong = true; + break; + } + if (!isidchar(*p)) + badid = true; + *q++ = *p++; + } + *q = 0; + } + if (badid) { + nasm_error(passn == 1 ? ERR_NONFATAL : ERR_PANIC, + "identifier expected after DEBUG"); + break; + } + if (overlong) { + nasm_error(passn == 1 ? ERR_NONFATAL : ERR_PANIC, + "DEBUG identifier too long"); + break; + } + p = nasm_skip_spaces(p); + if (pass0 == 2) + dfmt->debug_directive(debugid, p); + break; + } + + case D_WARNING: /* [WARNING {+|-|*}warn-name] */ + { + enum warn_action { WID_OFF, WID_ON, WID_RESET }; + enum warn_action action; + int i; + + value = nasm_skip_spaces(value); + switch(*value) { + case '-': action = WID_OFF; value++; break; + case '+': action = WID_ON; value++; break; + case '*': action = WID_RESET; value++; break; + default: action = WID_ON; break; + } + + for (i = 1; i <= ERR_WARN_MAX; i++) + if (!nasm_stricmp(value, warnings[i].name)) + break; + if (i <= ERR_WARN_MAX) { + switch (action) { + case WID_OFF: + warning_on[i] = false; + break; + case WID_ON: + warning_on[i] = true; + break; + case WID_RESET: + warning_on[i] = warning_on_global[i]; + break; + } + } + break; + } + + case D_CPU: /* [CPU] */ + cpu = get_cpu(value); + break; + + case D_LIST: /* [LIST {+|-}] */ + value = nasm_skip_spaces(value); + if (*value == '+') { + user_nolist = false; + } else { + if (*value == '-') { + user_nolist = true; + } else { + bad_param = true; + } + } + break; + + case D_DEFAULT: /* [DEFAULT] */ + stdscan_reset(); + stdscan_set(value); + tokval.t_type = TOKEN_INVALID; + if (stdscan(NULL, &tokval) != TOKEN_INVALID) { + switch (tokval.t_integer) { + case S_REL: + globalrel = 1; + break; + case S_ABS: + globalrel = 0; + break; + case P_BND: + globalbnd = 1; + break; + case P_NOBND: + globalbnd = 0; + break; + default: + bad_param = true; + break; + } + } else { + bad_param = true; + } + break; + + case D_FLOAT: + if (float_option(value)) { + nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_PANIC, + "unknown 'float' directive: %s", value); + } + break; + + case D_PRAGMA: + process_pragma(value); + break; + } + + + /* A common error message */ + if (bad_param) { + nasm_error(ERR_NONFATAL, "invalid parameter to [%s] directive", + directive); + } + + return d; +} diff --git a/asm/directiv.pl b/asm/directiv.pl index eef46f69..05b84840 100755 --- a/asm/directiv.pl +++ b/asm/directiv.pl @@ -88,6 +88,7 @@ if ($output eq 'h') { printf H "extern const char * const directives[%d];\n", scalar(@directives)+scalar(@specials); print H "enum directives find_directive(const char *token);\n\n"; + print H "enum directives process_directives(char *line); /* in asm/directiv.c */\n"; print H "#endif /* NASM_DIRECTIV_H */\n"; } elsif ($output eq 'c') { %directive = (); diff --git a/nasmlib/error.c b/asm/error.c similarity index 62% rename from nasmlib/error.c rename to asm/error.c index 83838e19..4b22f2d2 100644 --- a/nasmlib/error.c +++ b/asm/error.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * Copyright 1996-2017 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -32,7 +32,7 @@ * ----------------------------------------------------------------------- */ /* - * nasmlib.c library routines for the Netwide Assembler + * error.c - error message handling routines for the assembler */ #include "compiler.h" @@ -40,6 +40,34 @@ #include #include "nasmlib.h" +#include "error.h" + +/* + * Description of the suppressible warnings for the command line and + * the [warning] directive. Entry zero isn't an actual warning, but + * it used for -w+error/-Werror. + */ +const struct warning warnings[ERR_WARN_MAX+1] = { + {"error", "treat warnings as errors", false}, + {"macro-params", "macro calls with wrong parameter count", true}, + {"macro-selfref", "cyclic macro references", false}, + {"macro-defaults", "macros with more default than optional parameters", true}, + {"orphan-labels", "labels alone on lines without trailing `:'", true}, + {"number-overflow", "numeric constant does not fit", true}, + {"gnu-elf-extensions", "using 8- or 16-bit relocation in ELF32, a GNU extension", false}, + {"float-overflow", "floating point overflow", true}, + {"float-denorm", "floating point denormal", false}, + {"float-underflow", "floating point underflow", false}, + {"float-toolong", "too many digits in floating-point number", true}, + {"user", "%warning directives", true}, + {"lock", "lock prefix on unlockable instructions", true}, + {"hle", "invalid hle prefixes", true}, + {"bnd", "invalid bnd prefixes", true}, + {"zext-reloc", "relocation zero-extended to match output format", true}, + {"ptr", "non-NASM keyword used in other assemblers", true}, +}; +bool warning_on[ERR_WARN_MAX+1]; /* Current state */ +bool warning_on_global[ERR_WARN_MAX+1]; /* Command-line state, for reset */ vefunc nasm_verror; /* Global error handling function */ diff --git a/asm/eval.c b/asm/eval.c index 029d8a04..89f66fb7 100644 --- a/asm/eval.c +++ b/asm/eval.c @@ -1,6 +1,6 @@ /* ----------------------------------------------------------------------- * * - * Copyright 1996-2016 The NASM Authors - All Rights Reserved + * Copyright 1996-2017 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. * @@ -45,9 +45,11 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "eval.h" #include "labels.h" #include "float.h" +#include "assemble.h" #define TEMPEXPRS_DELTA 128 #define TEMPEXPR_DELTA 8 @@ -70,9 +72,6 @@ static int *opflags; static struct eval_hints *hint; -extern int in_abs_seg; /* ABSOLUTE segment flag */ -extern int32_t abs_seg; /* ABSOLUTE segment */ -extern int32_t abs_offset; /* ABSOLUTE segment offset */ /* * Unimportant cleanup is done to avoid confusing people who are trying @@ -903,11 +902,11 @@ static expr *expr6(int critical) type = EXPR_SIMPLE; /* might get overridden by UNKNOWN */ if (i == TOKEN_BASE) { - label_seg = in_abs_seg ? abs_seg : location.segment; + label_seg = in_absolute ? absolute.segment : location.segment; label_ofs = 0; } else if (i == TOKEN_HERE) { - label_seg = in_abs_seg ? abs_seg : location.segment; - label_ofs = in_abs_seg ? abs_offset : location.offset; + label_seg = in_absolute ? absolute.segment : location.segment; + label_ofs = in_absolute ? absolute.offset : location.offset; } else { if (!lookup_label(tokval->t_charptr, &label_seg, &label_ofs)) { scope = local_scope(tokval->t_charptr); diff --git a/asm/float.c b/asm/float.c index 6cd14561..b35d7a5e 100644 --- a/asm/float.c +++ b/asm/float.c @@ -44,6 +44,7 @@ #include "nasm.h" #include "float.h" +#include "error.h" /* * ----------------- diff --git a/asm/labels.c b/asm/labels.c index 224d6959..132b6e00 100644 --- a/asm/labels.c +++ b/asm/labels.c @@ -43,6 +43,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "hashtbl.h" #include "labels.h" diff --git a/asm/listing.c b/asm/listing.c index 90cc1271..bd717f68 100644 --- a/asm/listing.c +++ b/asm/listing.c @@ -45,6 +45,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "listing.h" #define LIST_MAX_LEN 216 /* something sensible */ diff --git a/asm/nasm.c b/asm/nasm.c index 398ad3de..fb5e9541 100644 --- a/asm/nasm.c +++ b/asm/nasm.c @@ -47,6 +47,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "raa.h" #include "float.h" @@ -74,8 +75,6 @@ struct forwrefinfo { /* info held on forward refs. */ int operand; }; -static int get_bits(char *value); -static iflag_t get_cpu(char *cpu_str); static void parse_cmdline(int, char **, int); static void assemble_file(char *, StrList **); static bool is_suppressed_warning(int severity); @@ -112,7 +111,7 @@ FILE *ofile = NULL; int optimizing = MAX_OPTIMIZE; /* number of optimization passes to take */ static int cmd_sb = 16; /* by default */ -static iflag_t cpu; +iflag_t cpu; static iflag_t cmd_cpu; int64_t global_offset_changed; /* referenced in labels.c */ @@ -120,9 +119,8 @@ int64_t prev_offset_changed; int32_t stall_count; struct location location; -int in_abs_seg; /* Flag we are in ABSOLUTE seg */ -int32_t abs_seg; /* ABSOLUTE segment basis */ -int32_t abs_offset; /* ABSOLUTE offset */ +bool in_absolute; /* Flag we are in ABSOLUTE seg */ +struct location absolute; /* Segment/offset inside ABSOLUTE */ static struct RAA *offsets; @@ -143,38 +141,6 @@ static bool depend_missing_ok = false; static const char *depend_target = NULL; static const char *depend_file = NULL; -/* - * Which of the suppressible warnings are suppressed. Entry zero - * isn't an actual warning, but it used for -w+error/-Werror. - */ - -static bool warning_on[ERR_WARN_MAX+1]; /* Current state */ -static bool warning_on_global[ERR_WARN_MAX+1]; /* Command-line state */ - -static const struct warning { - const char *name; - const char *help; - bool enabled; -} warnings[ERR_WARN_MAX+1] = { - {"error", "treat warnings as errors", false}, - {"macro-params", "macro calls with wrong parameter count", true}, - {"macro-selfref", "cyclic macro references", false}, - {"macro-defaults", "macros with more default than optional parameters", true}, - {"orphan-labels", "labels alone on lines without trailing `:'", true}, - {"number-overflow", "numeric constant does not fit", true}, - {"gnu-elf-extensions", "using 8- or 16-bit relocation in ELF32, a GNU extension", false}, - {"float-overflow", "floating point overflow", true}, - {"float-denorm", "floating point denormal", false}, - {"float-underflow", "floating point underflow", false}, - {"float-toolong", "too many digits in floating-point number", true}, - {"user", "%warning directives", true}, - {"lock", "lock prefix on unlockable instructions", true}, - {"hle", "invalid hle prefixes", true}, - {"bnd", "invalid bnd prefixes", true}, - {"zext-reloc", "relocation zero-extended to match output format", true}, - {"ptr", "non-NASM keyword used in other assemblers", true}, -}; - static bool want_usage; static bool terminate_after_phase; bool user_nolist = false; @@ -183,13 +149,13 @@ static char *quote_for_make(const char *str); static int64_t get_curr_offs(void) { - return in_abs_seg ? abs_offset : raa_read(offsets, location.segment); + return in_absolute ? absolute.offset : raa_read(offsets, location.segment); } static void set_curr_offs(int64_t l_off) { - if (in_abs_seg) - abs_offset = l_off; + if (in_absolute) + absolute.offset = l_off; else offsets = raa_write(offsets, location.segment, l_off); } @@ -1244,440 +1210,6 @@ static void parse_cmdline(int argc, char **argv, int pass) } } -static enum directives parse_directive_line(char **directive, char **value) -{ - char *p, *q, *buf; - - buf = nasm_skip_spaces(*directive); - - /* - * It should be enclosed in [ ]. - * XXX: we don't check there is nothing else on the remainder of the - * line, except a possible comment. - */ - if (*buf != '[') - return D_none; - q = strchr(buf, ']'); - if (!q) - return D_corrupt; - - /* - * Strip off the comments. XXX: this doesn't account for quoted - * strings inside a directive. We should really strip the - * comments in generic code, not here. While we're at it, it - * would be better to pass the backend a series of tokens instead - * of a raw string, and actually process quoted strings for it, - * like of like argv is handled in C. - */ - p = strchr(buf, ';'); - if (p) { - if (p < q) /* ouch! somewhere inside */ - return D_corrupt; - *p = '\0'; - } - - /* no brace, no trailing spaces */ - *q = '\0'; - nasm_zap_spaces_rev(--q); - - /* directive */ - p = nasm_skip_spaces(++buf); - q = nasm_skip_word(p); - if (!q) - return D_corrupt; /* sigh... no value there */ - *q = '\0'; - *directive = p; - - /* and value finally */ - p = nasm_skip_spaces(++q); - *value = p; - - return find_directive(*directive); -} - -static void process_pragma(char *str) -{ - (void)str; -} - -static enum directives process_directives(char *directive) -{ - enum directives d; - char *value, *p, *q, *special; - struct tokenval tokval; - bool bad_param = false; - - d = parse_directive_line(&directive, &value); - - switch (d) { - case D_none: - return D_none; /* Not a directive */ - - case D_corrupt: - nasm_error(ERR_NONFATAL, "invalid directive line"); - break; - - default: /* It's a backend-specific directive */ - if (ofmt->directive(d, value, pass2)) - break; - /* else fall through */ - case D_unknown: - nasm_error(pass1 == 1 ? ERR_NONFATAL : ERR_PANIC, - "unrecognised directive [%s]", directive); - break; - - case D_SEGMENT: /* [SEGMENT n] */ - case D_SECTION: - { - int sb; - int32_t seg = ofmt->section(value, pass2, &sb); - - if (seg == NO_SEG) { - nasm_error(pass1 == 1 ? ERR_NONFATAL : ERR_PANIC, - "segment name `%s' not recognized", value); - } else { - in_abs_seg = false; - location.segment = seg; - } - break; - } - - case D_SECTALIGN: /* [SECTALIGN n] */ - { - expr *e; - - if (*value) { - stdscan_reset(); - stdscan_set(value); - tokval.t_type = TOKEN_INVALID; - e = evaluate(stdscan, NULL, &tokval, NULL, pass2, NULL); - if (e) { - uint64_t align = e->value; - - if (!is_power2(e->value)) { - nasm_error(ERR_NONFATAL, - "segment alignment `%s' is not power of two", - value); - } else if (align > UINT64_C(0x7fffffff)) { - /* - * FIXME: Please make some sane message here - * ofmt should have some 'check' method which - * would report segment alignment bounds. - */ - nasm_error(ERR_NONFATAL, - "absurdly large segment alignment `%s' (2^%d)", - value, ilog2_64(align)); - } - - /* callee should be able to handle all details */ - if (location.segment != NO_SEG) - ofmt->sectalign(location.segment, align); - } - } - break; - } - - case D_EXTERN: /* [EXTERN label:special] */ - if (*value == '$') - value++; /* skip initial $ if present */ - if (pass0 == 2) { - q = value; - while (*q && *q != ':') - q++; - if (*q == ':') { - *q++ = '\0'; - ofmt->symdef(value, 0L, 0L, 3, q); - } - } else if (passn == 1) { - bool validid = true; - q = value; - if (!isidstart(*q)) - validid = false; - while (*q && *q != ':') { - if (!isidchar(*q)) - validid = false; - q++; - } - if (!validid) { - nasm_error(ERR_NONFATAL, "identifier expected after EXTERN"); - break; - } - if (*q == ':') { - *q++ = '\0'; - special = q; - } else - special = NULL; - if (!is_extern(value)) { /* allow re-EXTERN to be ignored */ - int temp = pass0; - pass0 = 1; /* fake pass 1 in labels.c */ - declare_as_global(value, special); - define_label(value, seg_alloc(), 0L, NULL, - false, true); - pass0 = temp; - } - } /* else pass0 == 1 */ - break; - - case D_BITS: /* [BITS bits] */ - globalbits = get_bits(value); - break; - - case D_GLOBAL: /* [GLOBAL symbol:special] */ - if (*value == '$') - value++; /* skip initial $ if present */ - if (pass0 == 2) { /* pass 2 */ - q = value; - while (*q && *q != ':') - q++; - if (*q == ':') { - *q++ = '\0'; - ofmt->symdef(value, 0L, 0L, 3, q); - } - } else if (pass2 == 1) { /* pass == 1 */ - bool validid = true; - - q = value; - if (!isidstart(*q)) - validid = false; - while (*q && *q != ':') { - if (!isidchar(*q)) - validid = false; - q++; - } - if (!validid) { - nasm_error(ERR_NONFATAL, - "identifier expected after GLOBAL"); - break; - } - if (*q == ':') { - *q++ = '\0'; - special = q; - } else - special = NULL; - declare_as_global(value, special); - } /* pass == 1 */ - break; - - case D_COMMON: /* [COMMON symbol size:special] */ - { - int64_t size; - bool rn_error; - bool validid; - - if (*value == '$') - value++; /* skip initial $ if present */ - p = value; - validid = true; - if (!isidstart(*p)) - validid = false; - while (*p && !nasm_isspace(*p)) { - if (!isidchar(*p)) - validid = false; - p++; - } - if (!validid) { - nasm_error(ERR_NONFATAL, "identifier expected after COMMON"); - break; - } - if (*p) { - p = nasm_zap_spaces_fwd(p); - q = p; - while (*q && *q != ':') - q++; - if (*q == ':') { - *q++ = '\0'; - special = q; - } else { - special = NULL; - } - size = readnum(p, &rn_error); - if (rn_error) { - nasm_error(ERR_NONFATAL, - "invalid size specified" - " in COMMON declaration"); - break; - } - } else { - nasm_error(ERR_NONFATAL, - "no size specified in" - " COMMON declaration"); - break; - } - - if (pass0 < 2) { - define_common(value, seg_alloc(), size, special); - } else if (pass0 == 2) { - if (special) - ofmt->symdef(value, 0L, 0L, 3, special); - } - break; - } - - case D_ABSOLUTE: /* [ABSOLUTE address] */ - { - expr *e; - - stdscan_reset(); - stdscan_set(value); - tokval.t_type = TOKEN_INVALID; - e = evaluate(stdscan, NULL, &tokval, NULL, pass2, NULL); - if (e) { - if (!is_reloc(e)) - nasm_error(pass0 == - 1 ? ERR_NONFATAL : ERR_PANIC, - "cannot use non-relocatable expression as " - "ABSOLUTE address"); - else { - abs_seg = reloc_seg(e); - abs_offset = reloc_value(e); - } - } else if (passn == 1) - abs_offset = 0x100; /* don't go near zero in case of / */ - else - nasm_panic(0, "invalid ABSOLUTE address " - "in pass two"); - in_abs_seg = true; - location.segment = NO_SEG; - break; - } - - case D_DEBUG: /* [DEBUG] */ - { - bool badid, overlong; - char debugid[128]; - - p = value; - q = debugid; - badid = overlong = false; - if (!isidstart(*p)) { - badid = true; - } else { - while (*p && !nasm_isspace(*p)) { - if (q >= debugid + sizeof debugid - 1) { - overlong = true; - break; - } - if (!isidchar(*p)) - badid = true; - *q++ = *p++; - } - *q = 0; - } - if (badid) { - nasm_error(passn == 1 ? ERR_NONFATAL : ERR_PANIC, - "identifier expected after DEBUG"); - break; - } - if (overlong) { - nasm_error(passn == 1 ? ERR_NONFATAL : ERR_PANIC, - "DEBUG identifier too long"); - break; - } - p = nasm_skip_spaces(p); - if (pass0 == 2) - dfmt->debug_directive(debugid, p); - break; - } - - case D_WARNING: /* [WARNING {+|-|*}warn-name] */ - { - enum warn_action { WID_OFF, WID_ON, WID_RESET }; - enum warn_action action; - int i; - - value = nasm_skip_spaces(value); - switch(*value) { - case '-': action = WID_OFF; value++; break; - case '+': action = WID_ON; value++; break; - case '*': action = WID_RESET; value++; break; - default: action = WID_ON; break; - } - - for (i = 1; i <= ERR_WARN_MAX; i++) - if (!nasm_stricmp(value, warnings[i].name)) - break; - if (i <= ERR_WARN_MAX) { - switch (action) { - case WID_OFF: - warning_on[i] = false; - break; - case WID_ON: - warning_on[i] = true; - break; - case WID_RESET: - warning_on[i] = warning_on_global[i]; - break; - } - } - break; - } - - case D_CPU: /* [CPU] */ - cpu = get_cpu(value); - break; - - case D_LIST: /* [LIST {+|-}] */ - value = nasm_skip_spaces(value); - if (*value == '+') { - user_nolist = 0; - } else { - if (*value == '-') { - user_nolist = 1; - } else { - bad_param = true; - } - } - break; - - case D_DEFAULT: /* [DEFAULT] */ - stdscan_reset(); - stdscan_set(value); - tokval.t_type = TOKEN_INVALID; - if (stdscan(NULL, &tokval) != TOKEN_INVALID) { - switch (tokval.t_integer) { - case S_REL: - globalrel = 1; - break; - case S_ABS: - globalrel = 0; - break; - case P_BND: - globalbnd = 1; - break; - case P_NOBND: - globalbnd = 0; - break; - default: - bad_param = true; - break; - } - } else { - bad_param = true; - } - break; - - case D_FLOAT: - if (float_option(value)) { - nasm_error(pass1 == 1 ? ERR_NONFATAL : ERR_PANIC, - "unknown 'float' directive: %s", value); - } - break; - - case D_PRAGMA: - process_pragma(value); - break; - } - - - /* A common error message */ - if (bad_param) { - nasm_error(ERR_NONFATAL, "invalid parameter to [%s] directive", - directive); - } - - return d; -} - static void assemble_file(char *fname, StrList **depend_ptr) { char *line; @@ -1705,7 +1237,7 @@ static void assemble_file(char *fname, StrList **depend_ptr) if (pass0 == 2) { lfmt->init(listname); } - in_abs_seg = false; + in_absolute = false; global_offset_changed = 0; /* set by redefine_label */ location.segment = ofmt->section(NULL, pass2, &sb); globalbits = sb; @@ -1832,8 +1364,7 @@ static void assemble_file(char *fname, StrList **depend_ptr) } else { /* instruction isn't an EQU */ if (pass1 == 1) { - - int64_t l = insn_size(location.segment, offs, sb, cpu, + int64_t l = insn_size(location.segment, offs, sb, &output_ins); l *= output_ins.times; @@ -1913,8 +1444,7 @@ static void assemble_file(char *fname, StrList **depend_ptr) */ } else { - offs += assemble(location.segment, offs, sb, cpu, - &output_ins); + offs += assemble(location.segment, offs, sb, &output_ins); set_curr_offs(offs); } @@ -2040,8 +1570,24 @@ static void nasm_verror_vc(int severity, const char *fmt, va_list ap) nasm_verror_common(severity, fmt, ap); } +/* + * check to see if this is a suppressable warning + */ +static inline bool is_suppressable_warning(int severity) +{ + int index; + + /* Not a warning at all */ + if ((severity & ERR_MASK) != ERR_WARNING) + return false; + + index = WARN_IDX(severity); + + return index && index <= ERR_WARN_MAX; +} + /** - * check for supressed warning + * check for suppressed warning * checks for suppressed warning or pass one only warning and we're * not in pass 1 * @@ -2050,13 +1596,9 @@ static void nasm_verror_vc(int severity, const char *fmt, va_list ap) */ static bool is_suppressed_warning(int severity) { - /* Not a warning at all */ - if ((severity & ERR_MASK) != ERR_WARNING) - return false; - /* Might be a warning but suppresed explicitly */ - if (severity & ERR_WARN_MASK) - return !warning_on[WARN_IDX(severity)]; + if (is_suppressable_warning(severity)) + return !warning_on[WARN_IDX(severity)]; else return false; } @@ -2114,8 +1656,8 @@ static void nasm_verror_common(int severity, const char *fmt, va_list args) } vsnprintf(msg, sizeof msg - 64, fmt, args); - if ((severity & (ERR_WARN_MASK|ERR_PP_LISTMACRO)) == ERR_WARN_MASK) { - char *p = strchr(msg, '\0'); + if (is_suppressable_warning(severity)) { + char *p = strchr(msg, '\0'); snprintf(p, 64, " [-w+%s]", warnings[WARN_IDX(severity)].name); } @@ -2176,79 +1718,3 @@ static void usage(void) { fputs("type `nasm -h' for help\n", error_file); } - -static iflag_t get_cpu(char *value) -{ - iflag_t r; - - iflag_clear_all(&r); - - if (!strcmp(value, "8086")) - iflag_set(&r, IF_8086); - else if (!strcmp(value, "186")) - iflag_set(&r, IF_186); - else if (!strcmp(value, "286")) - iflag_set(&r, IF_286); - else if (!strcmp(value, "386")) - iflag_set(&r, IF_386); - else if (!strcmp(value, "486")) - iflag_set(&r, IF_486); - else if (!strcmp(value, "586") || - !nasm_stricmp(value, "pentium")) - iflag_set(&r, IF_PENT); - else if (!strcmp(value, "686") || - !nasm_stricmp(value, "ppro") || - !nasm_stricmp(value, "pentiumpro") || - !nasm_stricmp(value, "p2")) - iflag_set(&r, IF_P6); - else if (!nasm_stricmp(value, "p3") || - !nasm_stricmp(value, "katmai")) - iflag_set(&r, IF_KATMAI); - else if (!nasm_stricmp(value, "p4") || /* is this right? -- jrc */ - !nasm_stricmp(value, "willamette")) - iflag_set(&r, IF_WILLAMETTE); - else if (!nasm_stricmp(value, "prescott")) - iflag_set(&r, IF_PRESCOTT); - else if (!nasm_stricmp(value, "x64") || - !nasm_stricmp(value, "x86-64")) - iflag_set(&r, IF_X86_64); - else if (!nasm_stricmp(value, "ia64") || - !nasm_stricmp(value, "ia-64") || - !nasm_stricmp(value, "itanium")|| - !nasm_stricmp(value, "itanic") || - !nasm_stricmp(value, "merced")) - iflag_set(&r, IF_IA64); - else { - iflag_set(&r, IF_PLEVEL); - nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_FATAL, - "unknown 'cpu' type"); - } - return r; -} - -static int get_bits(char *value) -{ - int i; - - if ((i = atoi(value)) == 16) - return i; /* set for a 16-bit segment */ - else if (i == 32) { - if (iflag_ffs(&cpu) < IF_386) { - nasm_error(ERR_NONFATAL, - "cannot specify 32-bit segment on processor below a 386"); - i = 16; - } - } else if (i == 64) { - if (iflag_ffs(&cpu) < IF_X86_64) { - nasm_error(ERR_NONFATAL, - "cannot specify 64-bit segment on processor below an x86-64"); - i = 16; - } - } else { - nasm_error(pass0 < 2 ? ERR_NONFATAL : ERR_FATAL, - "`%s' is not a valid segment size; must be 16, 32 or 64", - value); - i = 16; - } - return i; -} diff --git a/asm/parser.c b/asm/parser.c index 42c988e4..6b52b257 100644 --- a/asm/parser.c +++ b/asm/parser.c @@ -46,15 +46,14 @@ #include "nasm.h" #include "insns.h" #include "nasmlib.h" +#include "error.h" #include "stdscan.h" #include "eval.h" #include "parser.h" #include "float.h" +#include "assemble.h" #include "tables.h" -extern int in_abs_seg; /* ABSOLUTE segment flag */ -extern int32_t abs_seg; /* ABSOLUTE segment */ -extern int32_t abs_offset; /* ABSOLUTE segment offset */ static int is_comma_next(void); @@ -474,12 +473,12 @@ restart_parse: if (i != TOKEN_INSN || tokval.t_integer != I_EQU) { /* * FIXME: location.segment could be NO_SEG, in which case - * it is possible we should be passing 'abs_seg'. Look into this. + * it is possible we should be passing 'absolute.segment'. Look into this. * Work out whether that is *really* what we should be doing. * Generally fix things. I think this is right as it is, but * am still not certain. */ - ldef(result->label, in_abs_seg ? abs_seg : location.segment, + ldef(result->label, in_absolute ? absolute.segment : location.segment, location.offset, NULL, true, false); } } diff --git a/asm/preproc-nop.c b/asm/preproc-nop.c index 1f9cc7e7..3d2c57cf 100644 --- a/asm/preproc-nop.c +++ b/asm/preproc-nop.c @@ -49,6 +49,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "preproc.h" #include "listing.h" diff --git a/asm/preproc.c b/asm/preproc.c index ee91d15b..75d92f45 100644 --- a/asm/preproc.c +++ b/asm/preproc.c @@ -72,6 +72,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "preproc.h" #include "hashtbl.h" #include "quote.h" diff --git a/asm/stdscan.c b/asm/stdscan.c index 3ac6113e..8e175905 100644 --- a/asm/stdscan.c +++ b/asm/stdscan.c @@ -40,6 +40,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "quote.h" #include "stdscan.h" #include "insns.h" diff --git a/disasm/ndisasm.c b/disasm/ndisasm.c index 328a02f0..a4a217db 100644 --- a/disasm/ndisasm.c +++ b/disasm/ndisasm.c @@ -47,6 +47,7 @@ #include "insns.h" #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "ver.h" #include "sync.h" #include "disasm.h" diff --git a/include/iflag.h b/include/iflag.h index 84e7d75c..02787de9 100644 --- a/include/iflag.h +++ b/include/iflag.h @@ -1,7 +1,6 @@ #ifndef NASM_IFLAG_H #define NASM_IFLAG_H - #include #include "compiler.h" diff --git a/include/nasmlib.h b/include/nasmlib.h index 7d712e97..dbe623b7 100644 --- a/include/nasmlib.h +++ b/include/nasmlib.h @@ -63,81 +63,6 @@ extern unsigned char nasm_tolower_tab[256]; #define nasm_isalnum(x) isalnum((unsigned char)(x)) #define nasm_isxdigit(x) isxdigit((unsigned char)(x)) -/* - * ------------------------- - * Error reporting functions - * ------------------------- - */ - -/* - * An error reporting function should look like this. - */ -void printf_func(2, 3) nasm_error(int severity, const char *fmt, ...); -no_return printf_func(2, 3) nasm_fatal(int flags, const char *fmt, ...); -no_return printf_func(2, 3) nasm_panic(int flags, const char *fmt, ...); -no_return nasm_panic_from_macro(const char *file, int line); -#define panic() nasm_panic_from_macro(__FILE__, __LINE__); - -typedef void (*vefunc) (int severity, const char *fmt, va_list ap); -extern vefunc nasm_verror; -static inline vefunc nasm_set_verror(vefunc ve) -{ - vefunc old_verror = nasm_verror; - nasm_verror = ve; - return old_verror; -} - -/* - * These are the error severity codes which get passed as the first - * argument to an efunc. - */ - -#define ERR_DEBUG 0x00000000 /* put out debugging message */ -#define ERR_WARNING 0x00000001 /* warn only: no further action */ -#define ERR_NONFATAL 0x00000002 /* terminate assembly after phase */ -#define ERR_FATAL 0x00000006 /* instantly fatal: exit with error */ -#define ERR_PANIC 0x00000007 /* internal error: panic instantly - * and dump core for reference */ -#define ERR_MASK 0x00000007 /* mask off the above codes */ -#define ERR_NOFILE 0x00000010 /* don't give source file name/line */ -#define ERR_USAGE 0x00000020 /* print a usage message */ -#define ERR_PASS1 0x00000040 /* only print this error on pass one */ -#define ERR_PASS2 0x00000080 - -#define ERR_NO_SEVERITY 0x00000100 /* suppress printing severity */ -#define ERR_PP_PRECOND 0x00000200 /* for preprocessor use */ -#define ERR_PP_LISTMACRO 0x00000400 /* from preproc->error_list_macros() */ - -/* - * These codes define specific types of suppressible warning. - */ - -#define ERR_WARN_MASK 0xFFFFF000 /* the mask for this feature */ -#define ERR_WARN_SHR 12 /* how far to shift right */ - -#define WARN(x) ((x) << ERR_WARN_SHR) -#define WARN_IDX(x) (((x) & ERR_WARN_MASK) >> ERR_WARN_SHR) - -#define ERR_WARN_TERM WARN( 0) /* treat warnings as errors */ -#define ERR_WARN_MNP WARN( 1) /* macro-num-parameters warning */ -#define ERR_WARN_MSR WARN( 2) /* macro self-reference */ -#define ERR_WARN_MDP WARN( 3) /* macro default parameters check */ -#define ERR_WARN_OL WARN( 4) /* orphan label (no colon, and - * alone on line) */ -#define ERR_WARN_NOV WARN( 5) /* numeric overflow */ -#define ERR_WARN_GNUELF WARN( 6) /* using GNU ELF extensions */ -#define ERR_WARN_FL_OVERFLOW WARN( 7) /* FP overflow */ -#define ERR_WARN_FL_DENORM WARN( 8) /* FP denormal */ -#define ERR_WARN_FL_UNDERFLOW WARN( 9) /* FP underflow */ -#define ERR_WARN_FL_TOOLONG WARN(10) /* FP too many digits */ -#define ERR_WARN_USER WARN(11) /* %warning directives */ -#define ERR_WARN_LOCK WARN(12) /* bad LOCK prefixes */ -#define ERR_WARN_HLE WARN(13) /* bad HLE prefixes */ -#define ERR_WARN_BND WARN(14) /* bad BND prefixes */ -#define ERR_WARN_ZEXTRELOC WARN(15) /* relocation zero-extended */ -#define ERR_WARN_PTR WARN(16) /* not a NASM keyword */ -#define ERR_WARN_MAX 16 /* the highest numbered one */ - /* * Wrappers around malloc, realloc and free. nasm_malloc will * fatal-error and die rather than return NULL; nasm_realloc will diff --git a/nasmlib/file.h b/nasmlib/file.h index 85957938..774dadf4 100644 --- a/nasmlib/file.h +++ b/nasmlib/file.h @@ -36,6 +36,7 @@ #include "compiler.h" #include "nasmlib.h" +#include "error.h" #include diff --git a/nasmlib/filename.c b/nasmlib/filename.c index 5483bd7e..799eb89a 100644 --- a/nasmlib/filename.c +++ b/nasmlib/filename.c @@ -37,6 +37,7 @@ #include "compiler.h" #include "nasmlib.h" +#include "error.h" void standard_extension(char *inname, char *outname, char *extension) { diff --git a/nasmlib/malloc.c b/nasmlib/malloc.c index 7483760d..160d0ffb 100644 --- a/nasmlib/malloc.c +++ b/nasmlib/malloc.c @@ -40,6 +40,7 @@ #include #include "nasmlib.h" +#include "error.h" void *nasm_malloc(size_t size) { diff --git a/nasmlib/readnum.c b/nasmlib/readnum.c index 7253c5b0..e5b1cd69 100644 --- a/nasmlib/readnum.c +++ b/nasmlib/readnum.c @@ -40,6 +40,7 @@ #include #include "nasmlib.h" +#include "error.h" #include "nasm.h" /* For globalbits */ #define lib_isnumchar(c) (nasm_isalnum(c) || (c) == '$' || (c) == '_') diff --git a/output/codeview.c b/output/codeview.c index 6962eaba..ba6bc61a 100644 --- a/output/codeview.c +++ b/output/codeview.c @@ -44,6 +44,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "preproc.h" #include "saa.h" #include "hashtbl.h" diff --git a/output/outaout.c b/output/outaout.c index 5e62d6ad..193c75a0 100644 --- a/output/outaout.c +++ b/output/outaout.c @@ -45,6 +45,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "raa.h" #include "stdscan.h" diff --git a/output/outas86.c b/output/outas86.c index 631aff0f..5a36270e 100644 --- a/output/outas86.c +++ b/output/outas86.c @@ -45,6 +45,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "raa.h" #include "outform.h" diff --git a/output/outbin.c b/output/outbin.c index c2bccee6..04f27f8c 100644 --- a/output/outbin.c +++ b/output/outbin.c @@ -82,6 +82,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "stdscan.h" #include "labels.h" diff --git a/output/outcoff.c b/output/outcoff.c index bc9ef427..9f791ff1 100644 --- a/output/outcoff.c +++ b/output/outcoff.c @@ -46,6 +46,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "raa.h" #include "eval.h" diff --git a/output/outelf.c b/output/outelf.c index 65729c42..f5968e2e 100644 --- a/output/outelf.c +++ b/output/outelf.c @@ -42,6 +42,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "raa.h" #include "stdscan.h" diff --git a/output/outieee.c b/output/outieee.c index da5b71c8..cff32458 100644 --- a/output/outieee.c +++ b/output/outieee.c @@ -76,6 +76,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "ver.h" #include "outform.h" diff --git a/output/outlib.h b/output/outlib.h index b1dce646..f7deeaeb 100644 --- a/output/outlib.h +++ b/output/outlib.h @@ -35,6 +35,7 @@ #define NASM_OUTLIB_H #include "nasm.h" +#include "error.h" uint64_t realsize(enum out_type type, uint64_t size); diff --git a/output/outmacho.c b/output/outmacho.c index 1092d8c3..f7ccd376 100644 --- a/output/outmacho.c +++ b/output/outmacho.c @@ -45,6 +45,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "raa.h" #include "rbtree.h" diff --git a/output/outobj.c b/output/outobj.c index afb88e8c..2b6ce459 100644 --- a/output/outobj.c +++ b/output/outobj.c @@ -46,6 +46,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "stdscan.h" #include "eval.h" #include "ver.h" diff --git a/output/outrdf2.c b/output/outrdf2.c index 63e931d4..b62808ac 100644 --- a/output/outrdf2.c +++ b/output/outrdf2.c @@ -47,6 +47,7 @@ #include "nasm.h" #include "nasmlib.h" +#include "error.h" #include "saa.h" #include "outform.h" #include "outlib.h" diff --git a/stdlib/vsnprintf.c b/stdlib/vsnprintf.c index b8fd082a..5a600fc7 100644 --- a/stdlib/vsnprintf.c +++ b/stdlib/vsnprintf.c @@ -13,6 +13,7 @@ #include #include "nasmlib.h" +#include "error.h" #if !defined(HAVE_VSNPRINTF) && !defined(HAVE__VSNPRINTF)