diff options
author | H. Peter Anvin <hpa@zytor.com> | 2017-04-24 00:23:03 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2017-04-24 00:23:03 -0700 |
commit | bf0bcef3d4975ab964d573fecbe2a8b2960b8120 (patch) | |
tree | a35d875ff8708a3c52f7e70fe55956603b2c3257 /Mkfiles | |
parent | e0172d58706ccbe740bd153c38da42d18f306ade (diff) | |
download | nasm-bf0bcef3d4975ab964d573fecbe2a8b2960b8120.tar.gz |
output: generic string table implementation
Several output formats use "string tables", which is a collection of
null-terminated (C) strings which are referenced by a byte offset into
the string table. A single string can be referenced an arbitrary
number of times.
As this is quite simple to implement with a hash table, we do exactly
that.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'Mkfiles')
-rw-r--r-- | Mkfiles/msvc.mak | 6 | ||||
-rw-r--r-- | Mkfiles/openwcom.mak | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index b8b6d3ad..44aabb5e 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) \ @@ -645,6 +646,11 @@ output\outrdf2.$(O): output\outrdf2.c asm\directiv.h asm\pptok.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\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 diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index 516c3f03..9e6ee470 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) & @@ -619,6 +620,11 @@ output/outrdf2.$(O): output/outrdf2.c asm/directiv.h asm/pptok.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/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 |