diff options
author | H. Peter Anvin <hpa@zytor.com> | 2017-04-29 13:28:12 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2017-04-29 13:28:12 -0700 |
commit | 97408d67dd9de77743cdb0222ad4e6aeea2a635c (patch) | |
tree | c83e696a4fb4aeeac79386b08965862095558d72 | |
parent | b84ac822499b367566d66266bf6a4c41f257248a (diff) | |
parent | 53cd7c7bf0a100d01fc31caf3c20987e66a9ed64 (diff) | |
download | nasm-97408d67dd9de77743cdb0222ad4e6aeea2a635c.tar.gz |
Merge remote-tracking branch 'origin/elf'
-rw-r--r-- | Makefile.in | 507 | ||||
-rw-r--r-- | Mkfiles/msvc.mak | 491 | ||||
-rw-r--r-- | Mkfiles/openwcom.mak | 491 | ||||
-rw-r--r-- | aclocal.m4 | 32 | ||||
-rw-r--r-- | configure.ac | 31 | ||||
-rw-r--r-- | include/bytesex.h | 264 | ||||
-rw-r--r-- | include/compiler.h | 61 | ||||
-rw-r--r-- | include/hashtbl.h | 1 | ||||
-rw-r--r-- | include/nasmlib.h | 99 | ||||
-rw-r--r-- | nasmlib/hashtbl.c | 26 | ||||
-rw-r--r-- | nasmlib/ilog2.c | 16 | ||||
-rw-r--r-- | nasmlib/srcfile.c | 8 | ||||
-rw-r--r-- | output/dwarf.h | 37 | ||||
-rw-r--r-- | output/elf.h | 2 | ||||
-rw-r--r-- | output/outelf.c | 429 | ||||
-rw-r--r-- | output/outelf.h | 4 | ||||
-rw-r--r-- | output/strtbl.c | 117 | ||||
-rw-r--r-- | output/strtbl.h | 57 |
18 files changed, 1632 insertions, 1041 deletions
diff --git a/Makefile.in b/Makefile.in index 1e2f8d59..a48d9800 100644 --- a/Makefile.in +++ b/Makefile.in @@ -128,6 +128,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) \ macros/macros.$(O) \ \ output/outform.$(O) output/outlib.$(O) output/legacy.$(O) \ + output/strtbl.$(O) \ output/nulldbg.$(O) output/nullout.$(O) \ output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) \ output/outelf.$(O) \ @@ -456,397 +457,423 @@ alldeps: perlreq tools/syncfiles.pl tools/mkdep.pl #-- Everything below is generated by mkdep.pl - do not edit --# asm/assemble.$(O): asm/assemble.c asm/assemble.h asm/directiv.h \ asm/listing.h asm/pptok.h asm/preproc.h asm/tokens.h config/config.h \ - config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/disp8.h include/error.h include/iflag.h include/insns.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ - x86/insnsi.h x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h \ + include/compiler.h include/disp8.h include/error.h include/iflag.h \ + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/directbl.$(O): asm/directbl.c asm/directiv.h config/config.h \ - config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/nasmint.h include/nasmlib.h include/perfhash.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h \ + include/compiler.h include/nasmint.h include/nasmlib.h include/perfhash.h asm/directiv.$(O): asm/directiv.c asm/assemble.h asm/directiv.h asm/eval.h \ asm/float.h asm/listing.h asm/pptok.h asm/preproc.h asm/stdscan.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/error.h include/iflag.h include/labels.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/perfhash.h include/strlist.h include/tables.h output/outform.h \ - x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/iflag.h \ + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ + output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/error.$(O): asm/error.c config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasmint.h \ - include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h asm/eval.$(O): asm/eval.c asm/assemble.h asm/directiv.h asm/eval.h \ asm/float.h asm/pptok.h asm/preproc.h config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/iflag.h include/labels.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/iflag.h include/labels.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/exprdump.$(O): asm/exprdump.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/exprlib.$(O): asm/exprlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/float.$(O): asm/float.c asm/directiv.h asm/float.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/insnsi.h x86/regs.h -asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ - config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/error.h include/hashtbl.h include/labels.h \ + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h \ x86/regs.h +asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h \ + config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/bytesex.h include/compiler.h include/error.h include/hashtbl.h \ + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ + x86/insnsi.h x86/regs.h asm/listing.$(O): asm/listing.c asm/directiv.h asm/listing.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h \ + x86/regs.h asm/nasm.$(O): asm/nasm.c asm/assemble.h asm/directiv.h asm/eval.h \ asm/float.h asm/listing.h asm/parser.h asm/pptok.h asm/preproc.h \ asm/stdscan.h asm/tokens.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/iflag.h \ - include/insns.h include/labels.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/raa.h \ - include/saa.h include/strlist.h include/tables.h include/ver.h \ - output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/iflag.h include/insns.h include/labels.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/raa.h include/saa.h include/strlist.h include/tables.h \ + include/ver.h output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/parser.$(O): asm/parser.c asm/assemble.h asm/directiv.h asm/eval.h \ asm/float.h asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/error.h include/iflag.h include/insns.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/iflag.h \ + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/pptok.$(O): asm/pptok.c asm/pptok.h asm/preproc.h config/config.h \ - config/msvc.h config/unknown.h config/watcom.h include/compiler.h \ - include/hashtbl.h include/nasmint.h include/nasmlib.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h \ + include/compiler.h include/hashtbl.h include/nasmint.h include/nasmlib.h asm/pragma.$(O): asm/pragma.c asm/assemble.h asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/iflag.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ - x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/iflag.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/preproc-nop.$(O): asm/preproc-nop.c asm/directiv.h asm/listing.h \ asm/pptok.h asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h \ + x86/regs.h asm/preproc.$(O): asm/preproc.c asm/directiv.h asm/eval.h asm/listing.h \ asm/pptok.h asm/preproc.h asm/quote.h asm/stdscan.h asm/tokens.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/error.h include/hashtbl.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/hashtbl.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h \ + x86/regs.h asm/quote.$(O): asm/quote.c asm/quote.h config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h asm/rdstrnum.$(O): asm/rdstrnum.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/segalloc.$(O): asm/segalloc.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h asm/stdscan.$(O): asm/stdscan.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/quote.h asm/stdscan.h asm/tokens.h config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/iflag.h include/insns.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/strfunc.$(O): asm/strfunc.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h asm/tokhash.$(O): asm/tokhash.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/stdscan.h asm/tokens.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/hashtbl.h include/iflag.h \ - include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ - x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/hashtbl.h \ + include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ + include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h common/common.$(O): common/common.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h disasm/disasm.$(O): disasm/disasm.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - disasm/disasm.h disasm/sync.h include/compiler.h include/disp8.h \ - include/iflag.h include/insns.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h x86/iflaggen.h x86/insnsi.h x86/regdis.h x86/regs.h + disasm/disasm.h disasm/sync.h include/bytesex.h include/compiler.h \ + include/disp8.h include/iflag.h include/insns.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regdis.h \ + x86/regs.h disasm/ndisasm.$(O): disasm/ndisasm.c asm/directiv.h asm/pptok.h \ asm/preproc.h asm/tokens.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h disasm/disasm.h disasm/sync.h include/compiler.h \ - include/error.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h include/ver.h x86/iflaggen.h \ - x86/insnsi.h x86/regs.h + config/watcom.h disasm/disasm.h disasm/sync.h include/bytesex.h \ + include/compiler.h include/error.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h include/ver.h \ + x86/iflaggen.h x86/insnsi.h x86/regs.h disasm/sync.$(O): disasm/sync.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h disasm/sync.h include/compiler.h \ - include/nasmint.h include/nasmlib.h + config/unknown.h config/watcom.h disasm/sync.h include/bytesex.h \ + include/compiler.h include/nasmint.h include/nasmlib.h macros/macros.$(O): macros/macros.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h output/outform.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/hashtbl.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/strlist.h include/tables.h output/outform.h x86/insnsi.h x86/regs.h nasmlib/badenum.$(O): nasmlib/badenum.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h nasmlib/bsi.$(O): nasmlib/bsi.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h -nasmlib/crc64.$(O): nasmlib/crc64.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h \ + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ include/nasmint.h include/nasmlib.h +nasmlib/crc64.$(O): nasmlib/crc64.c config/config.h config/msvc.h \ + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/hashtbl.h include/nasmint.h include/nasmlib.h nasmlib/file.$(O): nasmlib/file.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h nasmlib/file.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/filename.$(O): nasmlib/filename.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/hashtbl.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/hashtbl.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h \ + x86/regs.h nasmlib/ilog2.$(O): nasmlib/ilog2.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h -nasmlib/malloc.$(O): nasmlib/malloc.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ include/nasmint.h include/nasmlib.h +nasmlib/malloc.$(O): nasmlib/malloc.c config/config.h config/msvc.h \ + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h nasmlib/md5c.$(O): nasmlib/md5c.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/md5.h \ include/nasmint.h nasmlib/mmap.$(O): nasmlib/mmap.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h nasmlib/file.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/path.$(O): nasmlib/path.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h nasmlib/perfhash.$(O): nasmlib/perfhash.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h \ - include/nasmint.h include/nasmlib.h include/perfhash.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/hashtbl.h include/nasmint.h include/nasmlib.h include/perfhash.h nasmlib/raa.$(O): nasmlib/raa.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h include/raa.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h include/raa.h nasmlib/rbtree.$(O): nasmlib/rbtree.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ include/rbtree.h nasmlib/readnum.$(O): nasmlib/readnum.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h \ + x86/regs.h nasmlib/realpath.$(O): nasmlib/realpath.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h nasmlib/saa.$(O): nasmlib/saa.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h include/saa.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h include/saa.h nasmlib/srcfile.$(O): nasmlib/srcfile.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h \ - include/nasmint.h include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/hashtbl.h include/nasmint.h include/nasmlib.h nasmlib/string.$(O): nasmlib/string.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h nasmlib/strlist.$(O): nasmlib/strlist.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h include/strlist.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h include/strlist.h nasmlib/ver.$(O): nasmlib/ver.c include/ver.h version.h nasmlib/zerobuf.$(O): nasmlib/zerobuf.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h output/codeview.$(O): output/codeview.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/hashtbl.h \ - include/md5.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/perfhash.h include/saa.h include/strlist.h \ - include/tables.h output/outlib.h output/pecoff.h version.h x86/insnsi.h \ - x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/hashtbl.h include/md5.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/perfhash.h include/saa.h \ + include/strlist.h include/tables.h output/outlib.h output/pecoff.h \ + version.h x86/insnsi.h x86/regs.h output/legacy.$(O): output/legacy.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/error.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h output/outlib.h x86/insnsi.h x86/regs.h -output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h \ - asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ + include/bytesex.h include/compiler.h include/error.h include/nasm.h \ include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h +output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h \ + asm/preproc.h config/config.h config/msvc.h config/unknown.h \ + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/nullout.$(O): output/nullout.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h output/outlib.h \ + x86/insnsi.h x86/regs.h output/outaout.$(O): output/outaout.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/raa.h include/saa.h include/strlist.h include/tables.h \ - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/raa.h include/saa.h include/strlist.h \ + include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/raa.h include/saa.h include/strlist.h include/tables.h \ - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/raa.h include/saa.h include/strlist.h \ + include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/labels.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/perfhash.h include/saa.h include/strlist.h include/tables.h \ - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/saa.h include/strlist.h \ + include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/raa.h include/saa.h include/strlist.h include/tables.h \ - output/outform.h output/outlib.h output/pecoff.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/raa.h include/saa.h include/strlist.h \ + include/tables.h output/outform.h output/outlib.h output/pecoff.h \ + x86/insnsi.h x86/regs.h output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/error.h include/iflag.h include/insns.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/perfhash.h include/strlist.h include/tables.h output/outform.h \ - output/outlib.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/iflag.h \ + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ + output/outform.h output/outlib.h x86/iflaggen.h x86/insnsi.h x86/regs.h output/outelf.$(O): output/outelf.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/raa.h include/rbtree.h include/saa.h include/strlist.h \ - include/tables.h include/ver.h output/dwarf.h output/elf.h output/outelf.h \ - output/outform.h output/outlib.h output/stabs.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/raa.h include/rbtree.h include/saa.h \ + include/strlist.h include/tables.h include/ver.h output/dwarf.h \ + output/elf.h output/outelf.h output/outform.h output/outlib.h \ + output/stabs.h x86/insnsi.h x86/regs.h output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h output/outform.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/strlist.h include/tables.h output/outform.h x86/insnsi.h x86/regs.h output/outieee.$(O): output/outieee.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h include/ver.h output/outform.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h include/ver.h \ + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outlib.$(O): output/outlib.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/error.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h output/outlib.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/outmacho.$(O): output/outmacho.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/labels.h \ - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ - include/perfhash.h include/raa.h include/rbtree.h include/saa.h \ - include/strlist.h include/tables.h include/ver.h output/dwarf.h \ - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h \ + include/opflags.h include/perfhash.h include/raa.h include/rbtree.h \ + include/saa.h include/strlist.h include/tables.h include/ver.h \ + output/dwarf.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outobj.$(O): output/outobj.c asm/directiv.h asm/eval.h asm/pptok.h \ asm/preproc.h asm/stdscan.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h include/ver.h output/outform.h \ - output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h include/ver.h \ + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outrdf2.$(O): output/outrdf2.c asm/directiv.h asm/pptok.h \ asm/preproc.h config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/rdoff.h include/saa.h include/strlist.h include/tables.h \ - output/outform.h output/outlib.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/rdoff.h include/saa.h include/strlist.h \ + include/tables.h output/outform.h output/outlib.h x86/insnsi.h x86/regs.h +output/strtbl.$(O): output/strtbl.c asm/directiv.h asm/pptok.h asm/preproc.h \ + config/config.h config/msvc.h config/unknown.h config/watcom.h \ + include/bytesex.h include/compiler.h include/error.h include/hashtbl.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h output/strtbl.h \ + x86/insnsi.h x86/regs.h rdoff/collectn.$(O): rdoff/collectn.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/collectn.h \ - rdoff/rdfutils.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/collectn.h rdoff/rdfutils.h rdoff/hash.$(O): rdoff/hash.c config/config.h config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h rdoff/hash.h rdoff/ldrdf.$(O): rdoff/ldrdf.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/collectn.h \ - rdoff/ldsegs.h rdoff/rdfutils.h rdoff/rdlib.h rdoff/segtab.h rdoff/symtab.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/collectn.h rdoff/ldsegs.h rdoff/rdfutils.h rdoff/rdlib.h \ + rdoff/segtab.h rdoff/symtab.h rdoff/rdf2bin.$(O): rdoff/rdf2bin.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfload.h \ - rdoff/rdfutils.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/rdfload.h rdoff/rdfutils.h rdoff/rdfdump.$(O): rdoff/rdfdump.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/rdfutils.h rdoff/rdflib.$(O): rdoff/rdflib.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/rdfutils.h rdoff/rdfload.$(O): rdoff/rdfload.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/collectn.h \ - rdoff/rdfload.h rdoff/rdfutils.h rdoff/symtab.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/collectn.h rdoff/rdfload.h rdoff/rdfutils.h rdoff/symtab.h rdoff/rdlar.$(O): rdoff/rdlar.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ rdoff/rdlar.h rdoff/rdlib.$(O): rdoff/rdlib.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h \ - rdoff/rdlar.h rdoff/rdlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/rdfutils.h rdoff/rdlar.h rdoff/rdlib.h rdoff/rdoff.$(O): rdoff/rdoff.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/rdfutils.h rdoff/rdx.$(O): rdoff/rdx.c config/config.h config/msvc.h config/unknown.h \ - config/watcom.h include/compiler.h include/error.h include/nasmint.h \ - include/nasmlib.h include/rdoff.h rdoff/rdfload.h rdoff/rdfutils.h \ - rdoff/symtab.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h \ + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfload.h \ + rdoff/rdfutils.h rdoff/symtab.h rdoff/segtab.$(O): rdoff/segtab.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h \ - rdoff/segtab.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/rdfutils.h rdoff/segtab.h rdoff/symtab.$(O): rdoff/symtab.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/hash.h \ - rdoff/rdfutils.h rdoff/symtab.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h include/rdoff.h \ + rdoff/hash.h rdoff/rdfutils.h rdoff/symtab.h stdlib/snprintf.$(O): stdlib/snprintf.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h \ - include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/nasmint.h include/nasmlib.h stdlib/strlcpy.$(O): stdlib/strlcpy.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h stdlib/strnlen.$(O): stdlib/strnlen.c config/config.h config/msvc.h \ config/unknown.h config/watcom.h include/compiler.h include/nasmint.h stdlib/vsnprintf.$(O): stdlib/vsnprintf.c config/config.h config/msvc.h \ - config/unknown.h config/watcom.h include/compiler.h include/error.h \ - include/nasmint.h include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h \ + include/error.h include/nasmint.h include/nasmlib.h x86/disp8.$(O): x86/disp8.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/disp8.h include/nasm.h include/nasmint.h \ - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ - include/tables.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/disp8.h include/nasm.h \ + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h x86/iflag.$(O): x86/iflag.c config/config.h config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/iflag.h include/nasmint.h \ x86/iflaggen.h x86/insnsa.$(O): x86/insnsa.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h x86/insnsb.$(O): x86/insnsb.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h x86/insnsd.$(O): x86/insnsd.c asm/directiv.h asm/pptok.h asm/preproc.h \ asm/tokens.h config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/iflag.h include/insns.h include/nasm.h \ - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h \ - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h \ + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h \ + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h \ + x86/insnsi.h x86/regs.h x86/insnsn.$(O): x86/insnsn.c config/config.h config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/tables.h \ x86/insnsi.h x86/regdis.$(O): x86/regdis.c x86/regdis.h x86/regs.h x86/regflags.$(O): x86/regflags.c asm/directiv.h asm/pptok.h asm/preproc.h \ config/config.h config/msvc.h config/unknown.h config/watcom.h \ - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h \ - include/opflags.h include/perfhash.h include/strlist.h include/tables.h \ - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/nasm.h include/nasmint.h \ + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h \ + include/tables.h x86/insnsi.h x86/regs.h x86/regs.$(O): x86/regs.c config/config.h config/msvc.h config/unknown.h \ config/watcom.h include/compiler.h include/nasmint.h include/tables.h \ x86/insnsi.h diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index b8b6d3ad..1483f3eb 100644 --- a/Mkfiles/msvc.mak +++ b/Mkfiles/msvc.mak @@ -101,6 +101,7 @@ LIBOBJ = stdlib\snprintf.$(O) stdlib\vsnprintf.$(O) stdlib\strlcpy.$(O) \ macros\macros.$(O) \ \ output\outform.$(O) output\outlib.$(O) output\legacy.$(O) \ + output\strtbl.$(O) \ output\nulldbg.$(O) output\nullout.$(O) \ output\outbin.$(O) output\outaout.$(O) output\outcoff.$(O) \ output\outelf.$(O) \ @@ -357,374 +358,402 @@ everything: all docs nsis #-- Everything below is generated by mkdep.pl - do not edit --# asm\assemble.$(O): asm\assemble.c asm\assemble.h asm\directiv.h \ asm\listing.h asm\pptok.h asm\preproc.h asm\tokens.h config\msvc.h \ - config\unknown.h config\watcom.h include\compiler.h include\disp8.h \ - include\error.h include\iflag.h include\insns.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h + config\unknown.h config\watcom.h include\bytesex.h include\compiler.h \ + include\disp8.h include\error.h include\iflag.h include\insns.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ + x86\insnsi.h x86\regs.h asm\directbl.$(O): asm\directbl.c asm\directiv.h config\msvc.h \ - config\unknown.h config\watcom.h include\compiler.h include\nasmint.h \ - include\nasmlib.h include\perfhash.h + config\unknown.h config\watcom.h include\bytesex.h include\compiler.h \ + include\nasmint.h include\nasmlib.h include\perfhash.h asm\directiv.$(O): asm\directiv.c asm\assemble.h asm\directiv.h asm\eval.h \ asm\float.h asm\listing.h asm\pptok.h asm\preproc.h asm\stdscan.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\error.h include\iflag.h include\labels.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h output\outform.h x86\iflaggen.h \ - x86\insnsi.h x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\error.h include\iflag.h include\labels.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h output\outform.h \ + x86\iflaggen.h x86\insnsi.h x86\regs.h asm\error.$(O): asm\error.c config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasmint.h include\nasmlib.h + include\bytesex.h include\compiler.h include\error.h include\nasmint.h \ + include\nasmlib.h asm\eval.$(O): asm\eval.c asm\assemble.h asm\directiv.h asm\eval.h \ asm\float.h asm\pptok.h asm\preproc.h config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\iflag.h \ - include\labels.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - x86\iflaggen.h x86\insnsi.h x86\regs.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\iflag.h include\labels.h include\nasm.h include\nasmint.h \ + include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ + include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h asm\exprdump.$(O): asm\exprdump.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\strlist.h include\tables.h x86\insnsi.h \ - x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + x86\insnsi.h x86\regs.h asm\exprlib.$(O): asm\exprlib.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\strlist.h include\tables.h x86\insnsi.h \ - x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + x86\insnsi.h x86\regs.h asm\float.$(O): asm\float.c asm\directiv.h asm\float.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h x86\insnsi.h x86\regs.h -asm\labels.$(O): asm\labels.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\error.h include\hashtbl.h include\labels.h include\nasm.h \ + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ include\strlist.h include\tables.h x86\insnsi.h x86\regs.h +asm\labels.$(O): asm\labels.c asm\directiv.h asm\pptok.h asm\preproc.h \ + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\error.h include\hashtbl.h include\labels.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h x86\insnsi.h \ + x86\regs.h asm\listing.$(O): asm\listing.c asm\directiv.h asm\listing.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h x86\insnsi.h x86\regs.h asm\nasm.$(O): asm\nasm.c asm\assemble.h asm\directiv.h asm\eval.h \ asm\float.h asm\listing.h asm\parser.h asm\pptok.h asm\preproc.h \ asm\stdscan.h asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\iflag.h include\insns.h \ - include\labels.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\raa.h include\saa.h \ - include\strlist.h include\tables.h include\ver.h output\outform.h \ - x86\iflaggen.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\iflag.h \ + include\insns.h include\labels.h include\nasm.h include\nasmint.h \ + include\nasmlib.h include\opflags.h include\perfhash.h include\raa.h \ + include\saa.h include\strlist.h include\tables.h include\ver.h \ + output\outform.h x86\iflaggen.h x86\insnsi.h x86\regs.h asm\parser.$(O): asm\parser.c asm\assemble.h asm\directiv.h asm\eval.h \ asm\float.h asm\parser.h asm\pptok.h asm\preproc.h asm\stdscan.h \ asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\iflag.h include\insns.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ - x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\iflag.h \ + include\insns.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + x86\iflaggen.h x86\insnsi.h x86\regs.h asm\pptok.$(O): asm\pptok.c asm\pptok.h asm\preproc.h config\msvc.h \ - config\unknown.h config\watcom.h include\compiler.h include\hashtbl.h \ - include\nasmint.h include\nasmlib.h + config\unknown.h config\watcom.h include\bytesex.h include\compiler.h \ + include\hashtbl.h include\nasmint.h include\nasmlib.h asm\pragma.$(O): asm\pragma.c asm\assemble.h asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\iflag.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\iflag.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ + x86\insnsi.h x86\regs.h asm\preproc-nop.$(O): asm\preproc-nop.c asm\directiv.h asm\listing.h \ asm\pptok.h asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h x86\insnsi.h x86\regs.h asm\preproc.$(O): asm\preproc.c asm\directiv.h asm\eval.h asm\listing.h \ asm\pptok.h asm\preproc.h asm\quote.h asm\stdscan.h asm\tokens.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\error.h include\hashtbl.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h x86\insnsi.h x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\error.h include\hashtbl.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h x86\insnsi.h x86\regs.h asm\quote.$(O): asm\quote.c asm\quote.h config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h asm\rdstrnum.$(O): asm\rdstrnum.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\strlist.h include\tables.h x86\insnsi.h \ - x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + x86\insnsi.h x86\regs.h asm\segalloc.$(O): asm\segalloc.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\iflag.h include\insns.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\iflag.h include\insns.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ + x86\insnsi.h x86\regs.h asm\stdscan.$(O): asm\stdscan.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\quote.h asm\stdscan.h asm\tokens.h config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\iflag.h \ - include\insns.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - x86\iflaggen.h x86\insnsi.h x86\regs.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\iflag.h include\insns.h include\nasm.h include\nasmint.h \ + include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ + include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h asm\strfunc.$(O): asm\strfunc.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\strlist.h include\tables.h x86\insnsi.h \ - x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + x86\insnsi.h x86\regs.h asm\tokhash.$(O): asm\tokhash.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\stdscan.h asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\hashtbl.h include\iflag.h include\insns.h \ + include\bytesex.h include\compiler.h include\hashtbl.h include\iflag.h \ + include\insns.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + x86\iflaggen.h x86\insnsi.h x86\regs.h +common\common.$(O): common\common.c asm\directiv.h asm\pptok.h asm\preproc.h \ + asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ + include\bytesex.h include\compiler.h include\iflag.h include\insns.h \ include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ x86\insnsi.h x86\regs.h -common\common.$(O): common\common.c asm\directiv.h asm\pptok.h asm\preproc.h \ - asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\iflag.h include\insns.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h disasm\disasm.$(O): disasm\disasm.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\tokens.h config\msvc.h config\unknown.h config\watcom.h disasm\disasm.h \ - disasm\sync.h include\compiler.h include\disp8.h include\iflag.h \ - include\insns.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - x86\iflaggen.h x86\insnsi.h x86\regdis.h x86\regs.h -disasm\ndisasm.$(O): disasm\ndisasm.c asm\directiv.h asm\pptok.h \ - asm\preproc.h asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - disasm\disasm.h disasm\sync.h include\compiler.h include\error.h \ + disasm\sync.h include\bytesex.h include\compiler.h include\disp8.h \ include\iflag.h include\insns.h include\nasm.h include\nasmint.h \ include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h include\ver.h x86\iflaggen.h x86\insnsi.h x86\regs.h + include\tables.h x86\iflaggen.h x86\insnsi.h x86\regdis.h x86\regs.h +disasm\ndisasm.$(O): disasm\ndisasm.c asm\directiv.h asm\pptok.h \ + asm\preproc.h asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ + disasm\disasm.h disasm\sync.h include\bytesex.h include\compiler.h \ + include\error.h include\iflag.h include\insns.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h include\ver.h x86\iflaggen.h \ + x86\insnsi.h x86\regs.h disasm\sync.$(O): disasm\sync.c config\msvc.h config\unknown.h \ - config\watcom.h disasm\sync.h include\compiler.h include\nasmint.h \ - include\nasmlib.h + config\watcom.h disasm\sync.h include\bytesex.h include\compiler.h \ + include\nasmint.h include\nasmlib.h macros\macros.$(O): macros\macros.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\hashtbl.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - output\outform.h x86\insnsi.h x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\hashtbl.h include\nasm.h include\nasmint.h \ + include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ + include\tables.h output\outform.h x86\insnsi.h x86\regs.h nasmlib\badenum.$(O): nasmlib\badenum.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h nasmlib\bsi.$(O): nasmlib\bsi.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h -nasmlib\crc64.$(O): nasmlib\crc64.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\hashtbl.h include\nasmint.h \ + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ include\nasmlib.h +nasmlib\crc64.$(O): nasmlib\crc64.c config\msvc.h config\unknown.h \ + config\watcom.h include\bytesex.h include\compiler.h include\hashtbl.h \ + include\nasmint.h include\nasmlib.h nasmlib\file.$(O): nasmlib\file.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h nasmlib\file.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h nasmlib\file.h nasmlib\filename.$(O): nasmlib\filename.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h nasmlib\hashtbl.$(O): nasmlib\hashtbl.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\hashtbl.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\hashtbl.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h x86\insnsi.h x86\regs.h nasmlib\ilog2.$(O): nasmlib\ilog2.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h -nasmlib\malloc.$(O): nasmlib\malloc.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ include\nasmlib.h +nasmlib\malloc.$(O): nasmlib\malloc.c config\msvc.h config\unknown.h \ + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h nasmlib\md5c.$(O): nasmlib\md5c.c config\msvc.h config\unknown.h \ config\watcom.h include\compiler.h include\md5.h include\nasmint.h nasmlib\mmap.$(O): nasmlib\mmap.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h nasmlib\file.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h nasmlib\file.h nasmlib\path.$(O): nasmlib\path.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h nasmlib\perfhash.$(O): nasmlib\perfhash.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\hashtbl.h include\nasmint.h \ - include\nasmlib.h include\perfhash.h + config\watcom.h include\bytesex.h include\compiler.h include\hashtbl.h \ + include\nasmint.h include\nasmlib.h include\perfhash.h nasmlib\raa.$(O): nasmlib\raa.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h \ - include\raa.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h include\raa.h nasmlib\rbtree.$(O): nasmlib\rbtree.c config\msvc.h config\unknown.h \ config\watcom.h include\compiler.h include\nasmint.h include\rbtree.h nasmlib\readnum.$(O): nasmlib\readnum.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h x86\insnsi.h x86\regs.h nasmlib\realpath.$(O): nasmlib\realpath.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h nasmlib\saa.$(O): nasmlib\saa.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h \ - include\saa.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h include\saa.h nasmlib\srcfile.$(O): nasmlib\srcfile.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\hashtbl.h include\nasmint.h \ - include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\hashtbl.h \ + include\nasmint.h include\nasmlib.h nasmlib\string.$(O): nasmlib\string.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h nasmlib\strlist.$(O): nasmlib\strlist.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h \ - include\strlist.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h include\strlist.h nasmlib\ver.$(O): nasmlib\ver.c include\ver.h version.h nasmlib\zerobuf.$(O): nasmlib\zerobuf.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h output\codeview.$(O): output\codeview.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\hashtbl.h include\md5.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\saa.h include\strlist.h include\tables.h \ - output\outlib.h output\pecoff.h version.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\hashtbl.h \ + include\md5.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\saa.h include\strlist.h \ + include\tables.h output\outlib.h output\pecoff.h version.h x86\insnsi.h \ + x86\regs.h output\legacy.$(O): output\legacy.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\error.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - output\outlib.h x86\insnsi.h x86\regs.h -output\nulldbg.$(O): output\nulldbg.c asm\directiv.h asm\pptok.h \ - asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ include\compiler.h include\error.h include\nasm.h include\nasmint.h \ include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ include\tables.h output\outlib.h x86\insnsi.h x86\regs.h +output\nulldbg.$(O): output\nulldbg.c asm\directiv.h asm\pptok.h \ + asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h output\outlib.h x86\insnsi.h x86\regs.h output\nullout.$(O): output\nullout.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h output\outlib.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h output\outlib.h x86\insnsi.h x86\regs.h output\outaout.$(O): output\outaout.c asm\directiv.h asm\eval.h asm\pptok.h \ asm\preproc.h asm\stdscan.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\raa.h \ - include\saa.h include\strlist.h include\tables.h output\outform.h \ - output\outlib.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\raa.h include\saa.h include\strlist.h include\tables.h \ + output\outform.h output\outlib.h x86\insnsi.h x86\regs.h output\outas86.$(O): output\outas86.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\raa.h \ - include\saa.h include\strlist.h include\tables.h output\outform.h \ - output\outlib.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\raa.h include\saa.h include\strlist.h include\tables.h \ + output\outform.h output\outlib.h x86\insnsi.h x86\regs.h output\outbin.$(O): output\outbin.c asm\directiv.h asm\eval.h asm\pptok.h \ asm\preproc.h asm\stdscan.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\labels.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\saa.h include\strlist.h include\tables.h output\outform.h \ - output\outlib.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\labels.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\saa.h include\strlist.h include\tables.h \ + output\outform.h output\outlib.h x86\insnsi.h x86\regs.h output\outcoff.$(O): output\outcoff.c asm\directiv.h asm\eval.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\raa.h \ - include\saa.h include\strlist.h include\tables.h output\outform.h \ - output\outlib.h output\pecoff.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\raa.h include\saa.h include\strlist.h include\tables.h \ + output\outform.h output\outlib.h output\pecoff.h x86\insnsi.h x86\regs.h output\outdbg.$(O): output\outdbg.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\iflag.h include\insns.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\strlist.h include\tables.h output\outform.h \ - output\outlib.h x86\iflaggen.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\iflag.h \ + include\insns.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + output\outform.h output\outlib.h x86\iflaggen.h x86\insnsi.h x86\regs.h output\outelf.$(O): output\outelf.c asm\directiv.h asm\eval.h asm\pptok.h \ asm\preproc.h asm\stdscan.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\raa.h \ - include\rbtree.h include\saa.h include\strlist.h include\tables.h \ - include\ver.h output\dwarf.h output\elf.h output\outelf.h output\outform.h \ - output\outlib.h output\stabs.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\raa.h include\rbtree.h include\saa.h include\strlist.h \ + include\tables.h include\ver.h output\dwarf.h output\elf.h output\outelf.h \ + output\outform.h output\outlib.h output\stabs.h x86\insnsi.h x86\regs.h output\outform.$(O): output\outform.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - output\outform.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\nasm.h include\nasmint.h \ + include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ + include\tables.h output\outform.h x86\insnsi.h x86\regs.h output\outieee.$(O): output\outieee.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h include\ver.h output\outform.h \ + output\outlib.h x86\insnsi.h x86\regs.h +output\outlib.$(O): output\outlib.c asm\directiv.h asm\pptok.h asm\preproc.h \ + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ include\compiler.h include\error.h include\nasm.h include\nasmint.h \ include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h include\ver.h output\outform.h output\outlib.h \ - x86\insnsi.h x86\regs.h -output\outlib.$(O): output\outlib.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\error.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - output\outlib.h x86\insnsi.h x86\regs.h + include\tables.h output\outlib.h x86\insnsi.h x86\regs.h output\outmacho.$(O): output\outmacho.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\labels.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\raa.h include\rbtree.h include\saa.h include\strlist.h \ - include\tables.h include\ver.h output\dwarf.h output\outform.h \ - output\outlib.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\labels.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\raa.h include\rbtree.h include\saa.h \ + include\strlist.h include\tables.h include\ver.h output\dwarf.h \ + output\outform.h output\outlib.h x86\insnsi.h x86\regs.h output\outobj.$(O): output\outobj.c asm\directiv.h asm\eval.h asm\pptok.h \ asm\preproc.h asm\stdscan.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ - include\tables.h include\ver.h output\outform.h output\outlib.h \ - x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h include\ver.h output\outform.h \ + output\outlib.h x86\insnsi.h x86\regs.h output\outrdf2.$(O): output\outrdf2.c asm\directiv.h asm\pptok.h \ asm\preproc.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasm.h include\nasmint.h \ - include\nasmlib.h include\opflags.h include\perfhash.h include\rdoff.h \ - include\saa.h include\strlist.h include\tables.h output\outform.h \ - output\outlib.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\error.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\rdoff.h include\saa.h include\strlist.h include\tables.h \ + output\outform.h output\outlib.h x86\insnsi.h x86\regs.h +output\strtbl.$(O): output\strtbl.c asm\directiv.h asm\pptok.h asm\preproc.h \ + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\error.h include\hashtbl.h include\nasm.h \ + include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ + include\strlist.h include\tables.h output\strtbl.h x86\insnsi.h x86\regs.h rdoff\collectn.$(O): rdoff\collectn.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\collectn.h rdoff\rdfutils.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\collectn.h \ + rdoff\rdfutils.h rdoff\hash.$(O): rdoff\hash.c config\msvc.h config\unknown.h config\watcom.h \ include\compiler.h include\nasmint.h rdoff\hash.h rdoff\ldrdf.$(O): rdoff\ldrdf.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\collectn.h rdoff\ldsegs.h \ - rdoff\rdfutils.h rdoff\rdlib.h rdoff\segtab.h rdoff\symtab.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\collectn.h \ + rdoff\ldsegs.h rdoff\rdfutils.h rdoff\rdlib.h rdoff\segtab.h rdoff\symtab.h rdoff\rdf2bin.$(O): rdoff\rdf2bin.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\rdfload.h rdoff\rdfutils.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\rdfload.h \ + rdoff\rdfutils.h rdoff\rdfdump.$(O): rdoff\rdfdump.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\rdfutils.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\rdfutils.h rdoff\rdflib.$(O): rdoff\rdflib.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\rdfutils.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\rdfutils.h rdoff\rdfload.$(O): rdoff\rdfload.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\collectn.h rdoff\rdfload.h \ - rdoff\rdfutils.h rdoff\symtab.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\collectn.h \ + rdoff\rdfload.h rdoff\rdfutils.h rdoff\symtab.h rdoff\rdlar.$(O): rdoff\rdlar.c config\msvc.h config\unknown.h \ config\watcom.h include\compiler.h include\nasmint.h rdoff\rdlar.h rdoff\rdlib.$(O): rdoff\rdlib.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\rdfutils.h rdoff\rdlar.h \ - rdoff\rdlib.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\rdfutils.h \ + rdoff\rdlar.h rdoff\rdlib.h rdoff\rdoff.$(O): rdoff\rdoff.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\rdfutils.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\rdfutils.h rdoff\rdx.$(O): rdoff\rdx.c config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\error.h include\nasmint.h include\nasmlib.h \ - include\rdoff.h rdoff\rdfload.h rdoff\rdfutils.h rdoff\symtab.h + include\bytesex.h include\compiler.h include\error.h include\nasmint.h \ + include\nasmlib.h include\rdoff.h rdoff\rdfload.h rdoff\rdfutils.h \ + rdoff\symtab.h rdoff\segtab.$(O): rdoff\segtab.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\rdfutils.h rdoff\segtab.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\rdfutils.h \ + rdoff\segtab.h rdoff\symtab.$(O): rdoff\symtab.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h include\rdoff.h rdoff\hash.h rdoff\rdfutils.h \ - rdoff\symtab.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h include\rdoff.h rdoff\hash.h \ + rdoff\rdfutils.h rdoff\symtab.h stdlib\snprintf.$(O): stdlib\snprintf.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\nasmint.h include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\nasmint.h \ + include\nasmlib.h stdlib\strlcpy.$(O): stdlib\strlcpy.c config\msvc.h config\unknown.h \ config\watcom.h include\compiler.h include\nasmint.h stdlib\strnlen.$(O): stdlib\strnlen.c config\msvc.h config\unknown.h \ config\watcom.h include\compiler.h include\nasmint.h stdlib\vsnprintf.$(O): stdlib\vsnprintf.c config\msvc.h config\unknown.h \ - config\watcom.h include\compiler.h include\error.h include\nasmint.h \ - include\nasmlib.h + config\watcom.h include\bytesex.h include\compiler.h include\error.h \ + include\nasmint.h include\nasmlib.h x86\disp8.$(O): x86\disp8.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\disp8.h include\nasm.h include\nasmint.h include\nasmlib.h \ - include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ - x86\insnsi.h x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\disp8.h include\nasm.h include\nasmint.h \ + include\nasmlib.h include\opflags.h include\perfhash.h include\strlist.h \ + include\tables.h x86\insnsi.h x86\regs.h x86\iflag.$(O): x86\iflag.c config\msvc.h config\unknown.h config\watcom.h \ include\compiler.h include\iflag.h include\nasmint.h x86\iflaggen.h x86\insnsa.$(O): x86\insnsa.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\iflag.h include\insns.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\iflag.h include\insns.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ + x86\insnsi.h x86\regs.h x86\insnsb.$(O): x86\insnsb.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\iflag.h include\insns.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\iflag.h include\insns.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ + x86\insnsi.h x86\regs.h x86\insnsd.$(O): x86\insnsd.c asm\directiv.h asm\pptok.h asm\preproc.h \ asm\tokens.h config\msvc.h config\unknown.h config\watcom.h \ - include\compiler.h include\iflag.h include\insns.h include\nasm.h \ - include\nasmint.h include\nasmlib.h include\opflags.h include\perfhash.h \ - include\strlist.h include\tables.h x86\iflaggen.h x86\insnsi.h x86\regs.h + include\bytesex.h include\compiler.h include\iflag.h include\insns.h \ + include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ + include\perfhash.h include\strlist.h include\tables.h x86\iflaggen.h \ + x86\insnsi.h x86\regs.h x86\insnsn.$(O): x86\insnsn.c config\msvc.h config\unknown.h config\watcom.h \ include\compiler.h include\nasmint.h include\tables.h x86\insnsi.h x86\regdis.$(O): x86\regdis.c x86\regdis.h x86\regs.h x86\regflags.$(O): x86\regflags.c asm\directiv.h asm\pptok.h asm\preproc.h \ - config\msvc.h config\unknown.h config\watcom.h include\compiler.h \ - include\nasm.h include\nasmint.h include\nasmlib.h include\opflags.h \ - include\perfhash.h include\strlist.h include\tables.h x86\insnsi.h \ - x86\regs.h + config\msvc.h config\unknown.h config\watcom.h include\bytesex.h \ + include\compiler.h include\nasm.h include\nasmint.h include\nasmlib.h \ + include\opflags.h include\perfhash.h include\strlist.h include\tables.h \ + x86\insnsi.h x86\regs.h x86\regs.$(O): x86\regs.c config\msvc.h config\unknown.h config\watcom.h \ include\compiler.h include\nasmint.h include\tables.h x86\insnsi.h x86\regvals.$(O): x86\regvals.c config\msvc.h config\unknown.h \ diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index 516c3f03..461c7347 100644 --- a/Mkfiles/openwcom.mak +++ b/Mkfiles/openwcom.mak @@ -87,6 +87,7 @@ LIBOBJ = stdlib/snprintf.$(O) stdlib/vsnprintf.$(O) stdlib/strlcpy.$(O) & macros/macros.$(O) & & output/outform.$(O) output/outlib.$(O) output/legacy.$(O) & + output/strtbl.$(O) & output/nulldbg.$(O) output/nullout.$(O) & output/outbin.$(O) output/outaout.$(O) output/outcoff.$(O) & output/outelf.$(O) & @@ -331,374 +332,402 @@ alldeps: perlreq .SYMBOLIC #-- Everything below is generated by mkdep.pl - do not edit --# asm/assemble.$(O): asm/assemble.c asm/assemble.h asm/directiv.h & asm/listing.h asm/pptok.h asm/preproc.h asm/tokens.h config/msvc.h & - config/unknown.h config/watcom.h include/compiler.h include/disp8.h & - include/error.h include/iflag.h include/insns.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h & + include/disp8.h include/error.h include/iflag.h include/insns.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h asm/directbl.$(O): asm/directbl.c asm/directiv.h config/msvc.h & - config/unknown.h config/watcom.h include/compiler.h include/nasmint.h & - include/nasmlib.h include/perfhash.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h & + include/nasmint.h include/nasmlib.h include/perfhash.h asm/directiv.$(O): asm/directiv.c asm/assemble.h asm/directiv.h asm/eval.h & asm/float.h asm/listing.h asm/pptok.h asm/preproc.h asm/stdscan.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/error.h include/iflag.h include/labels.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h output/outform.h x86/iflaggen.h & - x86/insnsi.h x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/error.h include/iflag.h include/labels.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h output/outform.h & + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/error.$(O): asm/error.c config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasmint.h include/nasmlib.h + include/bytesex.h include/compiler.h include/error.h include/nasmint.h & + include/nasmlib.h asm/eval.$(O): asm/eval.c asm/assemble.h asm/directiv.h asm/eval.h & asm/float.h asm/pptok.h asm/preproc.h config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/iflag.h & - include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/iflag.h include/labels.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & + include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/exprdump.$(O): asm/exprdump.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h asm/exprlib.$(O): asm/exprlib.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h asm/float.$(O): asm/float.c asm/directiv.h asm/float.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h x86/insnsi.h x86/regs.h -asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/error.h include/hashtbl.h include/labels.h include/nasm.h & + include/bytesex.h include/compiler.h include/error.h include/nasm.h & include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & include/strlist.h include/tables.h x86/insnsi.h x86/regs.h +asm/labels.$(O): asm/labels.c asm/directiv.h asm/pptok.h asm/preproc.h & + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/error.h include/hashtbl.h include/labels.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h & + x86/regs.h asm/listing.$(O): asm/listing.c asm/directiv.h asm/listing.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h asm/nasm.$(O): asm/nasm.c asm/assemble.h asm/directiv.h asm/eval.h & asm/float.h asm/listing.h asm/parser.h asm/pptok.h asm/preproc.h & asm/stdscan.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/iflag.h include/insns.h & - include/labels.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/raa.h include/saa.h & - include/strlist.h include/tables.h include/ver.h output/outform.h & - x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/iflag.h & + include/insns.h include/labels.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/perfhash.h include/raa.h & + include/saa.h include/strlist.h include/tables.h include/ver.h & + output/outform.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/parser.$(O): asm/parser.c asm/assemble.h asm/directiv.h asm/eval.h & asm/float.h asm/parser.h asm/pptok.h asm/preproc.h asm/stdscan.h & asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/iflag.h include/insns.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/iflag.h & + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + x86/iflaggen.h x86/insnsi.h x86/regs.h asm/pptok.$(O): asm/pptok.c asm/pptok.h asm/preproc.h config/msvc.h & - config/unknown.h config/watcom.h include/compiler.h include/hashtbl.h & - include/nasmint.h include/nasmlib.h + config/unknown.h config/watcom.h include/bytesex.h include/compiler.h & + include/hashtbl.h include/nasmint.h include/nasmlib.h asm/pragma.$(O): asm/pragma.c asm/assemble.h asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/iflag.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/iflag.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h asm/preproc-nop.$(O): asm/preproc-nop.c asm/directiv.h asm/listing.h & asm/pptok.h asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h asm/preproc.$(O): asm/preproc.c asm/directiv.h asm/eval.h asm/listing.h & asm/pptok.h asm/preproc.h asm/quote.h asm/stdscan.h asm/tokens.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/error.h include/hashtbl.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h x86/insnsi.h x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/error.h include/hashtbl.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h asm/quote.$(O): asm/quote.c asm/quote.h config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h asm/rdstrnum.$(O): asm/rdstrnum.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h asm/segalloc.$(O): asm/segalloc.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/iflag.h include/insns.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h asm/stdscan.$(O): asm/stdscan.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/quote.h asm/stdscan.h asm/tokens.h config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/iflag.h & - include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - x86/iflaggen.h x86/insnsi.h x86/regs.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/iflag.h include/insns.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & + include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h asm/strfunc.$(O): asm/strfunc.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h asm/tokhash.$(O): asm/tokhash.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/stdscan.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/hashtbl.h include/iflag.h include/insns.h & + include/bytesex.h include/compiler.h include/hashtbl.h include/iflag.h & + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + x86/iflaggen.h x86/insnsi.h x86/regs.h +common/common.$(O): common/common.c asm/directiv.h asm/pptok.h asm/preproc.h & + asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & + include/bytesex.h include/compiler.h include/iflag.h include/insns.h & include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & x86/insnsi.h x86/regs.h -common/common.$(O): common/common.c asm/directiv.h asm/pptok.h asm/preproc.h & - asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/iflag.h include/insns.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h disasm/disasm.$(O): disasm/disasm.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/tokens.h config/msvc.h config/unknown.h config/watcom.h disasm/disasm.h & - disasm/sync.h include/compiler.h include/disp8.h include/iflag.h & - include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - x86/iflaggen.h x86/insnsi.h x86/regdis.h x86/regs.h -disasm/ndisasm.$(O): disasm/ndisasm.c asm/directiv.h asm/pptok.h & - asm/preproc.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - disasm/disasm.h disasm/sync.h include/compiler.h include/error.h & + disasm/sync.h include/bytesex.h include/compiler.h include/disp8.h & include/iflag.h include/insns.h include/nasm.h include/nasmint.h & include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h include/ver.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/tables.h x86/iflaggen.h x86/insnsi.h x86/regdis.h x86/regs.h +disasm/ndisasm.$(O): disasm/ndisasm.c asm/directiv.h asm/pptok.h & + asm/preproc.h asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & + disasm/disasm.h disasm/sync.h include/bytesex.h include/compiler.h & + include/error.h include/iflag.h include/insns.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h include/ver.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h disasm/sync.$(O): disasm/sync.c config/msvc.h config/unknown.h & - config/watcom.h disasm/sync.h include/compiler.h include/nasmint.h & - include/nasmlib.h + config/watcom.h disasm/sync.h include/bytesex.h include/compiler.h & + include/nasmint.h include/nasmlib.h macros/macros.$(O): macros/macros.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/hashtbl.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - output/outform.h x86/insnsi.h x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & + include/tables.h output/outform.h x86/insnsi.h x86/regs.h nasmlib/badenum.$(O): nasmlib/badenum.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h nasmlib/bsi.$(O): nasmlib/bsi.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h -nasmlib/crc64.$(O): nasmlib/crc64.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/hashtbl.h include/nasmint.h & + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & include/nasmlib.h +nasmlib/crc64.$(O): nasmlib/crc64.c config/msvc.h config/unknown.h & + config/watcom.h include/bytesex.h include/compiler.h include/hashtbl.h & + include/nasmint.h include/nasmlib.h nasmlib/file.$(O): nasmlib/file.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h nasmlib/file.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/filename.$(O): nasmlib/filename.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h nasmlib/hashtbl.$(O): nasmlib/hashtbl.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/hashtbl.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/hashtbl.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h nasmlib/ilog2.$(O): nasmlib/ilog2.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h -nasmlib/malloc.$(O): nasmlib/malloc.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & include/nasmlib.h +nasmlib/malloc.$(O): nasmlib/malloc.c config/msvc.h config/unknown.h & + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h nasmlib/md5c.$(O): nasmlib/md5c.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/md5.h include/nasmint.h nasmlib/mmap.$(O): nasmlib/mmap.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h nasmlib/file.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h nasmlib/file.h nasmlib/path.$(O): nasmlib/path.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h nasmlib/perfhash.$(O): nasmlib/perfhash.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/hashtbl.h include/nasmint.h & - include/nasmlib.h include/perfhash.h + config/watcom.h include/bytesex.h include/compiler.h include/hashtbl.h & + include/nasmint.h include/nasmlib.h include/perfhash.h nasmlib/raa.$(O): nasmlib/raa.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h & - include/raa.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h include/raa.h nasmlib/rbtree.$(O): nasmlib/rbtree.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h include/rbtree.h nasmlib/readnum.$(O): nasmlib/readnum.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h x86/insnsi.h x86/regs.h nasmlib/realpath.$(O): nasmlib/realpath.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h nasmlib/saa.$(O): nasmlib/saa.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h & - include/saa.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h include/saa.h nasmlib/srcfile.$(O): nasmlib/srcfile.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/hashtbl.h include/nasmint.h & - include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/hashtbl.h & + include/nasmint.h include/nasmlib.h nasmlib/string.$(O): nasmlib/string.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h nasmlib/strlist.$(O): nasmlib/strlist.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h & - include/strlist.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h include/strlist.h nasmlib/ver.$(O): nasmlib/ver.c include/ver.h version.h nasmlib/zerobuf.$(O): nasmlib/zerobuf.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h output/codeview.$(O): output/codeview.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/hashtbl.h include/md5.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/saa.h include/strlist.h include/tables.h & - output/outlib.h output/pecoff.h version.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/hashtbl.h & + include/md5.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/saa.h include/strlist.h & + include/tables.h output/outlib.h output/pecoff.h version.h x86/insnsi.h & + x86/regs.h output/legacy.$(O): output/legacy.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/error.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - output/outlib.h x86/insnsi.h x86/regs.h -output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h & - asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & include/compiler.h include/error.h include/nasm.h include/nasmint.h & include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & include/tables.h output/outlib.h x86/insnsi.h x86/regs.h +output/nulldbg.$(O): output/nulldbg.c asm/directiv.h asm/pptok.h & + asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/nullout.$(O): output/nullout.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h output/outlib.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/outaout.$(O): output/outaout.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/raa.h & - include/saa.h include/strlist.h include/tables.h output/outform.h & - output/outlib.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/raa.h include/saa.h include/strlist.h include/tables.h & + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outas86.$(O): output/outas86.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/raa.h & - include/saa.h include/strlist.h include/tables.h output/outform.h & - output/outlib.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/raa.h include/saa.h include/strlist.h include/tables.h & + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outbin.$(O): output/outbin.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/labels.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/saa.h include/strlist.h include/tables.h output/outform.h & - output/outlib.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/labels.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/saa.h include/strlist.h include/tables.h & + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outcoff.$(O): output/outcoff.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/raa.h & - include/saa.h include/strlist.h include/tables.h output/outform.h & - output/outlib.h output/pecoff.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/raa.h include/saa.h include/strlist.h include/tables.h & + output/outform.h output/outlib.h output/pecoff.h x86/insnsi.h x86/regs.h output/outdbg.$(O): output/outdbg.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/iflag.h include/insns.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/strlist.h include/tables.h output/outform.h & - output/outlib.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/iflag.h & + include/insns.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + output/outform.h output/outlib.h x86/iflaggen.h x86/insnsi.h x86/regs.h output/outelf.$(O): output/outelf.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/raa.h & - include/rbtree.h include/saa.h include/strlist.h include/tables.h & - include/ver.h output/dwarf.h output/elf.h output/outelf.h output/outform.h & - output/outlib.h output/stabs.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/raa.h include/rbtree.h include/saa.h include/strlist.h & + include/tables.h include/ver.h output/dwarf.h output/elf.h output/outelf.h & + output/outform.h output/outlib.h output/stabs.h x86/insnsi.h x86/regs.h output/outform.$(O): output/outform.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - output/outform.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & + include/tables.h output/outform.h x86/insnsi.h x86/regs.h output/outieee.$(O): output/outieee.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h include/ver.h output/outform.h & + output/outlib.h x86/insnsi.h x86/regs.h +output/outlib.$(O): output/outlib.c asm/directiv.h asm/pptok.h asm/preproc.h & + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & include/compiler.h include/error.h include/nasm.h include/nasmint.h & include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h include/ver.h output/outform.h output/outlib.h & - x86/insnsi.h x86/regs.h -output/outlib.$(O): output/outlib.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/error.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - output/outlib.h x86/insnsi.h x86/regs.h + include/tables.h output/outlib.h x86/insnsi.h x86/regs.h output/outmacho.$(O): output/outmacho.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/labels.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/raa.h include/rbtree.h include/saa.h include/strlist.h & - include/tables.h include/ver.h output/dwarf.h output/outform.h & - output/outlib.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/labels.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/raa.h include/rbtree.h include/saa.h & + include/strlist.h include/tables.h include/ver.h output/dwarf.h & + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h output/outobj.$(O): output/outobj.c asm/directiv.h asm/eval.h asm/pptok.h & asm/preproc.h asm/stdscan.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & - include/tables.h include/ver.h output/outform.h output/outlib.h & - x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h include/ver.h output/outform.h & + output/outlib.h x86/insnsi.h x86/regs.h output/outrdf2.$(O): output/outrdf2.c asm/directiv.h asm/pptok.h & asm/preproc.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasm.h include/nasmint.h & - include/nasmlib.h include/opflags.h include/perfhash.h include/rdoff.h & - include/saa.h include/strlist.h include/tables.h output/outform.h & - output/outlib.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/error.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/rdoff.h include/saa.h include/strlist.h include/tables.h & + output/outform.h output/outlib.h x86/insnsi.h x86/regs.h +output/strtbl.$(O): output/strtbl.c asm/directiv.h asm/pptok.h asm/preproc.h & + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/error.h include/hashtbl.h include/nasm.h & + include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & + include/strlist.h include/tables.h output/strtbl.h x86/insnsi.h x86/regs.h rdoff/collectn.$(O): rdoff/collectn.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/collectn.h rdoff/rdfutils.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/collectn.h & + rdoff/rdfutils.h rdoff/hash.$(O): rdoff/hash.c config/msvc.h config/unknown.h config/watcom.h & include/compiler.h include/nasmint.h rdoff/hash.h rdoff/ldrdf.$(O): rdoff/ldrdf.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/collectn.h rdoff/ldsegs.h & - rdoff/rdfutils.h rdoff/rdlib.h rdoff/segtab.h rdoff/symtab.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/collectn.h & + rdoff/ldsegs.h rdoff/rdfutils.h rdoff/rdlib.h rdoff/segtab.h rdoff/symtab.h rdoff/rdf2bin.$(O): rdoff/rdf2bin.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/rdfload.h rdoff/rdfutils.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfload.h & + rdoff/rdfutils.h rdoff/rdfdump.$(O): rdoff/rdfdump.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/rdfutils.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h rdoff/rdflib.$(O): rdoff/rdflib.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/rdfutils.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h rdoff/rdfload.$(O): rdoff/rdfload.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/collectn.h rdoff/rdfload.h & - rdoff/rdfutils.h rdoff/symtab.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/collectn.h & + rdoff/rdfload.h rdoff/rdfutils.h rdoff/symtab.h rdoff/rdlar.$(O): rdoff/rdlar.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h rdoff/rdlar.h rdoff/rdlib.$(O): rdoff/rdlib.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/rdfutils.h rdoff/rdlar.h & - rdoff/rdlib.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h & + rdoff/rdlar.h rdoff/rdlib.h rdoff/rdoff.$(O): rdoff/rdoff.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/rdfutils.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h rdoff/rdx.$(O): rdoff/rdx.c config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/error.h include/nasmint.h include/nasmlib.h & - include/rdoff.h rdoff/rdfload.h rdoff/rdfutils.h rdoff/symtab.h + include/bytesex.h include/compiler.h include/error.h include/nasmint.h & + include/nasmlib.h include/rdoff.h rdoff/rdfload.h rdoff/rdfutils.h & + rdoff/symtab.h rdoff/segtab.$(O): rdoff/segtab.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/rdfutils.h rdoff/segtab.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/rdfutils.h & + rdoff/segtab.h rdoff/symtab.$(O): rdoff/symtab.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h include/rdoff.h rdoff/hash.h rdoff/rdfutils.h & - rdoff/symtab.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h include/rdoff.h rdoff/hash.h & + rdoff/rdfutils.h rdoff/symtab.h stdlib/snprintf.$(O): stdlib/snprintf.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/nasmint.h include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/nasmint.h & + include/nasmlib.h stdlib/strlcpy.$(O): stdlib/strlcpy.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h stdlib/strnlen.$(O): stdlib/strnlen.c config/msvc.h config/unknown.h & config/watcom.h include/compiler.h include/nasmint.h stdlib/vsnprintf.$(O): stdlib/vsnprintf.c config/msvc.h config/unknown.h & - config/watcom.h include/compiler.h include/error.h include/nasmint.h & - include/nasmlib.h + config/watcom.h include/bytesex.h include/compiler.h include/error.h & + include/nasmint.h include/nasmlib.h x86/disp8.$(O): x86/disp8.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/disp8.h include/nasm.h include/nasmint.h include/nasmlib.h & - include/opflags.h include/perfhash.h include/strlist.h include/tables.h & - x86/insnsi.h x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/disp8.h include/nasm.h include/nasmint.h & + include/nasmlib.h include/opflags.h include/perfhash.h include/strlist.h & + include/tables.h x86/insnsi.h x86/regs.h x86/iflag.$(O): x86/iflag.c config/msvc.h config/unknown.h config/watcom.h & include/compiler.h include/iflag.h include/nasmint.h x86/iflaggen.h x86/insnsa.$(O): x86/insnsa.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/iflag.h include/insns.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h x86/insnsb.$(O): x86/insnsb.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/iflag.h include/insns.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h x86/insnsd.$(O): x86/insnsd.c asm/directiv.h asm/pptok.h asm/preproc.h & asm/tokens.h config/msvc.h config/unknown.h config/watcom.h & - include/compiler.h include/iflag.h include/insns.h include/nasm.h & - include/nasmint.h include/nasmlib.h include/opflags.h include/perfhash.h & - include/strlist.h include/tables.h x86/iflaggen.h x86/insnsi.h x86/regs.h + include/bytesex.h include/compiler.h include/iflag.h include/insns.h & + include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & + include/perfhash.h include/strlist.h include/tables.h x86/iflaggen.h & + x86/insnsi.h x86/regs.h x86/insnsn.$(O): x86/insnsn.c config/msvc.h config/unknown.h config/watcom.h & include/compiler.h include/nasmint.h include/tables.h x86/insnsi.h x86/regdis.$(O): x86/regdis.c x86/regdis.h x86/regs.h x86/regflags.$(O): x86/regflags.c asm/directiv.h asm/pptok.h asm/preproc.h & - config/msvc.h config/unknown.h config/watcom.h include/compiler.h & - include/nasm.h include/nasmint.h include/nasmlib.h include/opflags.h & - include/perfhash.h include/strlist.h include/tables.h x86/insnsi.h & - x86/regs.h + config/msvc.h config/unknown.h config/watcom.h include/bytesex.h & + include/compiler.h include/nasm.h include/nasmint.h include/nasmlib.h & + include/opflags.h include/perfhash.h include/strlist.h include/tables.h & + x86/insnsi.h x86/regs.h x86/regs.$(O): x86/regs.c config/msvc.h config/unknown.h config/watcom.h & include/compiler.h include/nasmint.h include/tables.h x86/insnsi.h x86/regvals.$(O): x86/regvals.c config/msvc.h config/unknown.h & @@ -36,6 +36,14 @@ AC_DEFUN(PA_ADD_CLDFLAGS, LDFLAGS="$pa_add_cldflags__old_ldflags"])]) dnl -------------------------------------------------------------------------- +dnl PA_VAR +dnl +dnl Canonicalize a variable name: upper case, and fold non-C characters +dnl to underscores. +dnl -------------------------------------------------------------------------- +AC_DEFUN(PA_VAR, [patsubst(m4_toupper([$1]),[[^A-Za-z0-9_]],[_])]) + +dnl -------------------------------------------------------------------------- dnl PA_HAVE_FUNC dnl dnl Look for a function with the specified arguments which could be @@ -43,9 +51,9 @@ dnl a builtin/intrinsic function. dnl -------------------------------------------------------------------------- AC_DEFUN(PA_HAVE_FUNC, [AC_MSG_CHECKING([for $1]) -AC_TRY_LINK([], [(void)$1$2;], +AC_TRY_LINK(AC_INCLUDES_DEFAULT, [(void)$1$2;], AC_MSG_RESULT([yes]) -AC_DEFINE(m4_toupper([HAVE_$1]), [1], +AC_DEFINE(PA_VAR([HAVE_$1]), [1], [Define to 1 if you have the `$1' intrinsic function.]), AC_MSG_RESULT([no]))]) @@ -81,7 +89,7 @@ dnl -------------------------------------------------------------------------- AC_DEFUN(PA_FUNC_ATTRIBUTE, [AC_MSG_CHECKING([if $CC supports the $1 function attribute]) AC_COMPILE_IFELSE([AC_LANG_SOURCE([ -#include <stdarg.h> +AC_INCLUDES_DEFAULT extern ifelse([$3],[],[void *],[$3]) __attribute__(($1$2)) bar(ifelse([$4],[],[int],[$4])); void *foo(void); @@ -91,7 +99,7 @@ void *foo(void) } ])], [AC_MSG_RESULT([yes]) - AC_DEFINE(m4_toupper([HAVE_FUNC_ATTRIBUTE_$1]), 1, + AC_DEFINE(PA_VAR([HAVE_FUNC_ATTRIBUTE_$1]), 1, [Define to 1 if your compiler supports __attribute__(($1)) on functions])], [AC_MSG_RESULT([no])]) ]) @@ -106,7 +114,7 @@ dnl -------------------------------------------------------------------------- AC_DEFUN(PA_FUNC_ATTRIBUTE_ERROR, [AC_MSG_CHECKING([if $CC supports the error function attribute]) AC_COMPILE_IFELSE([AC_LANG_SOURCE([ -#include <stdarg.h> +AC_INCLUDES_DEFAULT extern void __attribute__((error("message"))) barf(void); void foo(void); void foo(void) @@ -116,7 +124,7 @@ void foo(void) } ])], [AC_MSG_RESULT([yes]) - AC_DEFINE(m4_toupper([HAVE_FUNC_ATTRIBUTE_ERROR]), 1, + AC_DEFINE(PA_VAR([HAVE_FUNC_ATTRIBUTE_ERROR]), 1, [Define to 1 if your compiler supports __attribute__((error)) on functions])], [AC_MSG_RESULT([no])]) ]) @@ -137,3 +145,15 @@ AC_DEFUN(PA_ARG_DISABLED, [AC_ARG_ENABLE([$1],[AS_HELP_STRING([--disable-$1],[$2])], [], [enableval=yes]) AS_IF([test x"$enableval" = xno], [$3], [$4]) ]) + +dnl -------------------------------------------------------------------------- +dnl PA_ADD_HEADERS() +dnl +dnl Call AC_CHECK_HEADERS(), and add to ac_includes_default if found +dnl -------------------------------------------------------------------------- +AC_DEFUN(_PA_ADD_HEADER, +[AC_CHECK_HEADERS([$1],[ac_includes_default="$ac_includes_default +#include <$1>"])]) + +AC_DEFUN(PA_ADD_HEADERS, +[m4_map_args_w([$1],[_PA_ADD_HEADER(],[)])]) diff --git a/configure.ac b/configure.ac index bc8a1a2b..8db7c726 100644 --- a/configure.ac +++ b/configure.ac @@ -88,7 +88,7 @@ AC_CHECK_HEADERS(stdnoreturn.h) AC_CHECK_HEADERS(io.h) AC_CHECK_HEADERS(fcntl.h) AC_CHECK_HEADERS(unistd.h) -AC_CHECK_HEADERS(sys/param.h) +AC_CHECK_HEADERS(endian.h sys/endian.h machine/endian.h) AC_CHECK_HEADERS(sys/mman.h) AC_CHECK_HEADERS(sys/types.h) AC_CHECK_HEADERS(sys/stat.h) @@ -119,10 +119,15 @@ AC_CHECK_FUNCS(sysconf) AC_CHECK_FUNCS([access _access faccessat]) +PA_HAVE_FUNC(__builtin_expect, (1,1)) + +dnl ilog2() building blocks +PA_ADD_HEADERS(intrin.h) PA_HAVE_FUNC(__builtin_clz, (0U)) PA_HAVE_FUNC(__builtin_clzl, (0UL)) PA_HAVE_FUNC(__builtin_clzll, (0ULL)) -PA_HAVE_FUNC(__builtin_expect, (1,1)) +PA_HAVE_FUNC(_BitScanReverse, (0)) +PA_HAVE_FUNC(_BitScanReverse64, (0)) dnl Functions for which we have replacements available in lib/ AC_CHECK_FUNCS([vsnprintf _vsnprintf]) @@ -158,6 +163,28 @@ PA_ARG_DISABLED([pdf-compression], AC_SUBST([PDFOPT]) dnl +dnl Look for byte-swapping support... +dnl +PA_HAVE_FUNC(cpu_to_le16, (0)) +PA_HAVE_FUNC(cpu_to_le32, (0)) +PA_HAVE_FUNC(cpu_to_le64, (0)) +PA_HAVE_FUNC(__cpu_to_le16, (0)) +PA_HAVE_FUNC(__cpu_to_le32, (0)) +PA_HAVE_FUNC(__cpu_to_le64, (0)) +PA_HAVE_FUNC(htole16, (0)) +PA_HAVE_FUNC(htole32, (0)) +PA_HAVE_FUNC(htole64, (0)) +PA_HAVE_FUNC(__bswap_16, (0)) +PA_HAVE_FUNC(__bswap_32, (0)) +PA_HAVE_FUNC(__bswap_64, (0)) +PA_HAVE_FUNC(__builtin_bswap16, (0)) +PA_HAVE_FUNC(__builtin_bswap32, (0)) +PA_HAVE_FUNC(__builtin_bswap64, (0)) +PA_HAVE_FUNC(_byteswap_ushort, (0)) +PA_HAVE_FUNC(_byteswap_ulong, (0)) +PA_HAVE_FUNC(_byteswap_uint64, (0)) + +dnl dnl Check for supported gcc attributes; some compilers (e.g. Sun CC) dnl support these, but don't define __GNUC__ as they don't support dnl some other features of gcc. diff --git a/include/bytesex.h b/include/bytesex.h new file mode 100644 index 00000000..ee20adff --- /dev/null +++ b/include/bytesex.h @@ -0,0 +1,264 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 1996-2017 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +/* + * bytesex.h - byte order helper functions + * + * In this function, be careful about getting X86_MEMORY versus + * LITTLE_ENDIAN correct: X86_MEMORY also means we are allowed to + * do unaligned memory references, and is probabilistic. + */ + +#ifndef NASM_BYTEORD_H +#define NASM_BYTEORD_H + +#include "compiler.h" + +/* + * Some handy macros that will probably be of use in more than one + * output format: convert integers into little-endian byte packed + * format in memory. + */ + +#if X86_MEMORY + +#define WRITECHAR(p,v) \ + do { \ + *(uint8_t *)(p) = (v); \ + (p) += 1; \ + } while (0) + +#define WRITESHORT(p,v) \ + do { \ + *(uint16_t *)(p) = (v); \ + (p) += 2; \ + } while (0) + +#define WRITELONG(p,v) \ + do { \ + *(uint32_t *)(p) = (v); \ + (p) += 4; \ + } while (0) + +#define WRITEDLONG(p,v) \ + do { \ + *(uint64_t *)(p) = (v); \ + (p) += 8; \ + } while (0) + +#define WRITEADDR(p,v,s) \ + do { \ + uint64_t _wa_v = (v); \ + memcpy((p), &_wa_v, (s)); \ + (p) += (s); \ + } while (0) + +#else /* !X86_MEMORY */ + +#define WRITECHAR(p,v) \ + do { \ + uint8_t *_wc_p = (uint8_t *)(p); \ + uint8_t _wc_v = (v); \ + _wc_p[0] = _wc_v; \ + (p) = (void *)(_wc_p + 1); \ + } while (0) + +#define WRITESHORT(p,v) \ + do { \ + uint8_t *_ws_p = (uint8_t *)(p); \ + uint16_t _ws_v = (v); \ + _ws_p[0] = _ws_v; \ + _ws_p[1] = _ws_v >> 8; \ + (p) = (void *)(_ws_p + 2); \ + } while (0) + +#define WRITELONG(p,v) \ + do { \ + uint8_t *_wl_p = (uint8_t *)(p); \ + uint32_t _wl_v = (v); \ + _wl_p[0] = _wl_v; \ + _wl_p[1] = _wl_v >> 8; \ + _wl_p[2] = _wl_v >> 16; \ + _wl_p[3] = _wl_v >> 24; \ + (p) = (void *)(_wl_p + 4); \ + } while (0) + +#define WRITEDLONG(p,v) \ + do { \ + uint8_t *_wq_p = (uint8_t *)(p); \ + uint64_t _wq_v = (v); \ + _wq_p[0] = _wq_v; \ + _wq_p[1] = _wq_v >> 8; \ + _wq_p[2] = _wq_v >> 16; \ + _wq_p[3] = _wq_v >> 24; \ + _wq_p[4] = _wq_v >> 32; \ + _wq_p[5] = _wq_v >> 40; \ + _wq_p[6] = _wq_v >> 48; \ + _wq_p[7] = _wq_v >> 56; \ + (p) = (void *)(_wq_p + 8); \ + } while (0) + +#define WRITEADDR(p,v,s) \ + do { \ + int _wa_s = (s); \ + uint64_t _wa_v = (v); \ + while (_wa_s--) { \ + WRITECHAR(p,_wa_v); \ + _wa_v >>= 8; \ + } \ + } while(0) + +#endif + + +/* + * Endian control functions which work on a single integer + */ +#ifdef WORDS_LITTLEENDIAN + +#ifndef HAVE_CPU_TO_LE16 +static inline uint16_t cpu_to_le16(uint16_t v) { return v; } +#endif +#ifndef HAVE_CPU_TO_LE32 +static inline uint32_t cpu_to_le32(uint32_t v) { return v; } +#endif +#ifndef HAVE_CPU_TO_LE64 +static inline uint64_t cpu_to_le64(uint64_t v) { return v; } +#endif + +#elif defined(WORDS_BIGENDIAN) + +#ifndef HAVE_CPU_TO_LE16 +static inline uint16_t cpu_to_le16(uint16_t v) +{ +# ifdef HAVE___CPU_TO_LE16 + return __cpu_to_le16(v); +# elif defined(HAVE_HTOLE16) + return htole16(v); +# elif defined(HAVE___BSWAP_16) + return __bswap_16(v); +# elif defined(HAVE___BUILTIN_BSWAP16) + return __builtin_bswap16(v); +# elif defined(HAVE__BYTESWAP_USHORT) && (USHRT_MAX == 0xffffU) + return _byteswap_ushort(v); +# else + return (v << 8) | (v >> 8); +# endif +} +#endif + +#ifndef HAVE_CPU_TO_LE32 +static inline uint32_t cpu_to_le32(uint32_t v) +{ +# ifdef HAVE___CPU_TO_LE32 + return __cpu_to_le32(v); +# elif defined(HAVE_HTOLE32) + return htole32(v); +# elif defined(HAVE___BSWAP_32) + return __bswap_32(v); +# elif defined(HAVE___BUILTIN_BSWAP32) + return __builtin_bswap32(v); +# elif defined(HAVE__BYTESWAP_ULONG) && (ULONG_MAX == 0xffffffffUL) + return _byteswap_ulong(v); +# else + v = ((v << 8) & 0xff00ff00 ) | + ((v >> 8) & 0x00ff00ff); + return (v << 16) | (v >> 16); +# endif +} +#endif + +#ifndef HAVE_CPU_TO_LE64 +static inline uint64_t cpu_to_le64(uint64_t v) +{ +# ifdef HAVE___CPU_TO_LE64 + return __cpu_to_le64(v); +# elif defined(HAVE_HTOLE64) + return htole64(v); +# elif defined(HAVE___BSWAP_64) + return __bswap_64(v); +# elif defined(HAVE___BUILTIN_BSWAP64) + return __builtin_bswap64(v); +# elif defined(HAVE__BYTESWAP_UINT64) + return _byteswap_uint64(v); +# else + v = ((v << 8) & 0xff00ff00ff00ff00ull) | + ((v >> 8) & 0x00ff00ff00ff00ffull); + v = ((v << 16) & 0xffff0000ffff0000ull) | + ((v >> 16) & 0x0000ffff0000ffffull); + return (v << 32) | (v >> 32); +# endif +} +#endif + +#else /* not WORDS_LITTLEENDIAN or WORDS_BIGENDIAN */ + +static inline uint16_t cpu_to_le16(uint16_t v) +{ + union u16 { + uint16_t v; + uint8_t c[2]; + } x; + uint8_t *cp = &x.c; + + WRITESHORT(cp, v); + return x.v; +} + +static inline uint32_t cpu_to_le32(uint32_t v) +{ + union u32 { + uint32_t v; + uint8_t c[4]; + } x; + uint8_t *cp = &x.c; + + WRITELONG(cp, v); + return x.v; +} + +static inline uint64_t cpu_to_le64(uint64_t v) +{ + union u64 { + uint64_t v; + uint8_t c[8]; + } x; + uint8_t *cp = &x.c; + + WRITEDLONG(cp, v); + return x.v; +} + +#endif + +#endif /* NASM_BYTESEX_H */ diff --git a/include/compiler.h b/include/compiler.h index 79a9ef2e..3bdd9ee2 100644 --- a/include/compiler.h +++ b/include/compiler.h @@ -87,6 +87,53 @@ # include <sys/types.h> #endif +#ifdef HAVE_ENDIAN_H +# include <endian.h> +#elif defined(HAVE_SYS_ENDIAN_H) +# include <sys/endian.h> +#elif defined(HAVE_MACHINE_ENDIAN_H) +# include <machine/endian.h> +#endif + +/* + * If we have BYTE_ORDER defined, or the compiler provides + * __BIG_ENDIAN__ or __LITTLE_ENDIAN__, trust it over what autoconf + * came up with, especially since autoconf obviously can't figure + * things out for a universal compiler. + */ +#if defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__) +# undef WORDS_LITTLEENDIAN +# undef WORDS_BIGENDIAN +# define WORDS_BIGENDIAN 1 +#elif defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__) +# undef WORDS_LITTLEENDIAN +# undef WORDS_BIGENDIAN +# define WORDS_LITTLEENDIAN 1 +#elif defined(BYTE_ORDER) && defined(LITTLE_ENDIAN) && defined(BIG_ENDIAN) +# undef WORDS_LITTLEENDIAN +# undef WORDS_BIGENDIAN +# if BYTE_ORDER == LITTLE_ENDIAN +# define WORDS_LITTLEENDIAN 1 +# elif BYTE_ORDER == BIG_ENDIAN +# define WORDS_BIGENDIAN 1 +# endif +#endif + +/* + * Define this to 1 for faster performance if this is a littleendian + * platform *and* it can do arbitrary unaligned memory references. It + * is safe to leave it defined to 0 even if that is true. + */ +#if defined(__386__) || defined(__i386__) || defined(__x86_64__) \ + || defined(_M_IX86) || defined(_M_X64) +# define X86_MEMORY 1 +# undef WORDS_BIGENDIAN +# undef WORDS_LITTLEENDIAN +# define WORDS_LITTLEENDIAN 1 +#else +# define X86_MEMORY 0 +#endif + /* Some versions of MSVC have these only with underscores in front */ #ifndef HAVE_SNPRINTF # ifdef HAVE__SNPRINTF @@ -161,20 +208,6 @@ size_t strnlen(const char *s, size_t maxlen); #endif /* - * Define this to 1 for faster performance if this is a littleendian - * platform which can do unaligned memory references. It is safe - * to leave it defined to 0 even if that is true. - */ -#if defined(__386__) || defined(__i386__) || defined(__x86_64__) -# define X86_MEMORY 1 -# ifndef WORDS_LITTLEENDIAN -# define WORDS_LITTLEENDIAN 1 -# endif -#else -# define X86_MEMORY 0 -#endif - -/* * Hints to the compiler that a particular branch of code is more or * less likely to be taken. */ diff --git a/include/hashtbl.h b/include/hashtbl.h index da618c8a..25f2d2d5 100644 --- a/include/hashtbl.h +++ b/include/hashtbl.h @@ -81,5 +81,6 @@ void *hash_iterate(const struct hash_table *head, struct hash_tbl_node **iterator, const char **key); void hash_free(struct hash_table *head); +void hash_free_all(struct hash_table *head, bool free_keys); #endif /* NASM_HASHTBL_H */ diff --git a/include/nasmlib.h b/include/nasmlib.h index 672764c6..8f829ad7 100644 --- a/include/nasmlib.h +++ b/include/nasmlib.h @@ -39,6 +39,7 @@ #define NASM_NASMLIB_H #include "compiler.h" +#include "bytesex.h" #include <ctype.h> #include <stdio.h> @@ -247,103 +248,7 @@ void standard_extension(char *inname, char *outname, char *extension); #define IS_ALIGNED(v, a) (((v) & ((a) - 1)) == 0) /* - * some handy macros that will probably be of use in more than one - * output format: convert integers into little-endian byte packed - * format in memory - */ - -#if X86_MEMORY - -#define WRITECHAR(p,v) \ - do { \ - *(uint8_t *)(p) = (v); \ - (p) += 1; \ - } while (0) - -#define WRITESHORT(p,v) \ - do { \ - *(uint16_t *)(p) = (v); \ - (p) += 2; \ - } while (0) - -#define WRITELONG(p,v) \ - do { \ - *(uint32_t *)(p) = (v); \ - (p) += 4; \ - } while (0) - -#define WRITEDLONG(p,v) \ - do { \ - *(uint64_t *)(p) = (v); \ - (p) += 8; \ - } while (0) - -#define WRITEADDR(p,v,s) \ - do { \ - uint64_t _wa_v = (v); \ - memcpy((p), &_wa_v, (s)); \ - (p) += (s); \ - } while (0) - -#else /* !X86_MEMORY */ - -#define WRITECHAR(p,v) \ - do { \ - uint8_t *_wc_p = (uint8_t *)(p); \ - uint8_t _wc_v = (v); \ - _wc_p[0] = _wc_v; \ - (p) = (void *)(_wc_p + 1); \ - } while (0) - -#define WRITESHORT(p,v) \ - do { \ - uint8_t *_ws_p = (uint8_t *)(p); \ - uint16_t _ws_v = (v); \ - _ws_p[0] = _ws_v; \ - _ws_p[1] = _ws_v >> 8; \ - (p) = (void *)(_ws_p + 2); \ - } while (0) - -#define WRITELONG(p,v) \ - do { \ - uint8_t *_wl_p = (uint8_t *)(p); \ - uint32_t _wl_v = (v); \ - _wl_p[0] = _wl_v; \ - _wl_p[1] = _wl_v >> 8; \ - _wl_p[2] = _wl_v >> 16; \ - _wl_p[3] = _wl_v >> 24; \ - (p) = (void *)(_wl_p + 4); \ - } while (0) - -#define WRITEDLONG(p,v) \ - do { \ - uint8_t *_wq_p = (uint8_t *)(p); \ - uint64_t _wq_v = (v); \ - _wq_p[0] = _wq_v; \ - _wq_p[1] = _wq_v >> 8; \ - _wq_p[2] = _wq_v >> 16; \ - _wq_p[3] = _wq_v >> 24; \ - _wq_p[4] = _wq_v >> 32; \ - _wq_p[5] = _wq_v >> 40; \ - _wq_p[6] = _wq_v >> 48; \ - _wq_p[7] = _wq_v >> 56; \ - (p) = (void *)(_wq_p + 8); \ - } while (0) - -#define WRITEADDR(p,v,s) \ - do { \ - int _wa_s = (s); \ - uint64_t _wa_v = (v); \ - while (_wa_s--) { \ - WRITECHAR(p,_wa_v); \ - _wa_v >>= 8; \ - } \ - } while(0) - -#endif - -/* - * and routines to do the same thing to a file + * Routines to write littleendian data to a file */ #define fwriteint8_t(d,f) putc(d,f) void fwriteint16_t(uint16_t data, FILE * fp); diff --git a/nasmlib/hashtbl.c b/nasmlib/hashtbl.c index 7f8fca63..bc0776b8 100644 --- a/nasmlib/hashtbl.c +++ b/nasmlib/hashtbl.c @@ -222,7 +222,9 @@ void *hash_iterate(const struct hash_table *head, /* * Free the hash itself. Doesn't free the data elements; use - * hash_iterate() to do that first, if needed. + * hash_iterate() to do that first, if needed. This function is normally + * used when the hash data entries are either freed separately, or + * compound objects which can't be freed in a single operation. */ void hash_free(struct hash_table *head) { @@ -230,3 +232,25 @@ void hash_free(struct hash_table *head) head->table = NULL; nasm_free(p); } + +/* + * Frees the hash *and* all data elements. This is applicable only in + * the case where the data element is a single allocation. If the + * second argument is false, the key string is part of the data + * allocation or belongs to an allocation which will be freed + * separately, if it is true the keys are also freed. + */ +void hash_free_all(struct hash_table *head, bool free_keys) +{ + struct hash_tbl_node *iter = NULL; + const char *keyp; + void *d; + + while ((d = hash_iterate(head, &iter, &keyp))) { + nasm_free(d); + if (free_keys) + nasm_free((void *)keyp); + } + + hash_free(head); +} diff --git a/nasmlib/ilog2.c b/nasmlib/ilog2.c index 1bd24dba..7f4624f5 100644 --- a/nasmlib/ilog2.c +++ b/nasmlib/ilog2.c @@ -85,6 +85,14 @@ int ilog2_32(uint32_t v) return __builtin_clz(v) ^ 31; } +#elif defined(HAVE__BITSCANREVERSE) + +int ilog2_32(uint32_t v) +{ + unsigned long ix; + return _BitScanReverse(&ix, v) ? v : 0; +} + #else int ilog2_32(uint32_t v) @@ -124,6 +132,14 @@ int ilog2_64(uint64_t v) return __builtin_clzll(v) ^ 63; } +#elif defined(HAVE__BITSCANREVERSE64) + +int ilog2_64(uint64_t v) +{ + unsigned long ix; + return _BitScanReverse64(&ix, v) ? ix : 0; +} + #else int ilog2_64(uint64_t vv) diff --git a/nasmlib/srcfile.c b/nasmlib/srcfile.c index 7bee0176..6fbe763f 100644 --- a/nasmlib/srcfile.c +++ b/nasmlib/srcfile.c @@ -55,13 +55,7 @@ void src_init(void) void src_free(void) { - struct hash_tbl_node *iter = NULL; - void *dp; - - while ((dp = hash_iterate(&filename_hash, &iter, NULL)) != NULL) - nasm_free(dp); - - hash_free(&filename_hash); + hash_free_all(&filename_hash, false); } /* diff --git a/output/dwarf.h b/output/dwarf.h index cc3c530c..e672819c 100644 --- a/output/dwarf.h +++ b/output/dwarf.h @@ -460,11 +460,30 @@ enum dwarf_language { DW_LANG_ObjC_plus_plus = 0x0011, DW_LANG_UPC = 0x0012, DW_LANG_D = 0x0013, + DW_LANG_Python = 0x0014, + DW_LANG_OpenCL = 0x0015, + DW_LANG_Go = 0x0016, + DW_LANG_Modula3 = 0x0017, + DW_LANG_Haskell = 0x0018, + DW_LANG_C_plus_plus_03 = 0x0019, + DW_LANG_C_plus_plus_11 = 0x001a, + DW_LANG_OCaml = 0x001b, + DW_LANG_Rust = 0x001c, + DW_LANG_C11 = 0x001d, + DW_LANG_Swift = 0x001e, + DW_LANG_Julia = 0x001f, + DW_LANG_Dylan = 0x0020, + DW_LANG_C_plus_plus_14 = 0x0021, + DW_LANG_Fortran03 = 0x0022, + DW_LANG_Fortran08 = 0x0023, + DW_LANG_RenderScript = 0x0024, DW_LANG_Mips_Assembler = 0x8001, DW_LANG_lo_user = 0x8000, - DW_LANG_hi_user = 0xffff + DW_LANG_hi_user = 0xffff, + + DW_LANG_Rust_old = 0x9000 }; enum dwarf_identifier_case { @@ -475,12 +494,17 @@ enum dwarf_identifier_case { }; enum dwarf_calling_conversion { - DW_CC_normal = 0x01, - DW_CC_program = 0x02, - DW_CC_nocall = 0x03, + DW_CC_normal = 0x01, + DW_CC_program = 0x02, + DW_CC_nocall = 0x03, + DW_CC_pass_by_reference = 0x4, + DW_CC_pass_by_value = 0x5, + + DW_CC_lo_user = 0x40, + DW_CC_hi_user = 0xff, - DW_CC_lo_user = 0x40, - DW_CC_hi_user = 0xff + DW_CC_GNU_renesas_sh = 0x40, + DW_CC_GNU_borland_fastcall_i386 = 0x41 }; enum dwarf_inline { @@ -520,6 +544,7 @@ enum dwarf_line_number_extended { DW_LNE_end_sequence = 0x01, DW_LNE_set_address = 0x02, DW_LNE_define_file = 0x03, + DW_LNE_set_discriminator= 0x04, DW_LNE_lo_user = 0x80, DW_LNE_hi_user = 0xff }; diff --git a/output/elf.h b/output/elf.h index 4ae818a9..32f5b47a 100644 --- a/output/elf.h +++ b/output/elf.h @@ -317,6 +317,7 @@ typedef struct elf64_dyn { #define ELF32_R_SYM(x) ((x) >> 8) #define ELF32_R_TYPE(x) ((x) & 0xff) +#define ELF32_R_INFO(s,t) (((Elf32_Word)(s) << 8) + ELF32_R_TYPE(t)) typedef struct elf32_rel { Elf32_Addr r_offset; @@ -351,6 +352,7 @@ enum reloc32_type { #define ELF64_R_SYM(x) ((x) >> 32) #define ELF64_R_TYPE(x) ((x) & 0xffffffff) +#define ELF64_R_INFO(s,t) (((Elf64_Xword)(s) << 32) + ELF64_R_TYPE(t)) typedef struct elf64_rel { Elf64_Addr r_offset; diff --git a/output/outelf.c b/output/outelf.c index 1ee6dacc..2a9bf06d 100644 --- a/output/outelf.c +++ b/output/outelf.c @@ -209,9 +209,9 @@ const struct elf_known_section elf_known_sections[] = { }; /* parse section attributes */ -void elf_section_attrib(char *name, char *attr, int pass, - uint32_t *flags_and, uint32_t *flags_or, - uint64_t *align, int *type) +static void elf_section_attrib(char *name, char *attr, int pass, + uint32_t *flags_and, uint32_t *flags_or, + uint64_t *align, int *type) { char *opt, *val, *next; @@ -1610,46 +1610,60 @@ static void elf_write(void) * Output the ELF header. */ if (is_elf32() || is_elfx32()) { - nasm_write("\177ELF\1\1\1", 7, ofile); - fputc(elf_osabi, ofile); - fputc(elf_abiver, ofile); - fwritezero(7, ofile); - fwriteint16_t(ET_REL, ofile); /* relocatable file */ - fwriteint16_t(is_elf32() ? EM_386 : EM_X86_64, ofile); /* processor ID */ - fwriteint32_t(1L, ofile); /* EV_CURRENT file format version */ - fwriteint32_t(0L, ofile); /* no entry point */ - fwriteint32_t(0L, ofile); /* no program header table */ - fwriteint32_t(0x40L, ofile); /* section headers straight after ELF header plus alignment */ - fwriteint32_t(0L, ofile); /* no special flags */ - fwriteint16_t(0x34, ofile); /* size of ELF header */ - fwriteint16_t(0, ofile); /* no program header table, again */ - fwriteint16_t(0, ofile); /* still no program header table */ - fwriteint16_t(sizeof(Elf32_Shdr), ofile); /* size of section header */ - fwriteint16_t(nsections, ofile); /* number of sections */ - fwriteint16_t(sec_shstrtab, ofile); /* string table section index for section header table */ - - fwriteint32_t(0L, ofile); /* align to 0x40 bytes */ - fwriteint32_t(0L, ofile); - fwriteint32_t(0L, ofile); + Elf32_Ehdr ehdr; + + nasm_zero(ehdr.e_ident); + memcpy(ehdr.e_ident, ELFMAG, SELFMAG); + ehdr.e_ident[EI_CLASS] = ELFCLASS32; + ehdr.e_ident[EI_DATA] = ELFDATA2LSB; + ehdr.e_ident[EI_VERSION] = EV_CURRENT; + ehdr.e_ident[EI_OSABI] = elf_osabi; + ehdr.e_ident[EI_ABIVERSION] = elf_abiver; + + ehdr.e_type = cpu_to_le16(ET_REL); + ehdr.e_machine = cpu_to_le16(is_elf32() ? EM_386 : EM_X86_64); + ehdr.e_version = cpu_to_le16(EV_CURRENT); + ehdr.e_entry = 0; + ehdr.e_phoff = 0; + ehdr.e_shoff = sizeof(Elf64_Ehdr); + ehdr.e_flags = 0; + ehdr.e_ehsize = cpu_to_le16(sizeof(Elf32_Ehdr)); + ehdr.e_phentsize = 0; + ehdr.e_phnum = 0; + ehdr.e_shentsize = cpu_to_le16(sizeof(Elf32_Shdr)); + ehdr.e_shnum = cpu_to_le16(nsections); + ehdr.e_shstrndx = cpu_to_le16(sec_shstrtab); + + nasm_write(&ehdr, sizeof(ehdr), ofile); + fwritezero(sizeof(Elf64_Ehdr) - sizeof(Elf32_Ehdr), ofile); } else { + Elf64_Ehdr ehdr; + nasm_assert(is_elf64()); - nasm_write("\177ELF\2\1\1", 7, ofile); - fputc(elf_osabi, ofile); - fputc(elf_abiver, ofile); - fwritezero(7, ofile); - fwriteint16_t(ET_REL, ofile); /* relocatable file */ - fwriteint16_t(EM_X86_64, ofile); /* processor ID */ - fwriteint32_t(1L, ofile); /* EV_CURRENT file format version */ - fwriteint64_t(0L, ofile); /* no entry point */ - fwriteint64_t(0L, ofile); /* no program header table */ - fwriteint64_t(0x40L, ofile); /* section headers straight after ELF header plus alignment */ - fwriteint32_t(0L, ofile); /* no special flags */ - fwriteint16_t(0x40, ofile); /* size of ELF header */ - fwriteint16_t(0, ofile); /* no program header table, again */ - fwriteint16_t(0, ofile); /* still no program header table */ - fwriteint16_t(sizeof(Elf64_Shdr), ofile); /* size of section header */ - fwriteint16_t(nsections, ofile); /* number of sections */ - fwriteint16_t(sec_shstrtab, ofile); /* string table section index for section header table */ + + nasm_zero(ehdr.e_ident); + memcpy(ehdr.e_ident, ELFMAG, SELFMAG); + ehdr.e_ident[EI_CLASS] = ELFCLASS64; + ehdr.e_ident[EI_DATA] = ELFDATA2LSB; + ehdr.e_ident[EI_VERSION] = EV_CURRENT; + ehdr.e_ident[EI_OSABI] = elf_osabi; + ehdr.e_ident[EI_ABIVERSION] = elf_abiver; + + ehdr.e_type = cpu_to_le16(ET_REL); + ehdr.e_machine = cpu_to_le16(EM_X86_64); + ehdr.e_version = cpu_to_le16(EV_CURRENT); + ehdr.e_entry = 0; + ehdr.e_phoff = 0; + ehdr.e_shoff = sizeof(Elf64_Ehdr); + ehdr.e_flags = 0; + ehdr.e_ehsize = cpu_to_le16(sizeof(Elf64_Ehdr)); + ehdr.e_phentsize = 0; + ehdr.e_phnum = 0; + ehdr.e_shentsize = cpu_to_le16(sizeof(Elf64_Shdr)); + ehdr.e_shnum = cpu_to_le16(nsections); + ehdr.e_shstrndx = cpu_to_le16(sec_shstrtab); + + nasm_write(&ehdr, sizeof(ehdr), ofile); } /* @@ -1665,7 +1679,7 @@ static void elf_write(void) * Now output the section header table. */ - elf_foffs = 0x40 + (is_elf64() ? sizeof(Elf64_Shdr): sizeof(Elf32_Shdr)) * nsections; + elf_foffs = sizeof(Elf64_Ehdr) + (is_elf64() ? sizeof(Elf64_Shdr): sizeof(Elf32_Shdr)) * nsections; align = ALIGN(elf_foffs, SEC_FILEALIGN) - elf_foffs; elf_foffs += align; elf_nsect = 0; @@ -1825,68 +1839,72 @@ static struct SAA *elf_build_symtab(int32_t *len, int32_t *local) { struct SAA *s = saa_init(1L); struct elf_symbol *sym; - uint8_t entry[24], *p; int i; + size_t usize = is_elf64() ? sizeof(Elf64_Sym) : sizeof(Elf32_Sym); + union { + Elf32_Sym sym32; + Elf64_Sym sym64; + } u; + *len = *local = 0; /* - * First, an all-zeros entry, required by the ELF spec. + * Zero symbol first as required by spec. */ - saa_wbytes(s, NULL, is_elf64() ? 24L : 16L); /* null symbol table entry */ - *len += is_elf64() ? 24L : 16L; + saa_wbytes(s, NULL, usize); + *len += usize; (*local)++; /* * Next, an entry for the file name. */ - p = entry; if (is_elf64()) { - WRITELONG(p, 1); /* we know it's 1st entry in strtab */ - WRITESHORT(p, STT_FILE); /* type FILE */ - WRITESHORT(p, SHN_ABS); - WRITEDLONG(p, (uint64_t) 0); /* no value */ - WRITEDLONG(p, (uint64_t) 0); /* no size either */ - saa_wbytes(s, entry, 24L); - *len += 24; - (*local)++; + u.sym64.st_name = cpu_to_le32(1); + u.sym64.st_info = ELF64_ST_INFO(STB_LOCAL, STT_FILE); + u.sym64.st_other = 0; + u.sym64.st_shndx = cpu_to_le16(SHN_ABS); + u.sym64.st_value = 0; + u.sym64.st_size = 0; } else { - WRITELONG(p, 1); /* we know it's 1st entry in strtab */ - WRITELONG(p, 0); /* no value */ - WRITELONG(p, 0); /* no size either */ - WRITESHORT(p, STT_FILE); /* type FILE */ - WRITESHORT(p, SHN_ABS); - saa_wbytes(s, entry, 16L); - *len += 16; - (*local)++; + u.sym32.st_name = cpu_to_le32(1); + u.sym32.st_value = 0; + u.sym32.st_size = 0; + u.sym32.st_info = ELF32_ST_INFO(STB_LOCAL, STT_FILE); + u.sym32.st_other = 0; + u.sym32.st_shndx = cpu_to_le16(SHN_ABS); } + saa_wbytes(s, &u, usize); + *len += usize; + (*local)++; + /* * Now some standard symbols defining the segments, for relocation * purposes. */ if (is_elf64()) { + u.sym64.st_name = 0; + u.sym64.st_other = 0; + u.sym64.st_value = 0; + u.sym64.st_size = 0; for (i = 1; i <= nsects; i++) { - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, i); /* section id */ - WRITEDLONG(p, (uint64_t) 0); /* offset zero */ - WRITEDLONG(p, (uint64_t) 0); /* size zero */ - saa_wbytes(s, entry, 24L); - *len += 24; + u.sym64.st_info = ELF64_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym64.st_shndx = cpu_to_le16(i); + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; } } else { + u.sym32.st_name = 0; + u.sym32.st_value = 0; + u.sym32.st_size = 0; + u.sym32.st_other = 0; for (i = 1; i <= nsects; i++) { - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITELONG(p, 0); /* offset zero */ - WRITELONG(p, 0); /* size zero */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, i); /* section id */ - saa_wbytes(s, entry, 16L); - *len += 16; + u.sym32.st_info = ELF32_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym32.st_shndx = cpu_to_le16(i); + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; } } @@ -1899,15 +1917,14 @@ static struct SAA *elf_build_symtab(int32_t *len, int32_t *local) while ((sym = saa_rstruct(syms))) { if (sym->type & SYM_GLOBAL) continue; - p = entry; - WRITELONG(p, sym->strpos); /* index into symbol string table */ - WRITECHAR(p, sym->type); /* type and binding */ - WRITECHAR(p, sym->other); /* visibility */ - WRITESHORT(p, sym->section); /* index into section header table */ - WRITEDLONG(p, (int64_t)sym->symv.key); /* value of symbol */ - WRITEDLONG(p, (int64_t)sym->size); /* size of symbol */ - saa_wbytes(s, entry, 24L); - *len += 24; + u.sym64.st_name = cpu_to_le32(sym->strpos); + u.sym64.st_info = sym->type; + u.sym64.st_other = sym->other; + u.sym64.st_shndx = cpu_to_le16(sym->section); + u.sym64.st_value = cpu_to_le64(sym->symv.key); + u.sym64.st_size = cpu_to_le64(sym->size); + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; } /* @@ -1916,49 +1933,48 @@ static struct SAA *elf_build_symtab(int32_t *len, int32_t *local) */ if (dfmt_is_dwarf()) { dwarf_infosym = *local; - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, debug_info); /* section id */ - WRITEDLONG(p, (uint64_t) 0); /* offset zero */ - WRITEDLONG(p, (uint64_t) 0); /* size zero */ - saa_wbytes(s, entry, 24L); - *len += 24; + u.sym64.st_name = 0; + u.sym64.st_info = ELF64_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym64.st_other = 0; + u.sym64.st_shndx = cpu_to_le16(debug_info); + u.sym64.st_value = 0; + u.sym64.st_size = 0; + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; dwarf_abbrevsym = *local; - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, debug_abbrev); /* section id */ - WRITEDLONG(p, (uint64_t) 0); /* offset zero */ - WRITEDLONG(p, (uint64_t) 0); /* size zero */ - saa_wbytes(s, entry, 24L); - *len += 24; + u.sym64.st_name = 0; + u.sym64.st_info = ELF64_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym64.st_other = 0; + u.sym64.st_shndx = cpu_to_le16(debug_abbrev); + u.sym64.st_value = 0; + u.sym64.st_size = 0; + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; dwarf_linesym = *local; - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, debug_line); /* section id */ - WRITEDLONG(p, (uint64_t) 0); /* offset zero */ - WRITEDLONG(p, (uint64_t) 0); /* size zero */ - saa_wbytes(s, entry, 24L); - *len += 24; + u.sym64.st_name = 0; + u.sym64.st_info = ELF64_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym64.st_other = 0; + u.sym64.st_shndx = cpu_to_le16(debug_line); + u.sym64.st_value = 0; + u.sym64.st_size = 0; + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; } } else { while ((sym = saa_rstruct(syms))) { if (sym->type & SYM_GLOBAL) continue; - p = entry; - WRITELONG(p, sym->strpos); - WRITELONG(p, sym->symv.key); - WRITELONG(p, sym->size); - WRITECHAR(p, sym->type); /* type and binding */ - WRITECHAR(p, sym->other); /* visibility */ - WRITESHORT(p, sym->section); - saa_wbytes(s, entry, 16L); - *len += 16; + u.sym32.st_name = cpu_to_le32(sym->strpos); + u.sym32.st_value = cpu_to_le32(sym->symv.key); + u.sym32.st_size = cpu_to_le32(sym->size); + u.sym32.st_info = sym->type; + u.sym32.st_other = sym->other; + u.sym32.st_shndx = cpu_to_le16(sym->section); + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; } /* @@ -1967,34 +1983,34 @@ static struct SAA *elf_build_symtab(int32_t *len, int32_t *local) */ if (dfmt_is_dwarf()) { dwarf_infosym = *local; - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITELONG(p, (uint32_t) 0); /* offset zero */ - WRITELONG(p, (uint32_t) 0); /* size zero */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, sec_debug_info); /* section id */ - saa_wbytes(s, entry, 16L); - *len += 16; + u.sym32.st_name = 0; + u.sym32.st_value = 0; + u.sym32.st_size = 0; + u.sym32.st_info = ELF32_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym32.st_other = 0; + u.sym32.st_shndx = cpu_to_le16(sec_debug_info); + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; dwarf_abbrevsym = *local; - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITELONG(p, (uint32_t) 0); /* offset zero */ - WRITELONG(p, (uint32_t) 0); /* size zero */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, sec_debug_abbrev); /* section id */ - saa_wbytes(s, entry, 16L); - *len += 16; + u.sym32.st_name = 0; + u.sym32.st_value = 0; + u.sym32.st_size = 0; + u.sym32.st_info = ELF32_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym32.st_other = 0; + u.sym32.st_shndx = cpu_to_le16(sec_debug_abbrev); + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; dwarf_linesym = *local; - p = entry; - WRITELONG(p, 0); /* no symbol name */ - WRITELONG(p, (uint32_t) 0); /* offset zero */ - WRITELONG(p, (uint32_t) 0); /* size zero */ - WRITESHORT(p, STT_SECTION); /* type, binding, and visibility */ - WRITESHORT(p, sec_debug_line); /* section id */ - saa_wbytes(s, entry, 16L); - *len += 16; + u.sym32.st_name = 0; + u.sym32.st_value = 0; + u.sym32.st_size = 0; + u.sym32.st_info = ELF32_ST_INFO(STB_LOCAL, STT_SECTION); + u.sym32.st_other = 0; + u.sym32.st_shndx = cpu_to_le16(sec_debug_line); + saa_wbytes(s, &u, usize); + *len += usize; (*local)++; } } @@ -2007,29 +2023,27 @@ static struct SAA *elf_build_symtab(int32_t *len, int32_t *local) while ((sym = saa_rstruct(syms))) { if (!(sym->type & SYM_GLOBAL)) continue; - p = entry; - WRITELONG(p, sym->strpos); - WRITECHAR(p, sym->type); /* type and binding */ - WRITECHAR(p, sym->other); /* visibility */ - WRITESHORT(p, sym->section); - WRITEDLONG(p, (int64_t)sym->symv.key); - WRITEDLONG(p, (int64_t)sym->size); - saa_wbytes(s, entry, 24L); - *len += 24; + u.sym64.st_name = cpu_to_le32(sym->strpos); + u.sym64.st_info = sym->type; + u.sym64.st_other = sym->other; + u.sym64.st_shndx = cpu_to_le16(sym->section); + u.sym64.st_value = cpu_to_le64(sym->symv.key); + u.sym64.st_size = cpu_to_le64(sym->size); + saa_wbytes(s, &u, usize); + *len += usize; } } else { while ((sym = saa_rstruct(syms))) { if (!(sym->type & SYM_GLOBAL)) continue; - p = entry; - WRITELONG(p, sym->strpos); - WRITELONG(p, sym->symv.key); - WRITELONG(p, sym->size); - WRITECHAR(p, sym->type); /* type and binding */ - WRITECHAR(p, sym->other); /* visibility */ - WRITESHORT(p, sym->section); - saa_wbytes(s, entry, 16L); - *len += 16; + u.sym32.st_name = cpu_to_le32(sym->strpos); + u.sym32.st_value = cpu_to_le32(sym->symv.key); + u.sym32.st_size = cpu_to_le32(sym->size); + u.sym32.st_info = sym->type; + u.sym32.st_other = sym->other; + u.sym32.st_shndx = cpu_to_le16(sym->section); + saa_wbytes(s, &u, usize); + *len += usize; } } @@ -2039,9 +2053,16 @@ static struct SAA *elf_build_symtab(int32_t *len, int32_t *local) static struct SAA *elf_build_reltab(uint64_t *len, struct elf_reloc *r) { struct SAA *s; - uint8_t *p, entry[24]; int32_t global_offset; + size_t usize = is_elf64() ? sizeof(Elf64_Rela) : + (is_elfx32() ? sizeof(Elf32_Rela) : sizeof(Elf32_Rel)); + union { + Elf32_Rel rel32; + Elf32_Rela rela32; + Elf64_Rela rela64; + } u; + if (!r) return NULL; @@ -2062,11 +2083,10 @@ static struct SAA *elf_build_reltab(uint64_t *len, struct elf_reloc *r) if (sym >= GLOBAL_TEMP_BASE) sym += global_offset; - p = entry; - WRITELONG(p, r->address); - WRITELONG(p, (sym << 8) + r->type); - saa_wbytes(s, entry, 8L); - *len += 8; + u.rel32.r_offset = cpu_to_le32(r->address); + u.rel32.r_info = cpu_to_le32(ELF32_R_INFO(sym, r->type)); + saa_wbytes(s, &u, usize); + *len += usize; r = r->next; } @@ -2077,12 +2097,11 @@ static struct SAA *elf_build_reltab(uint64_t *len, struct elf_reloc *r) if (sym >= GLOBAL_TEMP_BASE) sym += global_offset; - p = entry; - WRITELONG(p, r->address); - WRITELONG(p, (sym << 8) + r->type); - WRITELONG(p, r->offset); - saa_wbytes(s, entry, 12L); - *len += 12; + u.rela32.r_offset = cpu_to_le32(r->address); + u.rela32.r_info = cpu_to_le32(ELF32_R_INFO(sym, r->type)); + u.rela32.r_addend = cpu_to_le32(r->offset); + saa_wbytes(s, &u, usize); + *len += usize; r = r->next; } @@ -2094,13 +2113,11 @@ static struct SAA *elf_build_reltab(uint64_t *len, struct elf_reloc *r) if (sym >= GLOBAL_TEMP_BASE) sym += global_offset; - p = entry; - WRITEDLONG(p, r->address); - WRITELONG(p, r->type); - WRITELONG(p, sym); - WRITEDLONG(p, r->offset); - saa_wbytes(s, entry, 24L); - *len += 24; + u.rela64.r_offset = cpu_to_le64(r->address); + u.rela64.r_info = cpu_to_le64(ELF64_R_INFO(sym, r->type)); + u.rela64.r_addend = cpu_to_le64(r->offset); + saa_wbytes(s, &u, usize); + *len += usize; r = r->next; } @@ -2113,39 +2130,47 @@ static void elf_section_header(int name, int type, uint64_t flags, void *data, bool is_saa, uint64_t datalen, int link, int info, int align, int eltsize) { + union { + Elf32_Shdr shdr32; + Elf64_Shdr shdr64; + } shdr; + elf_sects[elf_nsect].data = data; elf_sects[elf_nsect].len = datalen; elf_sects[elf_nsect].is_saa = is_saa; elf_nsect++; if (is_elf32() || is_elfx32()) { - fwriteint32_t((int32_t)name, ofile); - fwriteint32_t((int32_t)type, ofile); - fwriteint32_t((int32_t)flags, ofile); - fwriteint32_t(0L, ofile); /* no address, ever, in object files */ - fwriteint32_t(type == 0 ? 0L : elf_foffs, ofile); - fwriteint32_t(datalen, ofile); + shdr.shdr32.sh_name = cpu_to_le32(name); + shdr.shdr32.sh_type = cpu_to_le32(type); + shdr.shdr32.sh_flags = cpu_to_le32(flags); + shdr.shdr32.sh_addr = 0; + shdr.shdr32.sh_offset = cpu_to_le32(type == SHT_NULL ? 0 : elf_foffs); + shdr.shdr32.sh_size = cpu_to_le32(datalen); if (data) elf_foffs += ALIGN(datalen, SEC_FILEALIGN); - fwriteint32_t((int32_t)link, ofile); - fwriteint32_t((int32_t)info, ofile); - fwriteint32_t((int32_t)align, ofile); - fwriteint32_t((int32_t)eltsize, ofile); + shdr.shdr32.sh_link = cpu_to_le32(link); + shdr.shdr32.sh_info = cpu_to_le32(info); + shdr.shdr32.sh_addralign = cpu_to_le32(align); + shdr.shdr32.sh_entsize = cpu_to_le32(eltsize); } else { nasm_assert(is_elf64()); - fwriteint32_t((int32_t)name, ofile); - fwriteint32_t((int32_t)type, ofile); - fwriteint64_t((int64_t)flags, ofile); - fwriteint64_t(0L, ofile); /* no address, ever, in object files */ - fwriteint64_t(type == 0 ? 0L : elf_foffs, ofile); - fwriteint64_t(datalen, ofile); + + shdr.shdr64.sh_name = cpu_to_le32(name); + shdr.shdr64.sh_type = cpu_to_le32(type); + shdr.shdr64.sh_flags = cpu_to_le64(flags); + shdr.shdr64.sh_addr = 0; + shdr.shdr64.sh_offset = cpu_to_le64(type == SHT_NULL ? 0 : elf_foffs); + shdr.shdr64.sh_size = cpu_to_le32(datalen); if (data) elf_foffs += ALIGN(datalen, SEC_FILEALIGN); - fwriteint32_t((int32_t)link, ofile); - fwriteint32_t((int32_t)info, ofile); - fwriteint64_t((int64_t)align, ofile); - fwriteint64_t((int64_t)eltsize, ofile); + shdr.shdr64.sh_link = cpu_to_le32(link); + shdr.shdr64.sh_info = cpu_to_le32(info); + shdr.shdr64.sh_addralign = cpu_to_le64(align); + shdr.shdr64.sh_entsize = cpu_to_le64(eltsize); } + + nasm_write(&shdr, is_elf64() ? sizeof(shdr.shdr64) : sizeof(shdr.shdr32), ofile); } static void elf_write_sections(void) diff --git a/output/outelf.h b/output/outelf.h index 0f718d9e..8eef73ae 100644 --- a/output/outelf.h +++ b/output/outelf.h @@ -103,10 +103,6 @@ struct stabentry { extern uint8_t elf_osabi; extern uint8_t elf_abiver; -void elf_section_attrib(char *name, char *attr, int pass, - uint32_t *flags_and, uint32_t *flags_or, - uint64_t *align, int *type); - #define WRITE_STAB(p,n_strx,n_type,n_other,n_desc,n_value) \ do { \ WRITELONG(p, n_strx); \ diff --git a/output/strtbl.c b/output/strtbl.c new file mode 100644 index 00000000..23b0d118 --- /dev/null +++ b/output/strtbl.c @@ -0,0 +1,117 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 2017 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +/* + * Common string table handling + * + * A number of output formats use a "string table"; a container for + * a number of strings which may be reused at will. This implements + * a string table which eliminates duplicates and returns the index + * into the string table when queried. + */ + +#include "compiler.h" + +#include "nasm.h" +#include "nasmlib.h" +#include "error.h" +#include "strtbl.h" + +struct strtbl_entry { + size_t index; + size_t bytes; + char str[1]; +}; + +void strtbl_init(struct nasm_strtbl *tbl) +{ + tbl->size = 0; + hash_init(&tbl->hash, HASH_LARGE); + strtbl_add(tbl, ""); /* Index 0 is always an empty string */ +} + +void strtbl_free(struct nasm_strtbl *tbl) +{ + hash_free_all(&tbl->hash, false); +} + +size_t strtbl_add(struct nasm_strtbl *tbl, const char *str) +{ + void **sep; + struct strtbl_entry *se; + struct hash_insert hi; + + sep = hash_find(&tbl->hash, str, &hi); + if (sep) { + se = *sep; + } else { + size_t bytes = strlen(str) + 1; + + se = nasm_malloc(sizeof(struct strtbl_entry)-1+bytes); + se->index = tbl->size; + tbl->size += bytes; + se->bytes = bytes; + memcpy(se->str, str, bytes); + + hash_add(&hi, se->str, se); + } + + return se->index; +} + +size_t strtbl_find(struct nasm_strtbl *tbl, const char *str) +{ + void **sep; + struct strtbl_entry *se; + + sep = hash_find(&tbl->hash, str, NULL); + if (sep) { + se = *sep; + return se->index; + } else { + return STRTBL_NONE; + } +} + +/* This create a linearized buffer containing the actual string table */ +void *strtbl_generate(const struct nasm_strtbl *tbl) +{ + char *buf = nasm_malloc(strtbl_size(tbl)); + struct hash_tbl_node *iter = NULL; + struct strtbl_entry *se; + + while ((se = hash_iterate(&tbl->hash, &iter, NULL))) + memcpy(buf + se->index, se->str, se->bytes); + + return buf; +} diff --git a/output/strtbl.h b/output/strtbl.h new file mode 100644 index 00000000..12771e4e --- /dev/null +++ b/output/strtbl.h @@ -0,0 +1,57 @@ +/* ----------------------------------------------------------------------- * + * + * Copyright 2017 The NASM Authors - All Rights Reserved + * See the file AUTHORS included with the NASM distribution for + * the specific copyright holders. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following + * conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ----------------------------------------------------------------------- */ + +#ifndef NASM_STRTBL_H +#define NASM_STRTBL_H + +#include "compiler.h" +#include "hashtbl.h" + +struct nasm_strtbl { + size_t size; + struct hash_table hash; +}; + +#define STRTBL_NONE ((size_t)-1) + +void strtbl_init(struct nasm_strtbl *tbl); +void strtbl_free(struct nasm_strtbl *tbl); +size_t strtbl_find(struct nasm_strtbl *tbl, const char *str); +size_t strtbl_add(struct nasm_strtbl *tbl, const char *str); +static inline size_t strtbl_size(const struct nasm_strtbl *tbl) +{ + return tbl->size; +} +void * safe_alloc strtbl_generate(const struct nasm_strtbl *tbl); + +#endif /* NASM_STRTBL_H */ |