summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2009-07-12 12:53:49 -0700
committerH. Peter Anvin <hpa@zytor.com>2009-07-12 12:55:24 -0700
commitafa06137fa3d6de926134b4061c3ff4a74d212cf (patch)
treeddfb5182b1e0d06cfc731563cfdda2814b658cc5
parentd0fbb7f0ab355fd4e73d1aab215a2aa387b615c3 (diff)
downloadnasm-afa06137fa3d6de926134b4061c3ff4a74d212cf.tar.gz
nasm-afa06137fa3d6de926134b4061c3ff4a74d212cf.tar.bz2
nasm-afa06137fa3d6de926134b4061c3ff4a74d212cf.zip
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 <hpa@zytor.com>
-rw-r--r--Makefile.in184
-rw-r--r--Mkfiles/msvc.mak179
-rw-r--r--Mkfiles/netware.mak165
-rw-r--r--Mkfiles/openwcom.mak179
-rw-r--r--Mkfiles/owlinux.mak179
-rw-r--r--directives.dat16
-rw-r--r--nasm.c4
-rw-r--r--nasm.h3
-rw-r--r--output/nullout.c51
-rw-r--r--output/outaout.c22
-rw-r--r--output/outas86.c27
-rw-r--r--output/outbin.c19
-rw-r--r--output/outcoff.c18
-rw-r--r--output/outdbg.c4
-rw-r--r--output/outelf32.c10
-rw-r--r--output/outelf64.c10
-rw-r--r--output/outieee.c10
-rw-r--r--output/outlib.h4
-rw-r--r--output/outmacho32.c23
-rw-r--r--output/outmacho64.c19
-rw-r--r--output/outobj.c24
-rw-r--r--output/outrdf2.c34
22 files changed, 623 insertions, 561 deletions
diff --git a/Makefile.in b/Makefile.in
index a3e222f..0c26535 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 \
- 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 \
+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
-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
-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 \
+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 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 95a044d..ff72b80 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 \
- 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 \
+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/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/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/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 5261c13..df07f49 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 ff24b9e..03e952a 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 &
- 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 &
+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\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\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\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 bda449e..92ca85b 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 \
- 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 \
+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/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/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/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 95d20eb..3898821 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 53e1c72..398472d 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 0e6482b..faab7ef 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 0000000..228fa16
--- /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 8d8966b..c39eedd 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 f21bd2e..efef143 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 5dc8e97..216397b 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 4c1213d..e7bd350 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 497a48e..96c110b 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 99e53ef..a3a8c7a 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 b797eb8..cf6e378 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 003e4d0..534e561 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 964da5c..4089a6a 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 0203f0d..3a2e59c 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 659cbc4..d3f5a8e 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 73bec3c..80b5492 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 84a565d..dd80438 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;
-
- /* 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")) {
+ size_t n;
+
+ 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)