From afa06137fa3d6de926134b4061c3ff4a74d212cf Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Sun, 12 Jul 2009 12:53:49 -0700 Subject: [PATCH] Hash even backend-specific directives, unify null functions Hash all directives, even the ones that are backend-specific, and instead pass the backend an already-parsed directive number. Furthermore, unify null functions across various backends. Signed-off-by: H. Peter Anvin --- Makefile.in | 184 ++++++++++++++++++++++--------------------- Mkfiles/msvc.mak | 179 +++++++++++++++++++++-------------------- Mkfiles/netware.mak | 165 +++++++++++++++++++------------------- Mkfiles/openwcom.mak | 179 +++++++++++++++++++++-------------------- Mkfiles/owlinux.mak | 179 +++++++++++++++++++++-------------------- directives.dat | 16 ++-- nasm.c | 4 +- nasm.h | 3 +- output/nullout.c | 51 ++++++++++++ output/outaout.c | 22 +----- output/outas86.c | 27 +------ output/outbin.c | 19 +++-- output/outcoff.c | 18 ++++- output/outdbg.c | 4 +- output/outelf32.c | 10 ++- output/outelf64.c | 10 ++- output/outieee.c | 10 ++- output/outlib.h | 4 + output/outmacho32.c | 23 +----- output/outmacho64.c | 19 +---- output/outobj.c | 24 +++--- output/outrdf2.c | 32 ++++---- 22 files changed, 622 insertions(+), 560 deletions(-) create mode 100644 output/nullout.c diff --git a/Makefile.in b/Makefile.in index a3e222f4..0c265351 100644 --- a/Makefile.in +++ b/Makefile.in @@ -65,6 +65,7 @@ NASM = nasm.$(O) nasmlib.$(O) ver.$(O) \ directives.$(O) \ assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) \ output/outform.$(O) output/outlib.$(O) output/nulldbg.$(O) \ + output/nullout.$(O) \ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \ output/outelf.$(O) output/outelf32.$(O) output/outelf64.$(O) \ output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \ @@ -252,113 +253,120 @@ alldeps: perlreq # @object-ending: ".$(O)" # @path-separator: "/" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(O): assemble.c assemble.h compiler.h config.h insns.h insnsi.h \ - nasm.h nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h +assemble.$(O): assemble.c assemble.h compiler.h config.h directives.h \ + insns.h insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h tables.h \ + tokens.h crc64.$(O): crc64.c compiler.h config.h nasmlib.h directives.$(O): directives.c compiler.h config.h directives.h hashtbl.h \ insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h -disasm.$(O): disasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h -eval.$(O): eval.c compiler.h config.h eval.h float.h insnsi.h labels.h \ +disasm.$(O): disasm.c compiler.h config.h directives.h disasm.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regdis.h regs.h sync.h tables.h \ + tokens.h +eval.$(O): eval.c compiler.h config.h directives.h eval.h float.h insnsi.h \ + labels.h nasm.h nasmlib.h pptok.h preproc.h regs.h +exprlib.$(O): exprlib.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +float.$(O): float.c compiler.h config.h directives.h float.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +hashtbl.$(O): hashtbl.c compiler.h config.h directives.h hashtbl.h insnsi.h \ nasm.h nasmlib.h pptok.h preproc.h regs.h -exprlib.$(O): exprlib.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -float.$(O): float.c compiler.h config.h float.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -hashtbl.$(O): hashtbl.c compiler.h config.h hashtbl.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h -insnsa.$(O): insnsa.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tokens.h -insnsb.$(O): insnsb.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tokens.h -insnsd.$(O): insnsd.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tokens.h +insnsa.$(O): insnsa.c compiler.h config.h directives.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsb.$(O): insnsb.c compiler.h config.h directives.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsd.$(O): insnsd.c compiler.h config.h directives.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h insnsn.$(O): insnsn.c compiler.h config.h insnsi.h tables.h -labels.$(O): labels.c compiler.h config.h hashtbl.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h +labels.$(O): labels.c compiler.h config.h directives.h hashtbl.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h lib/snprintf.$(O): lib/snprintf.c compiler.h config.h nasmlib.h lib/vsnprintf.$(O): lib/vsnprintf.c compiler.h config.h nasmlib.h -listing.$(O): listing.c compiler.h config.h insnsi.h listing.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h -macros.$(O): macros.c compiler.h config.h hashtbl.h insnsi.h nasm.h \ - nasmlib.h output/outform.h pptok.h preproc.h regs.h tables.h +listing.$(O): listing.c compiler.h config.h directives.h insnsi.h listing.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h +macros.$(O): macros.c compiler.h config.h directives.h hashtbl.h insnsi.h \ + nasm.h nasmlib.h output/outform.h pptok.h preproc.h regs.h tables.h nasm.$(O): nasm.c assemble.h compiler.h config.h directives.h eval.h float.h \ insns.h insnsi.h labels.h listing.h nasm.h nasmlib.h output/outform.h \ parser.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h tokens.h -nasmlib.$(O): nasmlib.c compiler.h config.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h tokens.h -ndisasm.$(O): ndisasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h -output/nulldbg.$(O): output/nulldbg.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h -output/outaout.$(O): output/outaout.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \ - saa.h stdscan.h -output/outas86.$(O): output/outas86.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \ - saa.h -output/outbin.$(O): output/outbin.c compiler.h config.h eval.h insnsi.h \ - labels.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ +nasmlib.$(O): nasmlib.c compiler.h config.h directives.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +ndisasm.$(O): ndisasm.c compiler.h config.h directives.h disasm.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h +output/nulldbg.$(O): output/nulldbg.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h +output/nullout.$(O): output/nullout.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outlib.h pptok.h preproc.h regs.h +output/outaout.$(O): output/outaout.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h raa.h regs.h saa.h stdscan.h +output/outas86.$(O): output/outas86.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h raa.h regs.h saa.h +output/outbin.$(O): output/outbin.c compiler.h config.h directives.h eval.h \ + insnsi.h labels.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ preproc.h regs.h saa.h stdscan.h -output/outcoff.$(O): output/outcoff.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \ - saa.h -output/outdbg.$(O): output/outdbg.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h pptok.h preproc.h regs.h -output/outelf.$(O): output/outelf.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/dwarf.h output/elfcommon.h output/outelf.h \ +output/outcoff.$(O): output/outcoff.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h raa.h regs.h saa.h +output/outdbg.$(O): output/outdbg.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outelf.$(O): output/outelf.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/dwarf.h output/elfcommon.h output/outelf.h \ output/outform.h pptok.h preproc.h regs.h -output/outelf32.$(O): output/outelf32.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/dwarf.h output/elf32.h output/elfcommon.h output/outelf.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \ - saa.h stdscan.h -output/outelf64.$(O): output/outelf64.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/dwarf.h output/elf64.h output/elfcommon.h output/outelf.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \ - saa.h stdscan.h -output/outexe.$(O): output/outexe.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h pptok.h preproc.h regs.h -output/outform.$(O): output/outform.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h pptok.h preproc.h regs.h -output/outieee.$(O): output/outieee.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h -output/outlib.$(O): output/outlib.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outlib.h pptok.h preproc.h regs.h -output/outmacho32.$(O): output/outmacho32.c compiler.h config.h insnsi.h \ - nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ - regs.h saa.h -output/outmacho64.$(O): output/outmacho64.c compiler.h config.h insnsi.h \ - nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ - regs.h saa.h -output/outobj.$(O): output/outobj.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h \ - stdscan.h -output/outrdf.$(O): output/outrdf.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h pptok.h preproc.h regs.h -output/outrdf2.$(O): output/outrdf2.c compiler.h config.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h rdoff/rdoff.h \ - regs.h saa.h -parser.$(O): parser.c compiler.h config.h float.h insns.h insnsi.h nasm.h \ - nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h +output/outelf32.$(O): output/outelf32.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/dwarf.h output/elf32.h output/elfcommon.h \ + output/outelf.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + rbtree.h regs.h saa.h stdscan.h +output/outelf64.$(O): output/outelf64.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/dwarf.h output/elf64.h output/elfcommon.h \ + output/outelf.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + rbtree.h regs.h saa.h stdscan.h +output/outexe.$(O): output/outexe.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outform.$(O): output/outform.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outieee.$(O): output/outieee.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h regs.h +output/outlib.$(O): output/outlib.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outlib.h pptok.h preproc.h regs.h +output/outmacho32.$(O): output/outmacho32.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h raa.h regs.h saa.h +output/outmacho64.$(O): output/outmacho64.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h raa.h regs.h saa.h +output/outobj.$(O): output/outobj.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h regs.h stdscan.h +output/outrdf.$(O): output/outrdf.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outrdf2.$(O): output/outrdf2.c compiler.h config.h directives.h \ + insnsi.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h rdoff/rdoff.h regs.h saa.h +parser.$(O): parser.c compiler.h config.h directives.h float.h insns.h \ + insnsi.h nasm.h nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h \ + tables.h tokens.h pptok.$(O): pptok.c compiler.h config.h hashtbl.h nasmlib.h pptok.h \ preproc.h -preproc.$(O): preproc.c compiler.h config.h hashtbl.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h +preproc.$(O): preproc.c compiler.h config.h directives.h hashtbl.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tables.h \ + tokens.h quote.$(O): quote.c compiler.h config.h nasmlib.h quote.h raa.$(O): raa.c compiler.h config.h nasmlib.h raa.h rbtree.$(O): rbtree.c compiler.h config.h rbtree.h regdis.$(O): regdis.c regdis.h regs.h -regflags.$(O): regflags.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tables.h +regflags.$(O): regflags.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tables.h regs.$(O): regs.c compiler.h config.h insnsi.h tables.h regvals.$(O): regvals.c compiler.h config.h insnsi.h tables.h saa.$(O): saa.c compiler.h config.h nasmlib.h saa.h -stdscan.$(O): stdscan.c compiler.h config.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tokens.h -strfunc.$(O): strfunc.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h +stdscan.$(O): stdscan.c compiler.h config.h directives.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tokens.h +strfunc.$(O): strfunc.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h sync.$(O): sync.c compiler.h config.h nasmlib.h sync.h -tokhash.$(O): tokhash.c compiler.h config.h hashtbl.h insns.h insnsi.h \ - nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h -ver.$(O): ver.c compiler.h config.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h version.h +tokhash.$(O): tokhash.c compiler.h config.h directives.h hashtbl.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +ver.$(O): ver.c compiler.h config.h directives.h insnsi.h nasm.h nasmlib.h \ + pptok.h preproc.h regs.h version.h diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index 95a044d6..ff72b805 100644 --- a/Mkfiles/msvc.mak +++ b/Mkfiles/msvc.mak @@ -40,6 +40,7 @@ NASM = nasm.$(O) nasmlib.$(O) ver.$(O) \ directives.$(O) \ assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) \ output/outform.$(O) output/outlib.$(O) output/nulldbg.$(O) \ + output/nullout.$(O) \ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \ output/outelf.$(O) output/outelf32.$(O) output/outelf64.$(O) \ output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \ @@ -183,109 +184,115 @@ everything: all doc rdf # @path-separator: "/" # @exclude: "config.h" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(O): assemble.c assemble.h compiler.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h +assemble.$(O): assemble.c assemble.h compiler.h directives.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h crc64.$(O): crc64.c compiler.h nasmlib.h directives.$(O): directives.c compiler.h directives.h hashtbl.h insnsi.h \ nasm.h nasmlib.h pptok.h preproc.h regs.h -disasm.$(O): disasm.c compiler.h disasm.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h -eval.$(O): eval.c compiler.h eval.h float.h insnsi.h labels.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h -exprlib.$(O): exprlib.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h -float.$(O): float.c compiler.h float.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h -hashtbl.$(O): hashtbl.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \ +disasm.$(O): disasm.c compiler.h directives.h disasm.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h +eval.$(O): eval.c compiler.h directives.h eval.h float.h insnsi.h labels.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h +exprlib.$(O): exprlib.c compiler.h directives.h insnsi.h nasm.h nasmlib.h \ pptok.h preproc.h regs.h -insnsa.$(O): insnsa.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h -insnsb.$(O): insnsb.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h -insnsd.$(O): insnsd.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h +float.$(O): float.c compiler.h directives.h float.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +hashtbl.$(O): hashtbl.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +insnsa.$(O): insnsa.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsb.$(O): insnsb.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsd.$(O): insnsd.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h insnsn.$(O): insnsn.c compiler.h insnsi.h tables.h -labels.$(O): labels.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h +labels.$(O): labels.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h lib/snprintf.$(O): lib/snprintf.c compiler.h nasmlib.h lib/vsnprintf.$(O): lib/vsnprintf.c compiler.h nasmlib.h -listing.$(O): listing.c compiler.h insnsi.h listing.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -macros.$(O): macros.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h tables.h +listing.$(O): listing.c compiler.h directives.h insnsi.h listing.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +macros.$(O): macros.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h tables.h nasm.$(O): nasm.c assemble.h compiler.h directives.h eval.h float.h insns.h \ insnsi.h labels.h listing.h nasm.h nasmlib.h output/outform.h parser.h \ pptok.h preproc.h raa.h regs.h saa.h stdscan.h tokens.h -nasmlib.$(O): nasmlib.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h -ndisasm.$(O): ndisasm.c compiler.h disasm.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h -output/nulldbg.$(O): output/nulldbg.c compiler.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -output/outaout.$(O): output/outaout.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h \ +nasmlib.$(O): nasmlib.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +ndisasm.$(O): ndisasm.c compiler.h directives.h disasm.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h +output/nulldbg.$(O): output/nulldbg.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h +output/nullout.$(O): output/nullout.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outlib.h pptok.h preproc.h regs.h +output/outaout.$(O): output/outaout.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h stdscan.h +output/outas86.$(O): output/outas86.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outbin.$(O): output/outbin.c compiler.h directives.h eval.h insnsi.h \ + labels.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h regs.h saa.h stdscan.h +output/outcoff.$(O): output/outcoff.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outdbg.$(O): output/outdbg.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outelf.$(O): output/outelf.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/dwarf.h output/elfcommon.h output/outelf.h \ + output/outform.h pptok.h preproc.h regs.h +output/outelf32.$(O): output/outelf32.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/dwarf.h output/elf32.h output/elfcommon.h \ + output/outelf.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + rbtree.h regs.h saa.h stdscan.h +output/outelf64.$(O): output/outelf64.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/dwarf.h output/elf64.h output/elfcommon.h \ + output/outelf.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + rbtree.h regs.h saa.h stdscan.h +output/outexe.$(O): output/outexe.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outform.$(O): output/outform.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outieee.$(O): output/outieee.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h +output/outlib.$(O): output/outlib.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outlib.h pptok.h preproc.h regs.h +output/outmacho32.$(O): output/outmacho32.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outmacho64.$(O): output/outmacho64.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outobj.$(O): output/outobj.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h \ stdscan.h -output/outas86.$(O): output/outas86.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h -output/outbin.$(O): output/outbin.c compiler.h eval.h insnsi.h labels.h \ - nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h \ - saa.h stdscan.h -output/outcoff.$(O): output/outcoff.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h -output/outdbg.$(O): output/outdbg.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outelf.$(O): output/outelf.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/dwarf.h output/elfcommon.h output/outelf.h output/outform.h pptok.h \ - preproc.h regs.h -output/outelf32.$(O): output/outelf32.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/dwarf.h output/elf32.h output/elfcommon.h output/outelf.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \ - saa.h stdscan.h -output/outelf64.$(O): output/outelf64.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/dwarf.h output/elf64.h output/elfcommon.h output/outelf.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \ - saa.h stdscan.h -output/outexe.$(O): output/outexe.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outform.$(O): output/outform.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outieee.$(O): output/outieee.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h regs.h -output/outlib.$(O): output/outlib.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outlib.h pptok.h preproc.h regs.h -output/outmacho32.$(O): output/outmacho32.c compiler.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \ - saa.h -output/outmacho64.$(O): output/outmacho64.c compiler.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \ - saa.h -output/outobj.$(O): output/outobj.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h regs.h stdscan.h -output/outrdf.$(O): output/outrdf.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outrdf2.$(O): output/outrdf2.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h rdoff/rdoff.h regs.h \ - saa.h -parser.$(O): parser.c compiler.h float.h insns.h insnsi.h nasm.h nasmlib.h \ - parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h +output/outrdf.$(O): output/outrdf.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outrdf2.$(O): output/outrdf2.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h \ + rdoff/rdoff.h regs.h saa.h +parser.$(O): parser.c compiler.h directives.h float.h insns.h insnsi.h \ + nasm.h nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h \ + tokens.h pptok.$(O): pptok.c compiler.h hashtbl.h nasmlib.h pptok.h preproc.h -preproc.$(O): preproc.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h +preproc.$(O): preproc.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h quote.$(O): quote.c compiler.h nasmlib.h quote.h raa.$(O): raa.c compiler.h nasmlib.h raa.h rbtree.$(O): rbtree.c compiler.h rbtree.h regdis.$(O): regdis.c regdis.h regs.h -regflags.$(O): regflags.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tables.h +regflags.$(O): regflags.c compiler.h directives.h insnsi.h nasm.h nasmlib.h \ + pptok.h preproc.h regs.h tables.h regs.$(O): regs.c compiler.h insnsi.h tables.h regvals.$(O): regvals.c compiler.h insnsi.h tables.h saa.$(O): saa.c compiler.h nasmlib.h saa.h -stdscan.$(O): stdscan.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h quote.h regs.h stdscan.h tokens.h -strfunc.$(O): strfunc.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h +stdscan.$(O): stdscan.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tokens.h +strfunc.$(O): strfunc.c compiler.h directives.h insnsi.h nasm.h nasmlib.h \ + pptok.h preproc.h regs.h sync.$(O): sync.c compiler.h nasmlib.h sync.h -tokhash.$(O): tokhash.c compiler.h hashtbl.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h tokens.h -ver.$(O): ver.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h preproc.h \ - regs.h version.h +tokhash.$(O): tokhash.c compiler.h directives.h hashtbl.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +ver.$(O): ver.c compiler.h directives.h insnsi.h nasm.h nasmlib.h pptok.h \ + preproc.h regs.h version.h diff --git a/Mkfiles/netware.mak b/Mkfiles/netware.mak index 5261c13e..df07f497 100644 --- a/Mkfiles/netware.mak +++ b/Mkfiles/netware.mak @@ -36,6 +36,7 @@ NASM = nasm.o nasmlib.o ver.o \ directives.o \ assemble.o labels.o hashtbl.o crc64.o parser.o \ outform.o outlib.o nulldbg.o \ + nullout.o \ outbin.o outaout.o outcoff.o \ outelf.o outelf32.o outelf64.o \ outobj.o outas86.o outrdf2.o \ @@ -123,101 +124,107 @@ $(OBJDIR)/version.mak: $(PROOT)/version $(PROOT)/version.pl $(OBJDIR) # @path-separator: "" # @continuation: "\" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.o: assemble.c assemble.h compiler.h config.h insns.h insnsi.h \ - nasm.h nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h +assemble.o: assemble.c assemble.h compiler.h config.h directives.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h crc64.o: crc64.c compiler.h config.h nasmlib.h directives.o: directives.c compiler.h config.h directives.h hashtbl.h \ insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h -disasm.o: disasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h -eval.o: eval.c compiler.h config.h eval.h float.h insnsi.h labels.h nasm.h \ +disasm.o: disasm.c compiler.h config.h directives.h disasm.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regdis.h regs.h sync.h tables.h \ + tokens.h +eval.o: eval.c compiler.h config.h directives.h eval.h float.h insnsi.h \ + labels.h nasm.h nasmlib.h pptok.h preproc.h regs.h +exprlib.o: exprlib.c compiler.h config.h directives.h insnsi.h nasm.h \ nasmlib.h pptok.h preproc.h regs.h -exprlib.o: exprlib.c compiler.h config.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h -float.o: float.c compiler.h config.h float.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -hashtbl.o: hashtbl.c compiler.h config.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -insnsa.o: insnsa.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tokens.h -insnsb.o: insnsb.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tokens.h -insnsd.o: insnsd.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tokens.h +float.o: float.c compiler.h config.h directives.h float.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +hashtbl.o: hashtbl.c compiler.h config.h directives.h hashtbl.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h +insnsa.o: insnsa.c compiler.h config.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsb.o: insnsb.c compiler.h config.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsd.o: insnsd.c compiler.h config.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h insnsn.o: insnsn.c compiler.h config.h insnsi.h tables.h -labels.o: labels.c compiler.h config.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h +labels.o: labels.c compiler.h config.h directives.h hashtbl.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h snprintf.o: snprintf.c compiler.h config.h nasmlib.h vsnprintf.o: vsnprintf.c compiler.h config.h nasmlib.h -listing.o: listing.c compiler.h config.h insnsi.h listing.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -macros.o: macros.c compiler.h config.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - outform.h pptok.h preproc.h regs.h tables.h +listing.o: listing.c compiler.h config.h directives.h insnsi.h listing.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h +macros.o: macros.c compiler.h config.h directives.h hashtbl.h insnsi.h \ + nasm.h nasmlib.h outform.h pptok.h preproc.h regs.h tables.h nasm.o: nasm.c assemble.h compiler.h config.h directives.h eval.h float.h \ insns.h insnsi.h labels.h listing.h nasm.h nasmlib.h outform.h parser.h \ pptok.h preproc.h raa.h regs.h saa.h stdscan.h tokens.h -nasmlib.o: nasmlib.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h tokens.h -ndisasm.o: ndisasm.c compiler.h config.h disasm.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h -nulldbg.o: nulldbg.c compiler.h config.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h -outaout.o: outaout.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - outlib.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h -outas86.o: outas86.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - outlib.h pptok.h preproc.h raa.h regs.h saa.h -outbin.o: outbin.c compiler.h config.h eval.h insnsi.h labels.h nasm.h \ - nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h saa.h stdscan.h -outcoff.o: outcoff.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - outlib.h pptok.h preproc.h raa.h regs.h saa.h -outdbg.o: outdbg.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - pptok.h preproc.h regs.h -outelf.o: outelf.c compiler.h config.h insnsi.h nasm.h nasmlib.h dwarf.h \ - elfcommon.h outelf.h outform.h pptok.h preproc.h regs.h -outelf32.o: outelf32.c compiler.h config.h insnsi.h nasm.h nasmlib.h dwarf.h \ - elf32.h elfcommon.h outelf.h outform.h outlib.h pptok.h preproc.h raa.h \ - rbtree.h regs.h saa.h stdscan.h -outelf64.o: outelf64.c compiler.h config.h insnsi.h nasm.h nasmlib.h dwarf.h \ - elf64.h elfcommon.h outelf.h outform.h outlib.h pptok.h preproc.h raa.h \ - rbtree.h regs.h saa.h stdscan.h -outexe.o: outexe.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - pptok.h preproc.h regs.h -outform.o: outform.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - pptok.h preproc.h regs.h -outieee.o: outieee.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - outlib.h pptok.h preproc.h regs.h -outlib.o: outlib.c compiler.h config.h insnsi.h nasm.h nasmlib.h outlib.h \ - pptok.h preproc.h regs.h -outmacho32.o: outmacho32.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ - outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h -outmacho64.o: outmacho64.c compiler.h config.h insnsi.h nasm.h nasmlib.h \ - outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h -outobj.o: outobj.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - outlib.h pptok.h preproc.h regs.h stdscan.h -outrdf.o: outrdf.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - pptok.h preproc.h regs.h -outrdf2.o: outrdf2.c compiler.h config.h insnsi.h nasm.h nasmlib.h outform.h \ - outlib.h pptok.h preproc.h rdoff.h regs.h saa.h -parser.o: parser.c compiler.h config.h float.h insns.h insnsi.h nasm.h \ - nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h +nasmlib.o: nasmlib.c compiler.h config.h directives.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +ndisasm.o: ndisasm.c compiler.h config.h directives.h disasm.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h +nulldbg.o: nulldbg.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +nullout.o: nullout.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outlib.h pptok.h preproc.h regs.h +outaout.o: outaout.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h stdscan.h +outas86.o: outas86.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h +outbin.o: outbin.c compiler.h config.h directives.h eval.h insnsi.h labels.h \ + nasm.h nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h saa.h \ + stdscan.h +outcoff.o: outcoff.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h +outdbg.o: outdbg.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h pptok.h preproc.h regs.h +outelf.o: outelf.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h dwarf.h elfcommon.h outelf.h outform.h pptok.h preproc.h regs.h +outelf32.o: outelf32.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h dwarf.h elf32.h elfcommon.h outelf.h outform.h outlib.h pptok.h \ + preproc.h raa.h rbtree.h regs.h saa.h stdscan.h +outelf64.o: outelf64.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h dwarf.h elf64.h elfcommon.h outelf.h outform.h outlib.h pptok.h \ + preproc.h raa.h rbtree.h regs.h saa.h stdscan.h +outexe.o: outexe.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h pptok.h preproc.h regs.h +outform.o: outform.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h pptok.h preproc.h regs.h +outieee.o: outieee.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h +outlib.o: outlib.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outlib.h pptok.h preproc.h regs.h +outmacho32.o: outmacho32.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h +outmacho64.o: outmacho64.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h raa.h regs.h saa.h +outobj.o: outobj.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h regs.h stdscan.h +outrdf.o: outrdf.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h pptok.h preproc.h regs.h +outrdf2.o: outrdf2.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h outform.h outlib.h pptok.h preproc.h rdoff.h regs.h saa.h +parser.o: parser.c compiler.h config.h directives.h float.h insns.h insnsi.h \ + nasm.h nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h \ + tokens.h pptok.o: pptok.c compiler.h config.h hashtbl.h nasmlib.h pptok.h preproc.h -preproc.o: preproc.c compiler.h config.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h +preproc.o: preproc.c compiler.h config.h directives.h hashtbl.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tables.h \ + tokens.h quote.o: quote.c compiler.h config.h nasmlib.h quote.h raa.o: raa.c compiler.h config.h nasmlib.h raa.h rbtree.o: rbtree.c compiler.h config.h rbtree.h regdis.o: regdis.c regdis.h regs.h -regflags.o: regflags.c compiler.h config.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tables.h +regflags.o: regflags.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tables.h regs.o: regs.c compiler.h config.h insnsi.h tables.h regvals.o: regvals.c compiler.h config.h insnsi.h tables.h saa.o: saa.c compiler.h config.h nasmlib.h saa.h -stdscan.o: stdscan.c compiler.h config.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h quote.h regs.h stdscan.h tokens.h -strfunc.o: strfunc.c compiler.h config.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h +stdscan.o: stdscan.c compiler.h config.h directives.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tokens.h +strfunc.o: strfunc.c compiler.h config.h directives.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h sync.o: sync.c compiler.h config.h nasmlib.h sync.h -tokhash.o: tokhash.c compiler.h config.h hashtbl.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h tokens.h -ver.o: ver.c compiler.h config.h insnsi.h nasm.h nasmlib.h pptok.h preproc.h \ - regs.h version.h +tokhash.o: tokhash.c compiler.h config.h directives.h hashtbl.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +ver.o: ver.c compiler.h config.h directives.h insnsi.h nasm.h nasmlib.h \ + pptok.h preproc.h regs.h version.h diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index ff24b9ea..03e952ac 100644 --- a/Mkfiles/openwcom.mak +++ b/Mkfiles/openwcom.mak @@ -52,6 +52,7 @@ NASM = nasm.$(O) nasmlib.$(O) ver.$(O) & directives.$(O) & assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) & output\outform.$(O) output\outlib.$(O) output\nulldbg.$(O) & + output\nullout.$(O) & output\outbin.$(O) output\outaout.$(O) output\outcoff.$(O) & output\outelf.$(O) output\outelf32.$(O) output\outelf64.$(O) & output\outobj.$(O) output\outas86.$(O) output\outrdf2.$(O) & @@ -212,109 +213,115 @@ everything: all doc rdf # @exclude: "config.h" # @continuation: "&" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(O): assemble.c assemble.h compiler.h insns.h insnsi.h nasm.h & - nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h +assemble.$(O): assemble.c assemble.h compiler.h directives.h insns.h & + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h crc64.$(O): crc64.c compiler.h nasmlib.h directives.$(O): directives.c compiler.h directives.h hashtbl.h insnsi.h & nasm.h nasmlib.h pptok.h preproc.h regs.h -disasm.$(O): disasm.c compiler.h disasm.h insns.h insnsi.h nasm.h nasmlib.h & - pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h -eval.$(O): eval.c compiler.h eval.h float.h insnsi.h labels.h nasm.h & - nasmlib.h pptok.h preproc.h regs.h -exprlib.$(O): exprlib.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h -float.$(O): float.c compiler.h float.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h -hashtbl.$(O): hashtbl.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h & +disasm.$(O): disasm.c compiler.h directives.h disasm.h insns.h insnsi.h & + nasm.h nasmlib.h pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h +eval.$(O): eval.c compiler.h directives.h eval.h float.h insnsi.h labels.h & + nasm.h nasmlib.h pptok.h preproc.h regs.h +exprlib.$(O): exprlib.c compiler.h directives.h insnsi.h nasm.h nasmlib.h & pptok.h preproc.h regs.h -insnsa.$(O): insnsa.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h tokens.h -insnsb.$(O): insnsb.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h tokens.h -insnsd.$(O): insnsd.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h tokens.h +float.$(O): float.c compiler.h directives.h float.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h +hashtbl.$(O): hashtbl.c compiler.h directives.h hashtbl.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h +insnsa.$(O): insnsa.c compiler.h directives.h insns.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsb.$(O): insnsb.c compiler.h directives.h insns.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsd.$(O): insnsd.c compiler.h directives.h insns.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h tokens.h insnsn.$(O): insnsn.c compiler.h insnsi.h tables.h -labels.$(O): labels.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h +labels.$(O): labels.c compiler.h directives.h hashtbl.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h lib\snprintf.$(O): lib\snprintf.c compiler.h nasmlib.h lib\vsnprintf.$(O): lib\vsnprintf.c compiler.h nasmlib.h -listing.$(O): listing.c compiler.h insnsi.h listing.h nasm.h nasmlib.h & - pptok.h preproc.h regs.h -macros.$(O): macros.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h & - output\outform.h pptok.h preproc.h regs.h tables.h +listing.$(O): listing.c compiler.h directives.h insnsi.h listing.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h +macros.$(O): macros.c compiler.h directives.h hashtbl.h insnsi.h nasm.h & + nasmlib.h output\outform.h pptok.h preproc.h regs.h tables.h nasm.$(O): nasm.c assemble.h compiler.h directives.h eval.h float.h insns.h & insnsi.h labels.h listing.h nasm.h nasmlib.h output\outform.h parser.h & pptok.h preproc.h raa.h regs.h saa.h stdscan.h tokens.h -nasmlib.$(O): nasmlib.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h tokens.h -ndisasm.$(O): ndisasm.c compiler.h disasm.h insns.h insnsi.h nasm.h & - nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h -output\nulldbg.$(O): output\nulldbg.c compiler.h insnsi.h nasm.h nasmlib.h & - pptok.h preproc.h regs.h -output\outaout.$(O): output\outaout.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h saa.h & +nasmlib.$(O): nasmlib.c compiler.h directives.h insns.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h regs.h tokens.h +ndisasm.$(O): ndisasm.c compiler.h directives.h disasm.h insns.h insnsi.h & + nasm.h nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h +output\nulldbg.$(O): output\nulldbg.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h pptok.h preproc.h regs.h +output\nullout.$(O): output\nullout.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outlib.h pptok.h preproc.h regs.h +output\outaout.$(O): output\outaout.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h raa.h & + regs.h saa.h stdscan.h +output\outas86.$(O): output\outas86.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h raa.h & + regs.h saa.h +output\outbin.$(O): output\outbin.c compiler.h directives.h eval.h insnsi.h & + labels.h nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h & + preproc.h regs.h saa.h stdscan.h +output\outcoff.$(O): output\outcoff.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h raa.h & + regs.h saa.h +output\outdbg.$(O): output\outdbg.c compiler.h directives.h insnsi.h nasm.h & + nasmlib.h output\outform.h pptok.h preproc.h regs.h +output\outelf.$(O): output\outelf.c compiler.h directives.h insnsi.h nasm.h & + nasmlib.h output\dwarf.h output\elfcommon.h output\outelf.h & + output\outform.h pptok.h preproc.h regs.h +output\outelf32.$(O): output\outelf32.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\dwarf.h output\elf32.h output\elfcommon.h & + output\outelf.h output\outform.h output\outlib.h pptok.h preproc.h raa.h & + rbtree.h regs.h saa.h stdscan.h +output\outelf64.$(O): output\outelf64.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\dwarf.h output\elf64.h output\elfcommon.h & + output\outelf.h output\outform.h output\outlib.h pptok.h preproc.h raa.h & + rbtree.h regs.h saa.h stdscan.h +output\outexe.$(O): output\outexe.c compiler.h directives.h insnsi.h nasm.h & + nasmlib.h output\outform.h pptok.h preproc.h regs.h +output\outform.$(O): output\outform.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h pptok.h preproc.h regs.h +output\outieee.$(O): output\outieee.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h regs.h +output\outlib.$(O): output\outlib.c compiler.h directives.h insnsi.h nasm.h & + nasmlib.h output\outlib.h pptok.h preproc.h regs.h +output\outmacho32.$(O): output\outmacho32.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h raa.h & + regs.h saa.h +output\outmacho64.$(O): output\outmacho64.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h raa.h & + regs.h saa.h +output\outobj.$(O): output\outobj.c compiler.h directives.h insnsi.h nasm.h & + nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h regs.h & stdscan.h -output\outas86.$(O): output\outas86.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h saa.h -output\outbin.$(O): output\outbin.c compiler.h eval.h insnsi.h labels.h & - nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h regs.h & - saa.h stdscan.h -output\outcoff.$(O): output\outcoff.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h saa.h -output\outdbg.$(O): output\outdbg.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h pptok.h preproc.h regs.h -output\outelf.$(O): output\outelf.c compiler.h insnsi.h nasm.h nasmlib.h & - output\dwarf.h output\elfcommon.h output\outelf.h output\outform.h pptok.h & - preproc.h regs.h -output\outelf32.$(O): output\outelf32.c compiler.h insnsi.h nasm.h nasmlib.h & - output\dwarf.h output\elf32.h output\elfcommon.h output\outelf.h & - output\outform.h output\outlib.h pptok.h preproc.h raa.h rbtree.h regs.h & - saa.h stdscan.h -output\outelf64.$(O): output\outelf64.c compiler.h insnsi.h nasm.h nasmlib.h & - output\dwarf.h output\elf64.h output\elfcommon.h output\outelf.h & - output\outform.h output\outlib.h pptok.h preproc.h raa.h rbtree.h regs.h & - saa.h stdscan.h -output\outexe.$(O): output\outexe.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h pptok.h preproc.h regs.h -output\outform.$(O): output\outform.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h pptok.h preproc.h regs.h -output\outieee.$(O): output\outieee.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h output\outlib.h pptok.h preproc.h regs.h -output\outlib.$(O): output\outlib.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outlib.h pptok.h preproc.h regs.h -output\outmacho32.$(O): output\outmacho32.c compiler.h insnsi.h nasm.h & - nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h & - saa.h -output\outmacho64.$(O): output\outmacho64.c compiler.h insnsi.h nasm.h & - nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h raa.h regs.h & - saa.h -output\outobj.$(O): output\outobj.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h output\outlib.h pptok.h preproc.h regs.h stdscan.h -output\outrdf.$(O): output\outrdf.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h pptok.h preproc.h regs.h -output\outrdf2.$(O): output\outrdf2.c compiler.h insnsi.h nasm.h nasmlib.h & - output\outform.h output\outlib.h pptok.h preproc.h rdoff\rdoff.h regs.h & - saa.h -parser.$(O): parser.c compiler.h float.h insns.h insnsi.h nasm.h nasmlib.h & - parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h +output\outrdf.$(O): output\outrdf.c compiler.h directives.h insnsi.h nasm.h & + nasmlib.h output\outform.h pptok.h preproc.h regs.h +output\outrdf2.$(O): output\outrdf2.c compiler.h directives.h insnsi.h & + nasm.h nasmlib.h output\outform.h output\outlib.h pptok.h preproc.h & + rdoff\rdoff.h regs.h saa.h +parser.$(O): parser.c compiler.h directives.h float.h insns.h insnsi.h & + nasm.h nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h & + tokens.h pptok.$(O): pptok.c compiler.h hashtbl.h nasmlib.h pptok.h preproc.h -preproc.$(O): preproc.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h & - pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h +preproc.$(O): preproc.c compiler.h directives.h hashtbl.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h quote.$(O): quote.c compiler.h nasmlib.h quote.h raa.$(O): raa.c compiler.h nasmlib.h raa.h rbtree.$(O): rbtree.c compiler.h rbtree.h regdis.$(O): regdis.c regdis.h regs.h -regflags.$(O): regflags.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h tables.h +regflags.$(O): regflags.c compiler.h directives.h insnsi.h nasm.h nasmlib.h & + pptok.h preproc.h regs.h tables.h regs.$(O): regs.c compiler.h insnsi.h tables.h regvals.$(O): regvals.c compiler.h insnsi.h tables.h saa.$(O): saa.c compiler.h nasmlib.h saa.h -stdscan.$(O): stdscan.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h quote.h regs.h stdscan.h tokens.h -strfunc.$(O): strfunc.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h & - preproc.h regs.h +stdscan.$(O): stdscan.c compiler.h directives.h insns.h insnsi.h nasm.h & + nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tokens.h +strfunc.$(O): strfunc.c compiler.h directives.h insnsi.h nasm.h nasmlib.h & + pptok.h preproc.h regs.h sync.$(O): sync.c compiler.h nasmlib.h sync.h -tokhash.$(O): tokhash.c compiler.h hashtbl.h insns.h insnsi.h nasm.h & - nasmlib.h pptok.h preproc.h regs.h tokens.h -ver.$(O): ver.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h preproc.h & - regs.h version.h +tokhash.$(O): tokhash.c compiler.h directives.h hashtbl.h insns.h insnsi.h & + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +ver.$(O): ver.c compiler.h directives.h insnsi.h nasm.h nasmlib.h pptok.h & + preproc.h regs.h version.h diff --git a/Mkfiles/owlinux.mak b/Mkfiles/owlinux.mak index bda449ec..92ca85bf 100644 --- a/Mkfiles/owlinux.mak +++ b/Mkfiles/owlinux.mak @@ -63,6 +63,7 @@ NASM = nasm.$(O) nasmlib.$(O) ver.$(O) \ directives.$(O) \ assemble.$(O) labels.$(O) hashtbl.$(O) crc64.$(O) parser.$(O) \ output/outform.$(O) output/outlib.$(O) output/nulldbg.$(O) \ + output/nullout.$(O) \ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \ output/outelf.$(O) output/outelf32.$(O) output/outelf64.$(O) \ output/outobj.$(O) output/outas86.$(O) output/outrdf2.$(O) \ @@ -222,109 +223,115 @@ everything: all doc rdf # @exclude: "config.h" # @continuation: "\" #-- Everything below is generated by mkdep.pl - do not edit --# -assemble.$(O): assemble.c assemble.h compiler.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h +assemble.$(O): assemble.c assemble.h compiler.h directives.h insns.h \ + insnsi.h nasm.h nasmlib.h pptok.h preproc.h regs.h tables.h tokens.h crc64.$(O): crc64.c compiler.h nasmlib.h directives.$(O): directives.c compiler.h directives.h hashtbl.h insnsi.h \ nasm.h nasmlib.h pptok.h preproc.h regs.h -disasm.$(O): disasm.c compiler.h disasm.h insns.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h -eval.$(O): eval.c compiler.h eval.h float.h insnsi.h labels.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h -exprlib.$(O): exprlib.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h -float.$(O): float.c compiler.h float.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h -hashtbl.$(O): hashtbl.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \ +disasm.$(O): disasm.c compiler.h directives.h disasm.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regdis.h regs.h sync.h tables.h tokens.h +eval.$(O): eval.c compiler.h directives.h eval.h float.h insnsi.h labels.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h +exprlib.$(O): exprlib.c compiler.h directives.h insnsi.h nasm.h nasmlib.h \ pptok.h preproc.h regs.h -insnsa.$(O): insnsa.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h -insnsb.$(O): insnsb.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h -insnsd.$(O): insnsd.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h +float.$(O): float.c compiler.h directives.h float.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +hashtbl.$(O): hashtbl.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +insnsa.$(O): insnsa.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsb.$(O): insnsb.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +insnsd.$(O): insnsd.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h insnsn.$(O): insnsn.c compiler.h insnsi.h tables.h -labels.$(O): labels.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h +labels.$(O): labels.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h lib/snprintf.$(O): lib/snprintf.c compiler.h nasmlib.h lib/vsnprintf.$(O): lib/vsnprintf.c compiler.h nasmlib.h -listing.$(O): listing.c compiler.h insnsi.h listing.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -macros.$(O): macros.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h tables.h +listing.$(O): listing.c compiler.h directives.h insnsi.h listing.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h +macros.$(O): macros.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h tables.h nasm.$(O): nasm.c assemble.h compiler.h directives.h eval.h float.h insns.h \ insnsi.h labels.h listing.h nasm.h nasmlib.h output/outform.h parser.h \ pptok.h preproc.h raa.h regs.h saa.h stdscan.h tokens.h -nasmlib.$(O): nasmlib.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tokens.h -ndisasm.$(O): ndisasm.c compiler.h disasm.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h -output/nulldbg.$(O): output/nulldbg.c compiler.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h regs.h -output/outaout.$(O): output/outaout.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h \ +nasmlib.$(O): nasmlib.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h regs.h tokens.h +ndisasm.$(O): ndisasm.c compiler.h directives.h disasm.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h sync.h tokens.h +output/nulldbg.$(O): output/nulldbg.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h +output/nullout.$(O): output/nullout.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outlib.h pptok.h preproc.h regs.h +output/outaout.$(O): output/outaout.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h stdscan.h +output/outas86.$(O): output/outas86.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outbin.$(O): output/outbin.c compiler.h directives.h eval.h insnsi.h \ + labels.h nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h \ + preproc.h regs.h saa.h stdscan.h +output/outcoff.$(O): output/outcoff.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outdbg.$(O): output/outdbg.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outelf.$(O): output/outelf.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/dwarf.h output/elfcommon.h output/outelf.h \ + output/outform.h pptok.h preproc.h regs.h +output/outelf32.$(O): output/outelf32.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/dwarf.h output/elf32.h output/elfcommon.h \ + output/outelf.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + rbtree.h regs.h saa.h stdscan.h +output/outelf64.$(O): output/outelf64.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/dwarf.h output/elf64.h output/elfcommon.h \ + output/outelf.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + rbtree.h regs.h saa.h stdscan.h +output/outexe.$(O): output/outexe.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outform.$(O): output/outform.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outieee.$(O): output/outieee.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h +output/outlib.$(O): output/outlib.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outlib.h pptok.h preproc.h regs.h +output/outmacho32.$(O): output/outmacho32.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outmacho64.$(O): output/outmacho64.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h \ + regs.h saa.h +output/outobj.$(O): output/outobj.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h \ stdscan.h -output/outas86.$(O): output/outas86.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h -output/outbin.$(O): output/outbin.c compiler.h eval.h insnsi.h labels.h \ - nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h regs.h \ - saa.h stdscan.h -output/outcoff.$(O): output/outcoff.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h saa.h -output/outdbg.$(O): output/outdbg.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outelf.$(O): output/outelf.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/dwarf.h output/elfcommon.h output/outelf.h output/outform.h pptok.h \ - preproc.h regs.h -output/outelf32.$(O): output/outelf32.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/dwarf.h output/elf32.h output/elfcommon.h output/outelf.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \ - saa.h stdscan.h -output/outelf64.$(O): output/outelf64.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/dwarf.h output/elf64.h output/elfcommon.h output/outelf.h \ - output/outform.h output/outlib.h pptok.h preproc.h raa.h rbtree.h regs.h \ - saa.h stdscan.h -output/outexe.$(O): output/outexe.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outform.$(O): output/outform.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outieee.$(O): output/outieee.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h regs.h -output/outlib.$(O): output/outlib.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outlib.h pptok.h preproc.h regs.h -output/outmacho32.$(O): output/outmacho32.c compiler.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \ - saa.h -output/outmacho64.$(O): output/outmacho64.c compiler.h insnsi.h nasm.h \ - nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h raa.h regs.h \ - saa.h -output/outobj.$(O): output/outobj.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h regs.h stdscan.h -output/outrdf.$(O): output/outrdf.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h pptok.h preproc.h regs.h -output/outrdf2.$(O): output/outrdf2.c compiler.h insnsi.h nasm.h nasmlib.h \ - output/outform.h output/outlib.h pptok.h preproc.h rdoff/rdoff.h regs.h \ - saa.h -parser.$(O): parser.c compiler.h float.h insns.h insnsi.h nasm.h nasmlib.h \ - parser.h pptok.h preproc.h regs.h stdscan.h tables.h tokens.h +output/outrdf.$(O): output/outrdf.c compiler.h directives.h insnsi.h nasm.h \ + nasmlib.h output/outform.h pptok.h preproc.h regs.h +output/outrdf2.$(O): output/outrdf2.c compiler.h directives.h insnsi.h \ + nasm.h nasmlib.h output/outform.h output/outlib.h pptok.h preproc.h \ + rdoff/rdoff.h regs.h saa.h +parser.$(O): parser.c compiler.h directives.h float.h insns.h insnsi.h \ + nasm.h nasmlib.h parser.h pptok.h preproc.h regs.h stdscan.h tables.h \ + tokens.h pptok.$(O): pptok.c compiler.h hashtbl.h nasmlib.h pptok.h preproc.h -preproc.$(O): preproc.c compiler.h hashtbl.h insnsi.h nasm.h nasmlib.h \ - pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h +preproc.$(O): preproc.c compiler.h directives.h hashtbl.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tables.h tokens.h quote.$(O): quote.c compiler.h nasmlib.h quote.h raa.$(O): raa.c compiler.h nasmlib.h raa.h rbtree.$(O): rbtree.c compiler.h rbtree.h regdis.$(O): regdis.c regdis.h regs.h -regflags.$(O): regflags.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h tables.h +regflags.$(O): regflags.c compiler.h directives.h insnsi.h nasm.h nasmlib.h \ + pptok.h preproc.h regs.h tables.h regs.$(O): regs.c compiler.h insnsi.h tables.h regvals.$(O): regvals.c compiler.h insnsi.h tables.h saa.$(O): saa.c compiler.h nasmlib.h saa.h -stdscan.$(O): stdscan.c compiler.h insns.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h quote.h regs.h stdscan.h tokens.h -strfunc.$(O): strfunc.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h \ - preproc.h regs.h +stdscan.$(O): stdscan.c compiler.h directives.h insns.h insnsi.h nasm.h \ + nasmlib.h pptok.h preproc.h quote.h regs.h stdscan.h tokens.h +strfunc.$(O): strfunc.c compiler.h directives.h insnsi.h nasm.h nasmlib.h \ + pptok.h preproc.h regs.h sync.$(O): sync.c compiler.h nasmlib.h sync.h -tokhash.$(O): tokhash.c compiler.h hashtbl.h insns.h insnsi.h nasm.h \ - nasmlib.h pptok.h preproc.h regs.h tokens.h -ver.$(O): ver.c compiler.h insnsi.h nasm.h nasmlib.h pptok.h preproc.h \ - regs.h version.h +tokhash.$(O): tokhash.c compiler.h directives.h hashtbl.h insns.h insnsi.h \ + nasm.h nasmlib.h pptok.h preproc.h regs.h tokens.h +ver.$(O): ver.c compiler.h directives.h insnsi.h nasm.h nasmlib.h pptok.h \ + preproc.h regs.h version.h diff --git a/directives.dat b/directives.dat index 95d20eb5..38988214 100644 --- a/directives.dat +++ b/directives.dat @@ -31,11 +31,7 @@ ;; ;; -------------------------------------------------------------------------- ;; -;; List of global NASM directives (independent of the backend) -;; -;; Note: we may want to consider hashing even backend-dependent -;; directives, and invoke the backend with an already-decoded directive -;; number. +;; List of global NASM directives (including backend-specific ones) ;; absolute bits @@ -43,10 +39,20 @@ common cpu debug default +export extern float global +group +import +library list +map +module +org +osabi +safeseh section segment +uppercase warning diff --git a/nasm.c b/nasm.c index 53e1c72b..398472d9 100644 --- a/nasm.c +++ b/nasm.c @@ -60,7 +60,6 @@ #include "labels.h" #include "output/outform.h" #include "listing.h" -#include "directives.h" struct forwrefinfo { /* info held on forward refs. */ int lineno; @@ -1488,10 +1487,11 @@ static void assemble_file(char *fname, StrList **depend_ptr) } break; default: - if (!ofmt->directive(directive, value, pass2)) + if (!d || !ofmt->directive(d, value, pass2)) report_error(pass1 == 1 ? ERR_NONFATAL : ERR_PANIC, "unrecognised directive [%s]", directive); + break; } if (err) { report_error(ERR_NONFATAL, diff --git a/nasm.h b/nasm.h index 0e6482ba..faab7ef0 100644 --- a/nasm.h +++ b/nasm.h @@ -45,6 +45,7 @@ #include "nasmlib.h" #include "preproc.h" #include "insnsi.h" /* For enum opcode */ +#include "directives.h" /* For enum directive */ #define NO_SEG -1L /* null segment value */ #define SEG_ABS 0x40000000L /* mask for far-absolute segments */ @@ -904,7 +905,7 @@ struct ofmt { * should also return non-zero if it correctly processes the * directive. */ - int (*directive) (char *directive, char *value, int pass); + int (*directive)(enum directives directive, char *value, int pass); /* * This procedure is called before anything else - even before diff --git a/output/nullout.c b/output/nullout.c new file mode 100644 index 00000000..228fa16b --- /dev/null +++ b/output/nullout.c @@ -0,0 +1,51 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2009 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. + * + * ----------------------------------------------------------------------- */ + +#include "nasm.h" +#include "nasmlib.h" +#include "output/outlib.h" + +int null_setinfo(enum geninfo type, char **string) +{ + (void)type; + (void)string; + return 0; +} + +int null_directive(enum directives directive, char *value, int pass) +{ + (void)directive; + (void)value; + (void)pass; + return 0; +} diff --git a/output/outaout.c b/output/outaout.c index 8d8966ba..c39eeddd 100644 --- a/output/outaout.c +++ b/output/outaout.c @@ -917,14 +917,6 @@ static int32_t aout_segbase(int32_t segment) return segment; } -static int aout_directive(char *directive, char *value, int pass) -{ - (void)directive; - (void)value; - (void)pass; - return 0; -} - static void aout_filename(char *inname, char *outname, efunc error) { standard_extension(inname, outname, ".o", error); @@ -932,12 +924,6 @@ static void aout_filename(char *inname, char *outname, efunc error) extern macros_t aout_stdmac[]; -static int aout_set_info(enum geninfo type, char **val) -{ - (void)type; - (void)val; - return 0; -} #endif /* OF_AOUT || OF_AOUTB */ #ifdef OF_AOUT @@ -950,12 +936,12 @@ struct ofmt of_aout = { &null_debug_form, aout_stdmac, aout_init, - aout_set_info, + null_setinfo, aout_out, aout_deflabel, aout_section_names, aout_segbase, - aout_directive, + null_directive, aout_filename, aout_cleanup }; @@ -972,12 +958,12 @@ struct ofmt of_aoutb = { &null_debug_form, aout_stdmac, aoutb_init, - aout_set_info, + null_setinfo, aout_out, aout_deflabel, aout_section_names, aout_segbase, - aout_directive, + null_directive, aout_filename, aout_cleanup }; diff --git a/output/outas86.c b/output/outas86.c index f21bd2e2..efef143b 100644 --- a/output/outas86.c +++ b/output/outas86.c @@ -617,14 +617,6 @@ static int32_t as86_segbase(int32_t segment) return segment; } -static int as86_directive(char *directive, char *value, int pass) -{ - (void)directive; - (void)value; - (void)pass; - return 0; -} - static void as86_filename(char *inname, char *outname, efunc error) { char *p; @@ -640,21 +632,6 @@ static void as86_filename(char *inname, char *outname, efunc error) extern macros_t as86_stdmac[]; -static int as86_set_info(enum geninfo type, char **val) -{ - (void)type; - (void)val; - return 0; -} -void as86_linenumber(char *name, int32_t segment, int32_t offset, int is_main, - int lineno) -{ - (void)name; - (void)segment; - (void)offset; - (void)is_main; - (void)lineno; -} struct ofmt of_as86 = { "Linux as86 (bin86 version 0.3) object files", "as86", @@ -663,12 +640,12 @@ struct ofmt of_as86 = { &null_debug_form, as86_stdmac, as86_init, - as86_set_info, + null_setinfo, as86_out, as86_deflabel, as86_section_names, as86_segbase, - as86_directive, + null_directive, as86_filename, as86_cleanup }; diff --git a/output/outbin.c b/output/outbin.c index 5dc8e978..216397ba 100644 --- a/output/outbin.c +++ b/output/outbin.c @@ -1286,10 +1286,11 @@ static int32_t bin_secname(char *name, int pass, int *bits) return current_section; } -static int bin_directive(char *directive, char *args, int pass) +static int bin_directive(enum directives directive, char *args, int pass) { - /* Handle ORG directive */ - if (!nasm_stricmp(directive, "org")) { + switch (directive) { + case D_ORG: + { struct tokenval tokval; uint64_t value; expr *e; @@ -1317,12 +1318,12 @@ static int bin_directive(char *directive, char *args, int pass) " in ORG directive."); return 1; } - + case D_MAP: + { /* The 'map' directive allows the user to generate section * and symbol information to stdout, stderr, or to a file. */ - else if (format_mode && !nasm_stricmp(directive, "map")) { - char *p; - + char *p; + if (pass != 1) return 1; args += strspn(args, " \t"); @@ -1365,7 +1366,9 @@ static int bin_directive(char *directive, char *args, int pass) rf = stdout; return 1; } - return 0; + default: + return 0; + } } static void bin_filename(char *inname, char *outname, efunc error) diff --git a/output/outcoff.c b/output/outcoff.c index 4c1213da..e7bd3509 100644 --- a/output/outcoff.c +++ b/output/outcoff.c @@ -716,9 +716,11 @@ void BuildExportTable(void) Exports = NULL; } -static int coff_directives(char *directive, char *value, int pass) +static int coff_directives(enum directives directive, char *value, int pass) { - if (!strcmp(directive, "export")) { + switch (directive) { + case D_EXPORT: + { char *q, *name; if (pass == 2) @@ -742,9 +744,15 @@ static int coff_directives(char *directive, char *value, int pass) } AddExport(name); return 1; - } else if (win32 && !strcmp(directive,"safeseh")) { + } + case D_SAFESEH: + { static int sxseg=-1; int i; + + if (!win32) /* Only applicable for -f win32 */ + return 0; + if (sxseg==-1) { for (i = 0; i < nsects; i++) if (!strcmp(".sxdata",sects[i]->name)) @@ -793,7 +801,9 @@ static int coff_directives(char *directive, char *value, int pass) } return 1; } - return 0; + default: + return 0; + } } static void coff_write(void) diff --git a/output/outdbg.c b/output/outdbg.c index 497a48e8..96c110bd 100644 --- a/output/outdbg.c +++ b/output/outdbg.c @@ -179,10 +179,10 @@ static int32_t dbg_segbase(int32_t segment) return segment; } -static int dbg_directive(char *directive, char *value, int pass) +static int dbg_directive(enum directives directive, char *value, int pass) { fprintf(dbgf, "directive [%s] value [%s] (pass %d)\n", - directive, value, pass); + directives[directive], value, pass); return 1; } diff --git a/output/outelf32.c b/output/outelf32.c index 99e53ef7..a3a8c7a9 100644 --- a/output/outelf32.c +++ b/output/outelf32.c @@ -1392,13 +1392,14 @@ static int32_t elf_segbase(int32_t segment) return segment; } -static int elf_directive(char *directive, char *value, int pass) +static int elf_directive(enum directives directive, char *value, int pass) { bool err; int64_t n; char *p; - if (!strcmp(directive, "osabi")) { + switch (directive) { + case D_OSABI: if (pass == 2) return 1; /* ignore in pass 2 */ @@ -1425,9 +1426,10 @@ static int elf_directive(char *directive, char *value, int pass) elf_abiver = n; return 1; + + default: + return 0; } - - return 0; } static void elf_filename(char *inname, char *outname, efunc error) diff --git a/output/outelf64.c b/output/outelf64.c index b797eb8a..cf6e378d 100644 --- a/output/outelf64.c +++ b/output/outelf64.c @@ -1483,13 +1483,14 @@ static int32_t elf_segbase(int32_t segment) return segment; } -static int elf_directive(char *directive, char *value, int pass) +static int elf_directive(enum directives directive, char *value, int pass) { bool err; int64_t n; char *p; - if (!strcmp(directive, "osabi")) { + switch (directive) { + case D_OSABI: if (pass == 2) return 1; /* ignore in pass 2 */ @@ -1516,9 +1517,10 @@ static int elf_directive(char *directive, char *value, int pass) elf_abiver = n; return 1; + + default: + return 0; } - - return 0; } static void elf_filename(char *inname, char *outname, efunc error) diff --git a/output/outieee.c b/output/outieee.c index 003e4d06..534e561c 100644 --- a/output/outieee.c +++ b/output/outieee.c @@ -835,16 +835,20 @@ static int32_t ieee_segment(char *name, int pass, int *bits) /* * directives supported */ -static int ieee_directive(char *directive, char *value, int pass) +static int ieee_directive(enum directives directive, char *value, int pass) { (void)value; (void)pass; - if (!strcmp(directive, "uppercase")) { + + switch (directive) { + case D_UPPERCASE: ieee_uppercase = true; return 1; + + default: + return 0; } - return 0; } /* diff --git a/output/outlib.h b/output/outlib.h index 964da5c8..4089a6aa 100644 --- a/output/outlib.h +++ b/output/outlib.h @@ -38,6 +38,10 @@ uint64_t realsize(enum out_type type, uint64_t size); +/* Do-nothing versions of some output routines */ +int null_setinfo(enum geninfo type, char **string); +int null_directive(enum directives directive, char *value, int pass); + /* Do-nothing versions of all the debug routines */ struct ofmt; void null_debug_init(struct ofmt *of, void *id, FILE * fp, efunc error); diff --git a/output/outmacho32.c b/output/outmacho32.c index 0203f0dc..3a2e59c1 100644 --- a/output/outmacho32.c +++ b/output/outmacho32.c @@ -357,13 +357,6 @@ static void macho_init(FILE * fp, efunc errfunc, ldfunc ldef, strslen = 1; } -static int macho_setinfo(enum geninfo type, char **val) -{ - (void)type; - (void)val; - return 0; -} - static void sect_write(struct section *sect, const uint8_t *data, uint32_t len) { @@ -720,14 +713,6 @@ static int32_t macho_segbase(int32_t section) return section; } -static int macho_directive(char *directive, char *value, int pass) -{ - (void)directive; - (void)value; - (void)pass; - return 0; -} - static void macho_filename(char *inname, char *outname, efunc error) { standard_extension(inname, outname, ".o", error); @@ -1340,12 +1325,12 @@ struct ofmt of_macho32 = { &null_debug_form, macho_stdmac, macho_init, - macho_setinfo, + null_setinfo, macho_output, macho_symdef, macho_section, macho_segbase, - macho_directive, + null_directive, macho_filename, macho_cleanup }; @@ -1358,12 +1343,12 @@ struct ofmt of_macho = { &null_debug_form, macho_stdmac, macho_init, - macho_setinfo, + null_setinfo, macho_output, macho_symdef, macho_section, macho_segbase, - macho_directive, + null_directive, macho_filename, macho_cleanup }; diff --git a/output/outmacho64.c b/output/outmacho64.c index 659cbc4b..d3f5a8e8 100644 --- a/output/outmacho64.c +++ b/output/outmacho64.c @@ -390,13 +390,6 @@ static void macho_init(FILE * fp, efunc errfunc, ldfunc ldef, ldef("..gotpcrel", macho_gotpcrel_sect, 0L, NULL, false, false, &of_macho64, error); } -static int macho_setinfo(enum geninfo type, char **val) -{ - (void)type; - (void)val; - return 0; -} - static void sect_write(struct section *sect, const uint8_t *data, uint32_t len) { @@ -867,14 +860,6 @@ static int32_t macho_segbase(int32_t section) return section; } -static int macho_directive(char *directive, char *value, int pass) -{ - (void)directive; - (void)value; - (void)pass; - return 0; -} - static void macho_filename(char *inname, char *outname, efunc error) { standard_extension(inname, outname, ".o", error); @@ -1509,12 +1494,12 @@ struct ofmt of_macho64 = { &null_debug_form, macho_stdmac, macho_init, - macho_setinfo, + null_setinfo, macho_output, macho_symdef, macho_section, macho_segbase, - macho_directive, + null_directive, macho_filename, macho_cleanup }; diff --git a/output/outobj.c b/output/outobj.c index 73bec3cc..80b5492a 100644 --- a/output/outobj.c +++ b/output/outobj.c @@ -633,7 +633,7 @@ static struct Segment *current_seg; static int32_t obj_segment(char *, int, int *); static void obj_write_file(int debuginfo); -static int obj_directive(char *, char *, int); +static int obj_directive(enum directives, char *, int); static void obj_init(FILE * fp, efunc errfunc, ldfunc ldef, evalfunc eval) { @@ -1417,7 +1417,7 @@ static int32_t obj_segment(char *name, int pass, int *bits) if (!strcmp(grp->name, "FLAT")) break; if (!grp) { - obj_directive("group", "FLAT", 1); + obj_directive(D_GROUP, "FLAT", 1); for (grp = grphead; grp; grp = grp->next) if (!strcmp(grp->name, "FLAT")) break; @@ -1538,9 +1538,11 @@ static int32_t obj_segment(char *name, int pass, int *bits) } } -static int obj_directive(char *directive, char *value, int pass) +static int obj_directive(enum directives directive, char *value, int pass) { - if (!strcmp(directive, "group")) { + switch (directive) { + case D_GROUP: + { char *p, *q, *v; if (pass == 1) { struct Group *grp; @@ -1650,11 +1652,12 @@ static int obj_directive(char *directive, char *value, int pass) } return 1; } - if (!strcmp(directive, "uppercase")) { + case D_UPPERCASE: obj_uppercase = true; return 1; - } - if (!strcmp(directive, "import")) { + + case D_IMPORT: + { char *q, *extname, *libname, *impname; if (pass == 2) @@ -1700,7 +1703,8 @@ static int obj_directive(char *directive, char *value, int pass) return 1; } - if (!strcmp(directive, "export")) { + case D_EXPORT: + { char *q, *extname, *intname, *v; struct ExpDef *export; int flags = 0; @@ -1777,7 +1781,9 @@ static int obj_directive(char *directive, char *value, int pass) return 1; } - return 0; + default: + return 0; + } } static int32_t obj_segbase(int32_t segment) diff --git a/output/outrdf2.c b/output/outrdf2.c index 84a565d1..dd804389 100644 --- a/output/outrdf2.c +++ b/output/outrdf2.c @@ -733,17 +733,17 @@ static int32_t rdf2_segbase(int32_t segment) /* * Handle RDOFF2 specific directives */ -static int rdf2_directive(char *directive, char *value, int pass) +static int rdf2_directive(enum directives directive, char *value, int pass) { - int n; + size_t n; - /* Check if the name length is OK */ - if ((n = strlen(value)) >= MODLIB_NAME_MAX) { - error(ERR_NONFATAL, "name size exceeds %d bytes", MODLIB_NAME_MAX); - return 0; - } - - if (!strcmp(directive, "library")) { + switch (directive) { + case D_LIBRARY: + n = strlen(value); + if (n >= MODLIB_NAME_MAX) { + error(ERR_NONFATAL, "name size exceeds %d bytes", MODLIB_NAME_MAX); + return 1; + } if (pass == 1) { struct DLLRec r; r.type = RDFREC_DLL; @@ -752,9 +752,12 @@ static int rdf2_directive(char *directive, char *value, int pass) write_dll_rec(&r); } return 1; - } - - if (!strcmp(directive, "module")) { + + case D_MODULE: + if ((n = strlen(value)) >= MODLIB_NAME_MAX) { + error(ERR_NONFATAL, "name size exceeds %d bytes", MODLIB_NAME_MAX); + return 1; + } if (pass == 1) { struct ModRec r; r.type = RDFREC_MODNAME; @@ -763,9 +766,10 @@ static int rdf2_directive(char *directive, char *value, int pass) write_modname_rec(&r); } return 1; - } - return 0; + default: + return 0; + } } static void rdf2_filename(char *inname, char *outname, efunc error)