laag-nasm 2.13.03.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +57 -0
- data/LICENSE.txt +29 -0
- data/README.org +34 -0
- data/ext/laag/nasm/extconf.rb +16 -0
- data/laag-nasm.gemspec +20 -0
- data/lib/laag/nasm.rb +29 -0
- data/patches/Makefile.in.patch +13 -0
- data/vendor/repo.or.cz/nasm/.gitignore +102 -0
- data/vendor/repo.or.cz/nasm/AUTHORS +137 -0
- data/vendor/repo.or.cz/nasm/CHANGES +2 -0
- data/vendor/repo.or.cz/nasm/ChangeLog +2905 -0
- data/vendor/repo.or.cz/nasm/INSTALL +102 -0
- data/vendor/repo.or.cz/nasm/LICENSE +29 -0
- data/vendor/repo.or.cz/nasm/Makefile.in +855 -0
- data/vendor/repo.or.cz/nasm/Mkfiles/README +46 -0
- data/vendor/repo.or.cz/nasm/Mkfiles/msvc.mak +732 -0
- data/vendor/repo.or.cz/nasm/Mkfiles/openwcom.mak +706 -0
- data/vendor/repo.or.cz/nasm/README +23 -0
- data/vendor/repo.or.cz/nasm/SubmittingPatches +116 -0
- data/vendor/repo.or.cz/nasm/TODO +376 -0
- data/vendor/repo.or.cz/nasm/aclocal.m4 +139 -0
- data/vendor/repo.or.cz/nasm/asm/assemble.c +2957 -0
- data/vendor/repo.or.cz/nasm/asm/assemble.h +54 -0
- data/vendor/repo.or.cz/nasm/asm/directiv.c +566 -0
- data/vendor/repo.or.cz/nasm/asm/directiv.dat +92 -0
- data/vendor/repo.or.cz/nasm/asm/error.c +202 -0
- data/vendor/repo.or.cz/nasm/asm/eval.c +1014 -0
- data/vendor/repo.or.cz/nasm/asm/eval.h +49 -0
- data/vendor/repo.or.cz/nasm/asm/exprdump.c +79 -0
- data/vendor/repo.or.cz/nasm/asm/exprlib.c +200 -0
- data/vendor/repo.or.cz/nasm/asm/float.c +952 -0
- data/vendor/repo.or.cz/nasm/asm/float.h +54 -0
- data/vendor/repo.or.cz/nasm/asm/labels.c +540 -0
- data/vendor/repo.or.cz/nasm/asm/listing.c +346 -0
- data/vendor/repo.or.cz/nasm/asm/listing.h +113 -0
- data/vendor/repo.or.cz/nasm/asm/nasm.c +1855 -0
- data/vendor/repo.or.cz/nasm/asm/parser.c +1167 -0
- data/vendor/repo.or.cz/nasm/asm/parser.h +45 -0
- data/vendor/repo.or.cz/nasm/asm/phash.pl +109 -0
- data/vendor/repo.or.cz/nasm/asm/pptok.dat +96 -0
- data/vendor/repo.or.cz/nasm/asm/pptok.pl +271 -0
- data/vendor/repo.or.cz/nasm/asm/pragma.c +218 -0
- data/vendor/repo.or.cz/nasm/asm/preproc-nop.c +188 -0
- data/vendor/repo.or.cz/nasm/asm/preproc.c +5459 -0
- data/vendor/repo.or.cz/nasm/asm/preproc.h +55 -0
- data/vendor/repo.or.cz/nasm/asm/quote.c +479 -0
- data/vendor/repo.or.cz/nasm/asm/quote.h +44 -0
- data/vendor/repo.or.cz/nasm/asm/rdstrnum.c +68 -0
- data/vendor/repo.or.cz/nasm/asm/segalloc.c +51 -0
- data/vendor/repo.or.cz/nasm/asm/stdscan.c +345 -0
- data/vendor/repo.or.cz/nasm/asm/stdscan.h +49 -0
- data/vendor/repo.or.cz/nasm/asm/strfunc.c +359 -0
- data/vendor/repo.or.cz/nasm/asm/tokens.dat +135 -0
- data/vendor/repo.or.cz/nasm/asm/tokhash.pl +284 -0
- data/vendor/repo.or.cz/nasm/autogen.sh +9 -0
- data/vendor/repo.or.cz/nasm/common/common.c +122 -0
- data/vendor/repo.or.cz/nasm/config/msvc.h +192 -0
- data/vendor/repo.or.cz/nasm/config/unknown.h +51 -0
- data/vendor/repo.or.cz/nasm/config/watcom.h +74 -0
- data/vendor/repo.or.cz/nasm/configure.ac +253 -0
- data/vendor/repo.or.cz/nasm/contrib/MSVC6.txt +25 -0
- data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.README +16 -0
- data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.rules +79 -0
- data/vendor/repo.or.cz/nasm/disasm/disasm.c +1735 -0
- data/vendor/repo.or.cz/nasm/disasm/disasm.h +49 -0
- data/vendor/repo.or.cz/nasm/disasm/ndisasm.c +397 -0
- data/vendor/repo.or.cz/nasm/disasm/sync.c +132 -0
- data/vendor/repo.or.cz/nasm/disasm/sync.h +45 -0
- data/vendor/repo.or.cz/nasm/doc/Makefile.in +86 -0
- data/vendor/repo.or.cz/nasm/doc/README +20 -0
- data/vendor/repo.or.cz/nasm/doc/afmmetrics.ph +102 -0
- data/vendor/repo.or.cz/nasm/doc/changes.src +2588 -0
- data/vendor/repo.or.cz/nasm/doc/findfont.ph +180 -0
- data/vendor/repo.or.cz/nasm/doc/genps.pl +1294 -0
- data/vendor/repo.or.cz/nasm/doc/inslist.pl +108 -0
- data/vendor/repo.or.cz/nasm/doc/internal.doc +290 -0
- data/vendor/repo.or.cz/nasm/doc/local.css +1 -0
- data/vendor/repo.or.cz/nasm/doc/nasmdoc.css +150 -0
- data/vendor/repo.or.cz/nasm/doc/nasmdoc.src +8309 -0
- data/vendor/repo.or.cz/nasm/doc/nasmlogo.eps +212 -0
- data/vendor/repo.or.cz/nasm/doc/nasmlogw.png +0 -0
- data/vendor/repo.or.cz/nasm/doc/psfonts.ph +53 -0
- data/vendor/repo.or.cz/nasm/doc/pspdf.pl +98 -0
- data/vendor/repo.or.cz/nasm/doc/pswidth.ph +25 -0
- data/vendor/repo.or.cz/nasm/doc/rdsrc.pl +1111 -0
- data/vendor/repo.or.cz/nasm/doc/ttfmetrics.ph +63 -0
- data/vendor/repo.or.cz/nasm/headers/c +33 -0
- data/vendor/repo.or.cz/nasm/headers/doc +33 -0
- data/vendor/repo.or.cz/nasm/headers/mac +33 -0
- data/vendor/repo.or.cz/nasm/headers/perl +33 -0
- data/vendor/repo.or.cz/nasm/include/compiler.h +277 -0
- data/vendor/repo.or.cz/nasm/include/disp8.h +45 -0
- data/vendor/repo.or.cz/nasm/include/error.h +135 -0
- data/vendor/repo.or.cz/nasm/include/hashtbl.h +85 -0
- data/vendor/repo.or.cz/nasm/include/iflag.h +173 -0
- data/vendor/repo.or.cz/nasm/include/insns.h +76 -0
- data/vendor/repo.or.cz/nasm/include/labels.h +60 -0
- data/vendor/repo.or.cz/nasm/include/md5.h +21 -0
- data/vendor/repo.or.cz/nasm/include/nasm.h +1246 -0
- data/vendor/repo.or.cz/nasm/include/nasmint.h +219 -0
- data/vendor/repo.or.cz/nasm/include/nasmlib.h +524 -0
- data/vendor/repo.or.cz/nasm/include/opflags.h +271 -0
- data/vendor/repo.or.cz/nasm/include/perfhash.h +52 -0
- data/vendor/repo.or.cz/nasm/include/raa.h +46 -0
- data/vendor/repo.or.cz/nasm/include/rbtree.h +51 -0
- data/vendor/repo.or.cz/nasm/include/rdoff.h +169 -0
- data/vendor/repo.or.cz/nasm/include/saa.h +94 -0
- data/vendor/repo.or.cz/nasm/include/strlist.h +55 -0
- data/vendor/repo.or.cz/nasm/include/tables.h +70 -0
- data/vendor/repo.or.cz/nasm/include/ver.h +47 -0
- data/vendor/repo.or.cz/nasm/install-sh +250 -0
- data/vendor/repo.or.cz/nasm/macros/altreg.mac +107 -0
- data/vendor/repo.or.cz/nasm/macros/fp.mac +54 -0
- data/vendor/repo.or.cz/nasm/macros/ifunc.mac +48 -0
- data/vendor/repo.or.cz/nasm/macros/macros.pl +294 -0
- data/vendor/repo.or.cz/nasm/macros/smartalign.mac +189 -0
- data/vendor/repo.or.cz/nasm/macros/standard.mac +226 -0
- data/vendor/repo.or.cz/nasm/misc/Doxyfile +752 -0
- data/vendor/repo.or.cz/nasm/misc/Nindent +18 -0
- data/vendor/repo.or.cz/nasm/misc/README +2 -0
- data/vendor/repo.or.cz/nasm/misc/c16.mac +82 -0
- data/vendor/repo.or.cz/nasm/misc/c32.mac +52 -0
- data/vendor/repo.or.cz/nasm/misc/crcgen.c +44 -0
- data/vendor/repo.or.cz/nasm/misc/exebin.mac +57 -0
- data/vendor/repo.or.cz/nasm/misc/exebin2.mac +114 -0
- data/vendor/repo.or.cz/nasm/misc/fmtinsns.pl +40 -0
- data/vendor/repo.or.cz/nasm/misc/genfma.pl +63 -0
- data/vendor/repo.or.cz/nasm/misc/hints.txt +26 -0
- data/vendor/repo.or.cz/nasm/misc/magic +6 -0
- data/vendor/repo.or.cz/nasm/misc/myC32.mac +121 -0
- data/vendor/repo.or.cz/nasm/misc/nasm.sl +320 -0
- data/vendor/repo.or.cz/nasm/misc/nasmstab +296 -0
- data/vendor/repo.or.cz/nasm/misc/omfdump.c +517 -0
- data/vendor/repo.or.cz/nasm/misc/pmw.bat +9 -0
- data/vendor/repo.or.cz/nasm/misc/proc32.ash +441 -0
- data/vendor/repo.or.cz/nasm/misc/scitech.mac +1223 -0
- data/vendor/repo.or.cz/nasm/misc/xcrcgen.c +80 -0
- data/vendor/repo.or.cz/nasm/nasm.spec.in +83 -0
- data/vendor/repo.or.cz/nasm/nasm.spec.sed +3 -0
- data/vendor/repo.or.cz/nasm/nasm.txt +306 -0
- data/vendor/repo.or.cz/nasm/nasmlib/badenum.c +43 -0
- data/vendor/repo.or.cz/nasm/nasmlib/bsi.c +77 -0
- data/vendor/repo.or.cz/nasm/nasmlib/crc64.c +189 -0
- data/vendor/repo.or.cz/nasm/nasmlib/file.c +259 -0
- data/vendor/repo.or.cz/nasm/nasmlib/file.h +128 -0
- data/vendor/repo.or.cz/nasm/nasmlib/filename.c +69 -0
- data/vendor/repo.or.cz/nasm/nasmlib/hashtbl.c +232 -0
- data/vendor/repo.or.cz/nasm/nasmlib/ilog2.c +168 -0
- data/vendor/repo.or.cz/nasm/nasmlib/malloc.c +108 -0
- data/vendor/repo.or.cz/nasm/nasmlib/md5c.c +247 -0
- data/vendor/repo.or.cz/nasm/nasmlib/mmap.c +139 -0
- data/vendor/repo.or.cz/nasm/nasmlib/path.c +186 -0
- data/vendor/repo.or.cz/nasm/nasmlib/perfhash.c +55 -0
- data/vendor/repo.or.cz/nasm/nasmlib/perfhash.pl +362 -0
- data/vendor/repo.or.cz/nasm/nasmlib/raa.c +173 -0
- data/vendor/repo.or.cz/nasm/nasmlib/rbtree.c +119 -0
- data/vendor/repo.or.cz/nasm/nasmlib/readnum.c +172 -0
- data/vendor/repo.or.cz/nasm/nasmlib/realpath.c +135 -0
- data/vendor/repo.or.cz/nasm/nasmlib/saa.c +431 -0
- data/vendor/repo.or.cz/nasm/nasmlib/srcfile.c +128 -0
- data/vendor/repo.or.cz/nasm/nasmlib/string.c +242 -0
- data/vendor/repo.or.cz/nasm/nasmlib/strlist.c +100 -0
- data/vendor/repo.or.cz/nasm/nasmlib/ver.c +51 -0
- data/vendor/repo.or.cz/nasm/nasmlib/zerobuf.c +42 -0
- data/vendor/repo.or.cz/nasm/ndisasm.txt +94 -0
- data/vendor/repo.or.cz/nasm/nsis/NASMMultiUser.nsh +478 -0
- data/vendor/repo.or.cz/nasm/nsis/getpearch.pl +76 -0
- data/vendor/repo.or.cz/nasm/nsis/nasm-un.ico +0 -0
- data/vendor/repo.or.cz/nasm/nsis/nasm.ico +0 -0
- data/vendor/repo.or.cz/nasm/nsis/nasm.nsi +241 -0
- data/vendor/repo.or.cz/nasm/output/codeview.c +814 -0
- data/vendor/repo.or.cz/nasm/output/dwarf.h +566 -0
- data/vendor/repo.or.cz/nasm/output/elf.h +537 -0
- data/vendor/repo.or.cz/nasm/output/legacy.c +112 -0
- data/vendor/repo.or.cz/nasm/output/nulldbg.c +93 -0
- data/vendor/repo.or.cz/nasm/output/nullout.c +51 -0
- data/vendor/repo.or.cz/nasm/output/outaout.c +954 -0
- data/vendor/repo.or.cz/nasm/output/outaout.mac +37 -0
- data/vendor/repo.or.cz/nasm/output/outas86.c +650 -0
- data/vendor/repo.or.cz/nasm/output/outas86.mac +37 -0
- data/vendor/repo.or.cz/nasm/output/outbin.c +1713 -0
- data/vendor/repo.or.cz/nasm/output/outbin.mac +40 -0
- data/vendor/repo.or.cz/nasm/output/outcoff.c +1242 -0
- data/vendor/repo.or.cz/nasm/output/outcoff.mac +43 -0
- data/vendor/repo.or.cz/nasm/output/outdbg.c +425 -0
- data/vendor/repo.or.cz/nasm/output/outelf.c +3370 -0
- data/vendor/repo.or.cz/nasm/output/outelf.h +156 -0
- data/vendor/repo.or.cz/nasm/output/outelf.mac +41 -0
- data/vendor/repo.or.cz/nasm/output/outform.c +120 -0
- data/vendor/repo.or.cz/nasm/output/outform.h +379 -0
- data/vendor/repo.or.cz/nasm/output/outieee.c +1528 -0
- data/vendor/repo.or.cz/nasm/output/outlib.c +58 -0
- data/vendor/repo.or.cz/nasm/output/outlib.h +63 -0
- data/vendor/repo.or.cz/nasm/output/outmacho.c +2387 -0
- data/vendor/repo.or.cz/nasm/output/outmacho.mac +49 -0
- data/vendor/repo.or.cz/nasm/output/outobj.c +2725 -0
- data/vendor/repo.or.cz/nasm/output/outobj.mac +49 -0
- data/vendor/repo.or.cz/nasm/output/outrdf.mac +40 -0
- data/vendor/repo.or.cz/nasm/output/outrdf2.c +791 -0
- data/vendor/repo.or.cz/nasm/output/outrdf2.mac +43 -0
- data/vendor/repo.or.cz/nasm/output/pecoff.h +532 -0
- data/vendor/repo.or.cz/nasm/output/stabs.h +144 -0
- data/vendor/repo.or.cz/nasm/perllib/crc64.ph +158 -0
- data/vendor/repo.or.cz/nasm/perllib/gensv.pl +34 -0
- data/vendor/repo.or.cz/nasm/perllib/phash.ph +200 -0
- data/vendor/repo.or.cz/nasm/perllib/random_sv_vectors.ph +67 -0
- data/vendor/repo.or.cz/nasm/rdoff/README +185 -0
- data/vendor/repo.or.cz/nasm/rdoff/collectn.c +44 -0
- data/vendor/repo.or.cz/nasm/rdoff/collectn.h +22 -0
- data/vendor/repo.or.cz/nasm/rdoff/doc/Makefile +37 -0
- data/vendor/repo.or.cz/nasm/rdoff/doc/rdoff.texi +137 -0
- data/vendor/repo.or.cz/nasm/rdoff/doc/v1-v2.txt +62 -0
- data/vendor/repo.or.cz/nasm/rdoff/hash.c +122 -0
- data/vendor/repo.or.cz/nasm/rdoff/hash.h +17 -0
- data/vendor/repo.or.cz/nasm/rdoff/ldrdf.1 +41 -0
- data/vendor/repo.or.cz/nasm/rdoff/ldrdf.c +1395 -0
- data/vendor/repo.or.cz/nasm/rdoff/ldsegs.h +59 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.1 +65 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.c +431 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2com.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2ihx.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2ith.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdf2srec.1 +1 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfdump.1 +24 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfdump.c +347 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdflib.1 +39 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdflib.c +434 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfload.c +213 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfload.h +29 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdfutils.h +165 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlar.c +492 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlar.h +34 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlib.c +290 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdlib.h +62 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdoff.c +621 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdx.1 +21 -0
- data/vendor/repo.or.cz/nasm/rdoff/rdx.c +90 -0
- data/vendor/repo.or.cz/nasm/rdoff/segtab.c +172 -0
- data/vendor/repo.or.cz/nasm/rdoff/segtab.h +45 -0
- data/vendor/repo.or.cz/nasm/rdoff/symtab.c +159 -0
- data/vendor/repo.or.cz/nasm/rdoff/symtab.h +55 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/Makefile +10 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/makelib.sh +14 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg.asm +20 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg2.asm +12 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdftest1.asm +54 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdftest2.asm +33 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdtlib.asm +48 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/rdtmain.asm +47 -0
- data/vendor/repo.or.cz/nasm/rdoff/test/testlib.asm +18 -0
- data/vendor/repo.or.cz/nasm/stdlib/snprintf.c +29 -0
- data/vendor/repo.or.cz/nasm/stdlib/strlcpy.c +51 -0
- data/vendor/repo.or.cz/nasm/stdlib/strnlen.c +46 -0
- data/vendor/repo.or.cz/nasm/stdlib/vsnprintf.c +51 -0
- data/vendor/repo.or.cz/nasm/test/Makefile +106 -0
- data/vendor/repo.or.cz/nasm/test/_file_.asm +5 -0
- data/vendor/repo.or.cz/nasm/test/_version.asm +2 -0
- data/vendor/repo.or.cz/nasm/test/a32offs.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/absolute.asm +40 -0
- data/vendor/repo.or.cz/nasm/test/addr64x.asm +18 -0
- data/vendor/repo.or.cz/nasm/test/align13.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/align13s.asm +20 -0
- data/vendor/repo.or.cz/nasm/test/alonesym-obj.asm +166 -0
- data/vendor/repo.or.cz/nasm/test/andbyte.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/aoutso.asm +99 -0
- data/vendor/repo.or.cz/nasm/test/aouttest.asm +86 -0
- data/vendor/repo.or.cz/nasm/test/aouttest.c +36 -0
- data/vendor/repo.or.cz/nasm/test/avx.asm +46 -0
- data/vendor/repo.or.cz/nasm/test/avx005.asm +529 -0
- data/vendor/repo.or.cz/nasm/test/avx2.asm +1608 -0
- data/vendor/repo.or.cz/nasm/test/avx512cd.asm +106 -0
- data/vendor/repo.or.cz/nasm/test/avx512er.asm +144 -0
- data/vendor/repo.or.cz/nasm/test/avx512f.asm +7000 -0
- data/vendor/repo.or.cz/nasm/test/avx512pf.asm +88 -0
- data/vendor/repo.or.cz/nasm/test/bcd.asm +23 -0
- data/vendor/repo.or.cz/nasm/test/binexe.asm +35 -0
- data/vendor/repo.or.cz/nasm/test/bintest.asm +59 -0
- data/vendor/repo.or.cz/nasm/test/bisect.sh +22 -0
- data/vendor/repo.or.cz/nasm/test/br1879590.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/br2003451.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/br2030823.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br2148476.asm +221 -0
- data/vendor/repo.or.cz/nasm/test/br2222615.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/br2496848.asm +42 -0
- data/vendor/repo.or.cz/nasm/test/br3005117.asm +26 -0
- data/vendor/repo.or.cz/nasm/test/br3026808.asm +20 -0
- data/vendor/repo.or.cz/nasm/test/br3028880.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/br3041451.asm +59 -0
- data/vendor/repo.or.cz/nasm/test/br3058845.asm +14 -0
- data/vendor/repo.or.cz/nasm/test/br3066383.asm +70 -0
- data/vendor/repo.or.cz/nasm/test/br3074517.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/br3092924.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/br3104312.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/br3109604.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/br3174983.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/br3187743.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br3189064.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br3200749.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/br3385573.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/br3392252.asm +43 -0
- data/vendor/repo.or.cz/nasm/test/br3392259.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/br3392363.asm +4 -0
- data/vendor/repo.or.cz/nasm/test/br3392392.asm +16 -0
- data/vendor/repo.or.cz/nasm/test/br3392396.asm +5 -0
- data/vendor/repo.or.cz/nasm/test/br3392411.asm +22 -0
- data/vendor/repo.or.cz/nasm/test/br3392418.asm +3 -0
- data/vendor/repo.or.cz/nasm/test/br3392439.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/br3392442.asm +6 -0
- data/vendor/repo.or.cz/nasm/test/br560575.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/br560873.asm +27 -0
- data/vendor/repo.or.cz/nasm/test/br890790.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/br890790_i.asm +1 -0
- data/vendor/repo.or.cz/nasm/test/br978756.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/changed.asm +383 -0
- data/vendor/repo.or.cz/nasm/test/cofftest.asm +85 -0
- data/vendor/repo.or.cz/nasm/test/cofftest.c +35 -0
- data/vendor/repo.or.cz/nasm/test/crc32.asm +37 -0
- data/vendor/repo.or.cz/nasm/test/cv8struc.asm +14 -0
- data/vendor/repo.or.cz/nasm/test/dtbcd.asm +72 -0
- data/vendor/repo.or.cz/nasm/test/elf64so.asm +118 -0
- data/vendor/repo.or.cz/nasm/test/elfso.asm +100 -0
- data/vendor/repo.or.cz/nasm/test/elftest.asm +87 -0
- data/vendor/repo.or.cz/nasm/test/elftest.c +38 -0
- data/vendor/repo.or.cz/nasm/test/elftest64.c +43 -0
- data/vendor/repo.or.cz/nasm/test/elif.asm +39 -0
- data/vendor/repo.or.cz/nasm/test/expimp.asm +90 -0
- data/vendor/repo.or.cz/nasm/test/far64.asm +10 -0
- data/vendor/repo.or.cz/nasm/test/float.asm +186 -0
- data/vendor/repo.or.cz/nasm/test/float8.asm +135 -0
- data/vendor/repo.or.cz/nasm/test/floatb.asm +35 -0
- data/vendor/repo.or.cz/nasm/test/floatexp.asm +382 -0
- data/vendor/repo.or.cz/nasm/test/floatize.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/floattest.asm +28 -0
- data/vendor/repo.or.cz/nasm/test/floatx.asm +525 -0
- data/vendor/repo.or.cz/nasm/test/fpu.asm +127 -0
- data/vendor/repo.or.cz/nasm/test/fwdopt.asm +133 -0
- data/vendor/repo.or.cz/nasm/test/fwdoptpp.asm +150 -0
- data/vendor/repo.or.cz/nasm/test/gas2nasm.py +104 -0
- data/vendor/repo.or.cz/nasm/test/gather.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/gotoff64.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/hexfp.asm +25 -0
- data/vendor/repo.or.cz/nasm/test/hle.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/ifelse.asm +46 -0
- data/vendor/repo.or.cz/nasm/test/ifenv.asm +31 -0
- data/vendor/repo.or.cz/nasm/test/ifmacro.asm +413 -0
- data/vendor/repo.or.cz/nasm/test/iftoken.asm +317 -0
- data/vendor/repo.or.cz/nasm/test/iftoken.pl +32 -0
- data/vendor/repo.or.cz/nasm/test/ilog2.asm +271 -0
- data/vendor/repo.or.cz/nasm/test/imacro.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/imm.asm +23 -0
- data/vendor/repo.or.cz/nasm/test/imm64.asm +61 -0
- data/vendor/repo.or.cz/nasm/test/immwarn.asm +91 -0
- data/vendor/repo.or.cz/nasm/test/imul.asm +117 -0
- data/vendor/repo.or.cz/nasm/test/inc1.asm +6 -0
- data/vendor/repo.or.cz/nasm/test/inc2.asm +8 -0
- data/vendor/repo.or.cz/nasm/test/incbin.asm +7 -0
- data/vendor/repo.or.cz/nasm/test/incbin.data +2 -0
- data/vendor/repo.or.cz/nasm/test/inctest.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/insnlbl.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/invlpga.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/jmp64.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/lar_lsl.asm +124 -0
- data/vendor/repo.or.cz/nasm/test/larlsl.asm +23 -0
- data/vendor/repo.or.cz/nasm/test/lnxhello.asm +54 -0
- data/vendor/repo.or.cz/nasm/test/local.asm +19 -0
- data/vendor/repo.or.cz/nasm/test/loopoffs.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/lwp.asm +213 -0
- data/vendor/repo.or.cz/nasm/test/macro-defaults.asm +64 -0
- data/vendor/repo.or.cz/nasm/test/macroerr.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/macroerr.inc +3 -0
- data/vendor/repo.or.cz/nasm/test/mmxsize.asm +38 -0
- data/vendor/repo.or.cz/nasm/test/movd.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/movd64.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/movimm.asm +28 -0
- data/vendor/repo.or.cz/nasm/test/movnti.asm +10 -0
- data/vendor/repo.or.cz/nasm/test/mpx-64.asm +120 -0
- data/vendor/repo.or.cz/nasm/test/mpx.asm +89 -0
- data/vendor/repo.or.cz/nasm/test/multisection.asm +96 -0
- data/vendor/repo.or.cz/nasm/test/nasmformat.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/new +9 -0
- data/vendor/repo.or.cz/nasm/test/newrdwr.asm +24 -0
- data/vendor/repo.or.cz/nasm/test/nop.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/nullfile.asm +4 -0
- data/vendor/repo.or.cz/nasm/test/objexe.asm +30 -0
- data/vendor/repo.or.cz/nasm/test/objlink.c +33 -0
- data/vendor/repo.or.cz/nasm/test/objtest.asm +85 -0
- data/vendor/repo.or.cz/nasm/test/optimization.asm +104 -0
- data/vendor/repo.or.cz/nasm/test/org.asm +18 -0
- data/vendor/repo.or.cz/nasm/test/paste.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/pcrel.asm +52 -0
- data/vendor/repo.or.cz/nasm/test/perf/label.pl +18 -0
- data/vendor/repo.or.cz/nasm/test/perf/macro.pl +18 -0
- data/vendor/repo.or.cz/nasm/test/perf/token.pl +23 -0
- data/vendor/repo.or.cz/nasm/test/performtest.pl +192 -0
- data/vendor/repo.or.cz/nasm/test/pextrw.asm +3 -0
- data/vendor/repo.or.cz/nasm/test/pinsr16.asm +53 -0
- data/vendor/repo.or.cz/nasm/test/pinsr32.asm +53 -0
- data/vendor/repo.or.cz/nasm/test/pinsr64.asm +68 -0
- data/vendor/repo.or.cz/nasm/test/popcnt.asm +32 -0
- data/vendor/repo.or.cz/nasm/test/ppindirect.asm +42 -0
- data/vendor/repo.or.cz/nasm/test/pragma.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/prefix66.asm +28 -0
- data/vendor/repo.or.cz/nasm/test/ptr.asm +4 -0
- data/vendor/repo.or.cz/nasm/test/pushseg.asm +17 -0
- data/vendor/repo.or.cz/nasm/test/r13.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/radix.asm +54 -0
- data/vendor/repo.or.cz/nasm/test/rdpid.asm +21 -0
- data/vendor/repo.or.cz/nasm/test/reldef.asm +57 -0
- data/vendor/repo.or.cz/nasm/test/relocs.asm +20 -0
- data/vendor/repo.or.cz/nasm/test/riprel.asm +5357 -0
- data/vendor/repo.or.cz/nasm/test/riprel.pl +29 -0
- data/vendor/repo.or.cz/nasm/test/riprel2.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/sha-64.asm +30 -0
- data/vendor/repo.or.cz/nasm/test/sha.asm +31 -0
- data/vendor/repo.or.cz/nasm/test/smartalign16.asm +36 -0
- data/vendor/repo.or.cz/nasm/test/smartalign32.asm +36 -0
- data/vendor/repo.or.cz/nasm/test/smartalign64.asm +36 -0
- data/vendor/repo.or.cz/nasm/test/splitea.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/sreg.asm +65 -0
- data/vendor/repo.or.cz/nasm/test/strlen.asm +5 -0
- data/vendor/repo.or.cz/nasm/test/struc.asm +33 -0
- data/vendor/repo.or.cz/nasm/test/test67.asm +38 -0
- data/vendor/repo.or.cz/nasm/test/testdos.asm +13 -0
- data/vendor/repo.or.cz/nasm/test/testnos3.asm +973 -0
- data/vendor/repo.or.cz/nasm/test/time.asm +11 -0
- data/vendor/repo.or.cz/nasm/test/times.asm +21 -0
- data/vendor/repo.or.cz/nasm/test/timesneg.asm +3 -0
- data/vendor/repo.or.cz/nasm/test/tmap.nas +1447 -0
- data/vendor/repo.or.cz/nasm/test/uscore.asm +15 -0
- data/vendor/repo.or.cz/nasm/test/utf.asm +82 -0
- data/vendor/repo.or.cz/nasm/test/vaesenc.asm +22 -0
- data/vendor/repo.or.cz/nasm/test/vex.asm +9 -0
- data/vendor/repo.or.cz/nasm/test/vgather.asm +76 -0
- data/vendor/repo.or.cz/nasm/test/vmread.asm +26 -0
- data/vendor/repo.or.cz/nasm/test/weirdpaste.asm +29 -0
- data/vendor/repo.or.cz/nasm/test/xchg.asm +96 -0
- data/vendor/repo.or.cz/nasm/test/xcrypt.asm +24 -0
- data/vendor/repo.or.cz/nasm/test/xmm0.asm +12 -0
- data/vendor/repo.or.cz/nasm/test/zerobyte.asm +22 -0
- data/vendor/repo.or.cz/nasm/tools/cleanfile +176 -0
- data/vendor/repo.or.cz/nasm/tools/cleanpatch +258 -0
- data/vendor/repo.or.cz/nasm/tools/mkdep.pl +261 -0
- data/vendor/repo.or.cz/nasm/tools/release +105 -0
- data/vendor/repo.or.cz/nasm/tools/syncfiles.pl +137 -0
- data/vendor/repo.or.cz/nasm/tools/tag-release +58 -0
- data/vendor/repo.or.cz/nasm/version +1 -0
- data/vendor/repo.or.cz/nasm/version.pl +189 -0
- data/vendor/repo.or.cz/nasm/x86/disp8.c +131 -0
- data/vendor/repo.or.cz/nasm/x86/insns-iflags.ph +280 -0
- data/vendor/repo.or.cz/nasm/x86/insns.dat +5371 -0
- data/vendor/repo.or.cz/nasm/x86/insns.pl +1043 -0
- data/vendor/repo.or.cz/nasm/x86/regs.dat +138 -0
- data/vendor/repo.or.cz/nasm/x86/regs.pl +204 -0
- metadata +520 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
#!/usr/bin/perl
|
|
2
|
+
|
|
3
|
+
use Font::TTF::Font;
|
|
4
|
+
use Font::TTF::Head;
|
|
5
|
+
use Font::TTF::Hmtx;
|
|
6
|
+
use Font::TTF::Cmap;
|
|
7
|
+
use Font::TTF::Maxp;
|
|
8
|
+
use Font::TTF::PSNames;
|
|
9
|
+
use Font::TTF::Post;
|
|
10
|
+
|
|
11
|
+
use strict;
|
|
12
|
+
|
|
13
|
+
sub parse_ttf_file($) {
|
|
14
|
+
my($filename) = @_;
|
|
15
|
+
|
|
16
|
+
my $fontdata = {
|
|
17
|
+
widths => {},
|
|
18
|
+
kern => {}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
my $f = Font::TTF::Font->open($filename);
|
|
22
|
+
|
|
23
|
+
return undef if (!defined($f));
|
|
24
|
+
|
|
25
|
+
$fontdata->{file} = $filename;
|
|
26
|
+
$fontdata->{type} = defined($f->{' CFF'}) ? 'otf' : 'ttf';
|
|
27
|
+
|
|
28
|
+
$f->{head}->read();
|
|
29
|
+
$fontdata->{scale} = $f->{head}{unitsPerEm};
|
|
30
|
+
|
|
31
|
+
$f->{maxp}->read();
|
|
32
|
+
my $glyphs = $f->{maxp}{numGlyphs};
|
|
33
|
+
|
|
34
|
+
$f->{cmap}->read();
|
|
35
|
+
$f->{hmtx}->read();
|
|
36
|
+
$f->{name}->read();
|
|
37
|
+
$fontdata->{name} = $f->{name}->find_name(6); # PostScript name
|
|
38
|
+
$f->{post}->read();
|
|
39
|
+
my $psglyphs = 0;
|
|
40
|
+
my $psmap = $f->{post}->{VAL};
|
|
41
|
+
$psmap = [] if (!defined($psmap));
|
|
42
|
+
#printf "Glyphs with PostScript names: %d\n", scalar(@$psmap);
|
|
43
|
+
|
|
44
|
+
# Can be done as an array of arrays in case of multiple unicodes to
|
|
45
|
+
# one glyph...
|
|
46
|
+
my @unimap = $f->{cmap}->reverse();
|
|
47
|
+
|
|
48
|
+
for (my $i = 0; $i < $glyphs; $i++) {
|
|
49
|
+
my $width = $f->{hmtx}->{advance}[$i];
|
|
50
|
+
my $psname = $psmap->[$i];
|
|
51
|
+
if (!defined($psname)) {
|
|
52
|
+
$psname = Font::TTF::PSNames::lookup($unimap[$i]);
|
|
53
|
+
}
|
|
54
|
+
next if (!defined($psname) || ($psname eq '.notdef'));
|
|
55
|
+
$fontdata->{widths}{$psname} = $f->{hmtx}->{advance}[$i];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
$f->release;
|
|
59
|
+
|
|
60
|
+
return $fontdata;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
1;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/* ----------------------------------------------------------------------- *
|
|
2
|
+
*
|
|
3
|
+
* Copyright 1996-2010 The NASM Authors - All Rights Reserved
|
|
4
|
+
* See the file AUTHORS included with the NASM distribution for
|
|
5
|
+
* the specific copyright holders.
|
|
6
|
+
*
|
|
7
|
+
* Redistribution and use in source and binary forms, with or without
|
|
8
|
+
* modification, are permitted provided that the following
|
|
9
|
+
* conditions are met:
|
|
10
|
+
*
|
|
11
|
+
* * Redistributions of source code must retain the above copyright
|
|
12
|
+
* notice, this list of conditions and the following disclaimer.
|
|
13
|
+
* * Redistributions in binary form must reproduce the above
|
|
14
|
+
* copyright notice, this list of conditions and the following
|
|
15
|
+
* disclaimer in the documentation and/or other materials provided
|
|
16
|
+
* with the distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
19
|
+
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
20
|
+
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
21
|
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
23
|
+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
25
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
26
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
27
|
+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
28
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
29
|
+
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
30
|
+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
*
|
|
32
|
+
* ----------------------------------------------------------------------- */
|
|
33
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
\# --------------------------------------------------------------------------
|
|
2
|
+
\#
|
|
3
|
+
\# Copyright 1996-2010 The NASM Authors - All Rights Reserved
|
|
4
|
+
\# See the file AUTHORS included with the NASM distribution for
|
|
5
|
+
\# the specific copyright holders.
|
|
6
|
+
\#
|
|
7
|
+
\# Redistribution and use in source and binary forms, with or without
|
|
8
|
+
\# modification, are permitted provided that the following
|
|
9
|
+
\# conditions are met:
|
|
10
|
+
\#
|
|
11
|
+
\# * Redistributions of source code must retain the above copyright
|
|
12
|
+
\# notice, this list of conditions and the following disclaimer.
|
|
13
|
+
\# * Redistributions in binary form must reproduce the above
|
|
14
|
+
\# copyright notice, this list of conditions and the following
|
|
15
|
+
\# disclaimer in the documentation and/or other materials provided
|
|
16
|
+
\# with the distribution.
|
|
17
|
+
\#
|
|
18
|
+
\# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
19
|
+
\# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
20
|
+
\# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
21
|
+
\# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
\# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
23
|
+
\# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
\# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
25
|
+
\# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
26
|
+
\# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
27
|
+
\# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
28
|
+
\# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
29
|
+
\# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
30
|
+
\# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
\#
|
|
32
|
+
\# --------------------------------------------------------------------------
|
|
33
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
;; --------------------------------------------------------------------------
|
|
2
|
+
;;
|
|
3
|
+
;; Copyright 1996-2010 The NASM Authors - All Rights Reserved
|
|
4
|
+
;; See the file AUTHORS included with the NASM distribution for
|
|
5
|
+
;; the specific copyright holders.
|
|
6
|
+
;;
|
|
7
|
+
;; Redistribution and use in source and binary forms, with or without
|
|
8
|
+
;; modification, are permitted provided that the following
|
|
9
|
+
;; conditions are met:
|
|
10
|
+
;;
|
|
11
|
+
;; * Redistributions of source code must retain the above copyright
|
|
12
|
+
;; notice, this list of conditions and the following disclaimer.
|
|
13
|
+
;; * Redistributions in binary form must reproduce the above
|
|
14
|
+
;; copyright notice, this list of conditions and the following
|
|
15
|
+
;; disclaimer in the documentation and/or other materials provided
|
|
16
|
+
;; with the distribution.
|
|
17
|
+
;;
|
|
18
|
+
;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
19
|
+
;; CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
20
|
+
;; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
21
|
+
;; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
;; DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
23
|
+
;; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
25
|
+
;; NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
26
|
+
;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
27
|
+
;; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
28
|
+
;; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
29
|
+
;; OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
30
|
+
;; EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
;;
|
|
32
|
+
;; --------------------------------------------------------------------------
|
|
33
|
+
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
## --------------------------------------------------------------------------
|
|
2
|
+
##
|
|
3
|
+
## Copyright 1996-2010 The NASM Authors - All Rights Reserved
|
|
4
|
+
## See the file AUTHORS included with the NASM distribution for
|
|
5
|
+
## the specific copyright holders.
|
|
6
|
+
##
|
|
7
|
+
## Redistribution and use in source and binary forms, with or without
|
|
8
|
+
## modification, are permitted provided that the following
|
|
9
|
+
## conditions are met:
|
|
10
|
+
##
|
|
11
|
+
## * Redistributions of source code must retain the above copyright
|
|
12
|
+
## notice, this list of conditions and the following disclaimer.
|
|
13
|
+
## * Redistributions in binary form must reproduce the above
|
|
14
|
+
## copyright notice, this list of conditions and the following
|
|
15
|
+
## disclaimer in the documentation and/or other materials provided
|
|
16
|
+
## with the distribution.
|
|
17
|
+
##
|
|
18
|
+
## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
19
|
+
## CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
20
|
+
## INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
21
|
+
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
## DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
23
|
+
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
25
|
+
## NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
26
|
+
## LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
27
|
+
## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
28
|
+
## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
29
|
+
## OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
30
|
+
## EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
##
|
|
32
|
+
## --------------------------------------------------------------------------
|
|
33
|
+
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/* ----------------------------------------------------------------------- *
|
|
2
|
+
*
|
|
3
|
+
* Copyright 2007-2017 The NASM Authors - All Rights Reserved
|
|
4
|
+
* See the file AUTHORS included with the NASM distribution for
|
|
5
|
+
* the specific copyright holders.
|
|
6
|
+
*
|
|
7
|
+
* Redistribution and use in source and binary forms, with or without
|
|
8
|
+
* modification, are permitted provided that the following
|
|
9
|
+
* conditions are met:
|
|
10
|
+
*
|
|
11
|
+
* * Redistributions of source code must retain the above copyright
|
|
12
|
+
* notice, this list of conditions and the following disclaimer.
|
|
13
|
+
* * Redistributions in binary form must reproduce the above
|
|
14
|
+
* copyright notice, this list of conditions and the following
|
|
15
|
+
* disclaimer in the documentation and/or other materials provided
|
|
16
|
+
* with the distribution.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
19
|
+
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
20
|
+
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
21
|
+
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
23
|
+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
24
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
25
|
+
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
26
|
+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
27
|
+
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
28
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
|
29
|
+
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
|
|
30
|
+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
*
|
|
32
|
+
* ----------------------------------------------------------------------- */
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
* compiler.h
|
|
36
|
+
*
|
|
37
|
+
* Compiler-specific macros for NASM. Feel free to add support for
|
|
38
|
+
* other compilers in here.
|
|
39
|
+
*
|
|
40
|
+
* This header file should be included before any other header.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
#ifndef NASM_COMPILER_H
|
|
44
|
+
#define NASM_COMPILER_H 1
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* At least DJGPP and Cygwin have broken header files if __STRICT_ANSI__
|
|
48
|
+
* is defined.
|
|
49
|
+
*/
|
|
50
|
+
#ifdef __GNUC__
|
|
51
|
+
# undef __STRICT_ANSI__
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
/* On Microsoft platforms we support multibyte character sets in filenames */
|
|
55
|
+
#define _MBCS 1
|
|
56
|
+
|
|
57
|
+
#ifdef HAVE_CONFIG_H
|
|
58
|
+
# include "config/config.h"
|
|
59
|
+
#elif defined(_MSC_VER) && (_MSC_VER >= 1310)
|
|
60
|
+
# include "config/msvc.h"
|
|
61
|
+
#elif defined(__WATCOMC__)
|
|
62
|
+
# include "config/watcom.h"
|
|
63
|
+
#else
|
|
64
|
+
# include "config/unknown.h"
|
|
65
|
+
#endif /* Configuration file */
|
|
66
|
+
|
|
67
|
+
/* This is required to get the standard <inttypes.h> macros when compiling
|
|
68
|
+
with a C++ compiler. This must be defined *before* <inttypes.h> is
|
|
69
|
+
included, directly or indirectly. */
|
|
70
|
+
#define __STDC_CONSTANT_MACROS 1
|
|
71
|
+
#define __STDC_LIMIT_MACROS 1
|
|
72
|
+
#define __STDC_FORMAT_MACROS 1
|
|
73
|
+
|
|
74
|
+
#ifdef HAVE_INTTYPES_H
|
|
75
|
+
# include <inttypes.h>
|
|
76
|
+
#else
|
|
77
|
+
# include "nasmint.h"
|
|
78
|
+
#endif
|
|
79
|
+
|
|
80
|
+
#include <assert.h>
|
|
81
|
+
#include <stddef.h>
|
|
82
|
+
#include <stdarg.h>
|
|
83
|
+
#include <stdio.h>
|
|
84
|
+
#include <limits.h>
|
|
85
|
+
|
|
86
|
+
#ifdef HAVE_SYS_TYPES_H
|
|
87
|
+
# include <sys/types.h>
|
|
88
|
+
#endif
|
|
89
|
+
|
|
90
|
+
/* Some versions of MSVC have these only with underscores in front */
|
|
91
|
+
#ifndef HAVE_SNPRINTF
|
|
92
|
+
# ifdef HAVE__SNPRINTF
|
|
93
|
+
# define snprintf _snprintf
|
|
94
|
+
# else
|
|
95
|
+
int snprintf(char *, size_t, const char *, ...);
|
|
96
|
+
# endif
|
|
97
|
+
#endif
|
|
98
|
+
|
|
99
|
+
#ifndef HAVE_VSNPRINTF
|
|
100
|
+
# ifdef HAVE__VSNPRINTF
|
|
101
|
+
# define vsnprintf _vsnprintf
|
|
102
|
+
# else
|
|
103
|
+
int vsnprintf(char *, size_t, const char *, va_list);
|
|
104
|
+
# endif
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
#if !defined(HAVE_STRLCPY) || !HAVE_DECL_STRLCPY
|
|
108
|
+
size_t strlcpy(char *, const char *, size_t);
|
|
109
|
+
#endif
|
|
110
|
+
|
|
111
|
+
#ifndef __cplusplus /* C++ has false, true, bool as keywords */
|
|
112
|
+
# ifdef HAVE_STDBOOL_H
|
|
113
|
+
# include <stdbool.h>
|
|
114
|
+
# elif defined(HAVE__BOOL)
|
|
115
|
+
# typedef _Bool bool
|
|
116
|
+
# define false 0
|
|
117
|
+
# define true 1
|
|
118
|
+
# else
|
|
119
|
+
/* This is sort of dangerous, since casts will behave different than
|
|
120
|
+
casting to the standard boolean type. Always use !!, not (bool). */
|
|
121
|
+
typedef enum bool { false, true } bool;
|
|
122
|
+
# endif
|
|
123
|
+
#endif
|
|
124
|
+
|
|
125
|
+
/* Provide a substitute for offsetof() if we don't have one. This
|
|
126
|
+
variant works on most (but not *all*) systems... */
|
|
127
|
+
#ifndef offsetof
|
|
128
|
+
# define offsetof(t,m) ((size_t)&(((t *)0)->m))
|
|
129
|
+
#endif
|
|
130
|
+
|
|
131
|
+
/* The container_of construct: if p is a pointer to member m of
|
|
132
|
+
container class c, then return a pointer to the container of which
|
|
133
|
+
*p is a member. */
|
|
134
|
+
#ifndef container_of
|
|
135
|
+
# define container_of(p, c, m) ((c *)((char *)(p) - offsetof(c,m)))
|
|
136
|
+
#endif
|
|
137
|
+
|
|
138
|
+
/* Some misguided platforms hide the defs for these */
|
|
139
|
+
#if defined(HAVE_STRCASECMP) && !HAVE_DECL_STRCASECMP
|
|
140
|
+
int strcasecmp(const char *, const char *);
|
|
141
|
+
#endif
|
|
142
|
+
|
|
143
|
+
#if defined(HAVE_STRICMP) && !HAVE_DECL_STRICMP
|
|
144
|
+
int stricmp(const char *, const char *);
|
|
145
|
+
#endif
|
|
146
|
+
|
|
147
|
+
#if defined(HAVE_STRNCASECMP) && !HAVE_DECL_STRNCASECMP
|
|
148
|
+
int strncasecmp(const char *, const char *, size_t);
|
|
149
|
+
#endif
|
|
150
|
+
|
|
151
|
+
#if defined(HAVE_STRNICMP) && !HAVE_DECL_STRNICMP
|
|
152
|
+
int strnicmp(const char *, const char *, size_t);
|
|
153
|
+
#endif
|
|
154
|
+
|
|
155
|
+
#if defined(HAVE_STRSEP) && !HAVE_DECL_STRSEP
|
|
156
|
+
char *strsep(char **, const char *);
|
|
157
|
+
#endif
|
|
158
|
+
|
|
159
|
+
#if !HAVE_DECL_STRNLEN
|
|
160
|
+
size_t strnlen(const char *s, size_t maxlen);
|
|
161
|
+
#endif
|
|
162
|
+
|
|
163
|
+
/*
|
|
164
|
+
* Define this to 1 for faster performance if this is a littleendian
|
|
165
|
+
* platform which can do unaligned memory references. It is safe
|
|
166
|
+
* to leave it defined to 0 even if that is true.
|
|
167
|
+
*/
|
|
168
|
+
#if defined(__386__) || defined(__i386__) || defined(__x86_64__)
|
|
169
|
+
# define X86_MEMORY 1
|
|
170
|
+
# ifndef WORDS_LITTLEENDIAN
|
|
171
|
+
# define WORDS_LITTLEENDIAN 1
|
|
172
|
+
# endif
|
|
173
|
+
#else
|
|
174
|
+
# define X86_MEMORY 0
|
|
175
|
+
#endif
|
|
176
|
+
|
|
177
|
+
/*
|
|
178
|
+
* Hints to the compiler that a particular branch of code is more or
|
|
179
|
+
* less likely to be taken.
|
|
180
|
+
*/
|
|
181
|
+
#if HAVE___BUILTIN_EXPECT
|
|
182
|
+
# define likely(x) __builtin_expect(!!(x), 1)
|
|
183
|
+
# define unlikely(x) __builtin_expect(!!(x), 0)
|
|
184
|
+
#else
|
|
185
|
+
# define likely(x) (!!(x))
|
|
186
|
+
# define unlikely(x) (!!(x))
|
|
187
|
+
#endif
|
|
188
|
+
|
|
189
|
+
/*
|
|
190
|
+
* Hints about malloc-like functions that never return NULL
|
|
191
|
+
*/
|
|
192
|
+
#ifdef HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL
|
|
193
|
+
# define never_null __attribute__((returns_nonnull))
|
|
194
|
+
#else
|
|
195
|
+
# define never_null
|
|
196
|
+
#endif
|
|
197
|
+
|
|
198
|
+
#ifdef HAVE_FUNC_ATTRIBUTE_MALLOC
|
|
199
|
+
# define safe_alloc never_null __attribute__((malloc))
|
|
200
|
+
#else
|
|
201
|
+
# define safe_alloc
|
|
202
|
+
#endif
|
|
203
|
+
|
|
204
|
+
#ifdef HAVE_FUNC_ATTRIBUTE_ALLOC_SIZE
|
|
205
|
+
# define safe_malloc(s) safe_alloc __attribute__((alloc_size(s)))
|
|
206
|
+
# define safe_malloc2(s1,s2) safe_alloc __attribute__((alloc_size(s1,s2)))
|
|
207
|
+
# define safe_realloc(s) never_null __attribute__((alloc_size(s)))
|
|
208
|
+
#else
|
|
209
|
+
# define safe_malloc(s) safe_alloc
|
|
210
|
+
# define safe_malloc2(s1,s2) safe_alloc
|
|
211
|
+
# define safe_realloc(s) never_null
|
|
212
|
+
#endif
|
|
213
|
+
|
|
214
|
+
/*
|
|
215
|
+
* How to tell the compiler that a function doesn't return
|
|
216
|
+
*/
|
|
217
|
+
#ifdef HAVE_STDNORETURN_H
|
|
218
|
+
# include <stdnoreturn.h>
|
|
219
|
+
# define no_return noreturn void
|
|
220
|
+
#elif defined(HAVE_FUNC_ATTRIBUTE_NORETURN)
|
|
221
|
+
# define no_return void __attribute__((noreturn))
|
|
222
|
+
#elif defined(_MSC_VER)
|
|
223
|
+
# define no_return __declspec(noreturn) void
|
|
224
|
+
#else
|
|
225
|
+
# define no_return void
|
|
226
|
+
#endif
|
|
227
|
+
|
|
228
|
+
/*
|
|
229
|
+
* How to tell the compiler that a function takes a printf-like string
|
|
230
|
+
*/
|
|
231
|
+
#ifdef HAVE_FUNC_ATTRIBUTE_FORMAT
|
|
232
|
+
# define printf_func(fmt, list) __attribute__((format(printf, fmt, list)))
|
|
233
|
+
#else
|
|
234
|
+
# define printf_func(fmt, list)
|
|
235
|
+
#endif
|
|
236
|
+
|
|
237
|
+
/*
|
|
238
|
+
* How to tell the compiler that a function is pure arithmetic
|
|
239
|
+
*/
|
|
240
|
+
#ifdef HAVE_FUNC_ATTRIBUTE_CONST
|
|
241
|
+
# define const_func __attribute__((const))
|
|
242
|
+
#else
|
|
243
|
+
# define const_func
|
|
244
|
+
#endif
|
|
245
|
+
|
|
246
|
+
/*
|
|
247
|
+
* This function has no side effects, but depends on its arguments,
|
|
248
|
+
* memory pointed to by its arguments, or global variables.
|
|
249
|
+
* NOTE: functions that return a value by modifying memory pointed to
|
|
250
|
+
* by a pointer argument are *NOT* considered pure.
|
|
251
|
+
*/
|
|
252
|
+
#ifdef HAVE_FUNC_ATTRIBUTE_PURE
|
|
253
|
+
# define pure_func __attribute__((pure))
|
|
254
|
+
#else
|
|
255
|
+
# define pure_func
|
|
256
|
+
#endif
|
|
257
|
+
|
|
258
|
+
/* Watcom doesn't handle switch statements with 64-bit types, hack around it */
|
|
259
|
+
#ifdef __WATCOMC__
|
|
260
|
+
# define BOGUS_CASE 0x76543210
|
|
261
|
+
|
|
262
|
+
static inline unsigned int watcom_switch_hack(uint64_t x)
|
|
263
|
+
{
|
|
264
|
+
if (x > (uint64_t)UINT_MAX)
|
|
265
|
+
return BOGUS_CASE;
|
|
266
|
+
else
|
|
267
|
+
return (unsigned int)x;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
# define switch(x) switch(sizeof(x) > sizeof(unsigned int) \
|
|
271
|
+
? watcom_switch_hack(x) : (unsigned int)(x))
|
|
272
|
+
|
|
273
|
+
/* This is to make sure BOGUS_CASE doesn't conflict with anything real... */
|
|
274
|
+
# define default case BOGUS_CASE: default
|
|
275
|
+
#endif
|
|
276
|
+
|
|
277
|
+
#endif /* NASM_COMPILER_H */
|