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.
Files changed (455) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +57 -0
  3. data/LICENSE.txt +29 -0
  4. data/README.org +34 -0
  5. data/ext/laag/nasm/extconf.rb +16 -0
  6. data/laag-nasm.gemspec +20 -0
  7. data/lib/laag/nasm.rb +29 -0
  8. data/patches/Makefile.in.patch +13 -0
  9. data/vendor/repo.or.cz/nasm/.gitignore +102 -0
  10. data/vendor/repo.or.cz/nasm/AUTHORS +137 -0
  11. data/vendor/repo.or.cz/nasm/CHANGES +2 -0
  12. data/vendor/repo.or.cz/nasm/ChangeLog +2905 -0
  13. data/vendor/repo.or.cz/nasm/INSTALL +102 -0
  14. data/vendor/repo.or.cz/nasm/LICENSE +29 -0
  15. data/vendor/repo.or.cz/nasm/Makefile.in +855 -0
  16. data/vendor/repo.or.cz/nasm/Mkfiles/README +46 -0
  17. data/vendor/repo.or.cz/nasm/Mkfiles/msvc.mak +732 -0
  18. data/vendor/repo.or.cz/nasm/Mkfiles/openwcom.mak +706 -0
  19. data/vendor/repo.or.cz/nasm/README +23 -0
  20. data/vendor/repo.or.cz/nasm/SubmittingPatches +116 -0
  21. data/vendor/repo.or.cz/nasm/TODO +376 -0
  22. data/vendor/repo.or.cz/nasm/aclocal.m4 +139 -0
  23. data/vendor/repo.or.cz/nasm/asm/assemble.c +2957 -0
  24. data/vendor/repo.or.cz/nasm/asm/assemble.h +54 -0
  25. data/vendor/repo.or.cz/nasm/asm/directiv.c +566 -0
  26. data/vendor/repo.or.cz/nasm/asm/directiv.dat +92 -0
  27. data/vendor/repo.or.cz/nasm/asm/error.c +202 -0
  28. data/vendor/repo.or.cz/nasm/asm/eval.c +1014 -0
  29. data/vendor/repo.or.cz/nasm/asm/eval.h +49 -0
  30. data/vendor/repo.or.cz/nasm/asm/exprdump.c +79 -0
  31. data/vendor/repo.or.cz/nasm/asm/exprlib.c +200 -0
  32. data/vendor/repo.or.cz/nasm/asm/float.c +952 -0
  33. data/vendor/repo.or.cz/nasm/asm/float.h +54 -0
  34. data/vendor/repo.or.cz/nasm/asm/labels.c +540 -0
  35. data/vendor/repo.or.cz/nasm/asm/listing.c +346 -0
  36. data/vendor/repo.or.cz/nasm/asm/listing.h +113 -0
  37. data/vendor/repo.or.cz/nasm/asm/nasm.c +1855 -0
  38. data/vendor/repo.or.cz/nasm/asm/parser.c +1167 -0
  39. data/vendor/repo.or.cz/nasm/asm/parser.h +45 -0
  40. data/vendor/repo.or.cz/nasm/asm/phash.pl +109 -0
  41. data/vendor/repo.or.cz/nasm/asm/pptok.dat +96 -0
  42. data/vendor/repo.or.cz/nasm/asm/pptok.pl +271 -0
  43. data/vendor/repo.or.cz/nasm/asm/pragma.c +218 -0
  44. data/vendor/repo.or.cz/nasm/asm/preproc-nop.c +188 -0
  45. data/vendor/repo.or.cz/nasm/asm/preproc.c +5459 -0
  46. data/vendor/repo.or.cz/nasm/asm/preproc.h +55 -0
  47. data/vendor/repo.or.cz/nasm/asm/quote.c +479 -0
  48. data/vendor/repo.or.cz/nasm/asm/quote.h +44 -0
  49. data/vendor/repo.or.cz/nasm/asm/rdstrnum.c +68 -0
  50. data/vendor/repo.or.cz/nasm/asm/segalloc.c +51 -0
  51. data/vendor/repo.or.cz/nasm/asm/stdscan.c +345 -0
  52. data/vendor/repo.or.cz/nasm/asm/stdscan.h +49 -0
  53. data/vendor/repo.or.cz/nasm/asm/strfunc.c +359 -0
  54. data/vendor/repo.or.cz/nasm/asm/tokens.dat +135 -0
  55. data/vendor/repo.or.cz/nasm/asm/tokhash.pl +284 -0
  56. data/vendor/repo.or.cz/nasm/autogen.sh +9 -0
  57. data/vendor/repo.or.cz/nasm/common/common.c +122 -0
  58. data/vendor/repo.or.cz/nasm/config/msvc.h +192 -0
  59. data/vendor/repo.or.cz/nasm/config/unknown.h +51 -0
  60. data/vendor/repo.or.cz/nasm/config/watcom.h +74 -0
  61. data/vendor/repo.or.cz/nasm/configure.ac +253 -0
  62. data/vendor/repo.or.cz/nasm/contrib/MSVC6.txt +25 -0
  63. data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.README +16 -0
  64. data/vendor/repo.or.cz/nasm/contrib/VSrules/nasm.rules +79 -0
  65. data/vendor/repo.or.cz/nasm/disasm/disasm.c +1735 -0
  66. data/vendor/repo.or.cz/nasm/disasm/disasm.h +49 -0
  67. data/vendor/repo.or.cz/nasm/disasm/ndisasm.c +397 -0
  68. data/vendor/repo.or.cz/nasm/disasm/sync.c +132 -0
  69. data/vendor/repo.or.cz/nasm/disasm/sync.h +45 -0
  70. data/vendor/repo.or.cz/nasm/doc/Makefile.in +86 -0
  71. data/vendor/repo.or.cz/nasm/doc/README +20 -0
  72. data/vendor/repo.or.cz/nasm/doc/afmmetrics.ph +102 -0
  73. data/vendor/repo.or.cz/nasm/doc/changes.src +2588 -0
  74. data/vendor/repo.or.cz/nasm/doc/findfont.ph +180 -0
  75. data/vendor/repo.or.cz/nasm/doc/genps.pl +1294 -0
  76. data/vendor/repo.or.cz/nasm/doc/inslist.pl +108 -0
  77. data/vendor/repo.or.cz/nasm/doc/internal.doc +290 -0
  78. data/vendor/repo.or.cz/nasm/doc/local.css +1 -0
  79. data/vendor/repo.or.cz/nasm/doc/nasmdoc.css +150 -0
  80. data/vendor/repo.or.cz/nasm/doc/nasmdoc.src +8309 -0
  81. data/vendor/repo.or.cz/nasm/doc/nasmlogo.eps +212 -0
  82. data/vendor/repo.or.cz/nasm/doc/nasmlogw.png +0 -0
  83. data/vendor/repo.or.cz/nasm/doc/psfonts.ph +53 -0
  84. data/vendor/repo.or.cz/nasm/doc/pspdf.pl +98 -0
  85. data/vendor/repo.or.cz/nasm/doc/pswidth.ph +25 -0
  86. data/vendor/repo.or.cz/nasm/doc/rdsrc.pl +1111 -0
  87. data/vendor/repo.or.cz/nasm/doc/ttfmetrics.ph +63 -0
  88. data/vendor/repo.or.cz/nasm/headers/c +33 -0
  89. data/vendor/repo.or.cz/nasm/headers/doc +33 -0
  90. data/vendor/repo.or.cz/nasm/headers/mac +33 -0
  91. data/vendor/repo.or.cz/nasm/headers/perl +33 -0
  92. data/vendor/repo.or.cz/nasm/include/compiler.h +277 -0
  93. data/vendor/repo.or.cz/nasm/include/disp8.h +45 -0
  94. data/vendor/repo.or.cz/nasm/include/error.h +135 -0
  95. data/vendor/repo.or.cz/nasm/include/hashtbl.h +85 -0
  96. data/vendor/repo.or.cz/nasm/include/iflag.h +173 -0
  97. data/vendor/repo.or.cz/nasm/include/insns.h +76 -0
  98. data/vendor/repo.or.cz/nasm/include/labels.h +60 -0
  99. data/vendor/repo.or.cz/nasm/include/md5.h +21 -0
  100. data/vendor/repo.or.cz/nasm/include/nasm.h +1246 -0
  101. data/vendor/repo.or.cz/nasm/include/nasmint.h +219 -0
  102. data/vendor/repo.or.cz/nasm/include/nasmlib.h +524 -0
  103. data/vendor/repo.or.cz/nasm/include/opflags.h +271 -0
  104. data/vendor/repo.or.cz/nasm/include/perfhash.h +52 -0
  105. data/vendor/repo.or.cz/nasm/include/raa.h +46 -0
  106. data/vendor/repo.or.cz/nasm/include/rbtree.h +51 -0
  107. data/vendor/repo.or.cz/nasm/include/rdoff.h +169 -0
  108. data/vendor/repo.or.cz/nasm/include/saa.h +94 -0
  109. data/vendor/repo.or.cz/nasm/include/strlist.h +55 -0
  110. data/vendor/repo.or.cz/nasm/include/tables.h +70 -0
  111. data/vendor/repo.or.cz/nasm/include/ver.h +47 -0
  112. data/vendor/repo.or.cz/nasm/install-sh +250 -0
  113. data/vendor/repo.or.cz/nasm/macros/altreg.mac +107 -0
  114. data/vendor/repo.or.cz/nasm/macros/fp.mac +54 -0
  115. data/vendor/repo.or.cz/nasm/macros/ifunc.mac +48 -0
  116. data/vendor/repo.or.cz/nasm/macros/macros.pl +294 -0
  117. data/vendor/repo.or.cz/nasm/macros/smartalign.mac +189 -0
  118. data/vendor/repo.or.cz/nasm/macros/standard.mac +226 -0
  119. data/vendor/repo.or.cz/nasm/misc/Doxyfile +752 -0
  120. data/vendor/repo.or.cz/nasm/misc/Nindent +18 -0
  121. data/vendor/repo.or.cz/nasm/misc/README +2 -0
  122. data/vendor/repo.or.cz/nasm/misc/c16.mac +82 -0
  123. data/vendor/repo.or.cz/nasm/misc/c32.mac +52 -0
  124. data/vendor/repo.or.cz/nasm/misc/crcgen.c +44 -0
  125. data/vendor/repo.or.cz/nasm/misc/exebin.mac +57 -0
  126. data/vendor/repo.or.cz/nasm/misc/exebin2.mac +114 -0
  127. data/vendor/repo.or.cz/nasm/misc/fmtinsns.pl +40 -0
  128. data/vendor/repo.or.cz/nasm/misc/genfma.pl +63 -0
  129. data/vendor/repo.or.cz/nasm/misc/hints.txt +26 -0
  130. data/vendor/repo.or.cz/nasm/misc/magic +6 -0
  131. data/vendor/repo.or.cz/nasm/misc/myC32.mac +121 -0
  132. data/vendor/repo.or.cz/nasm/misc/nasm.sl +320 -0
  133. data/vendor/repo.or.cz/nasm/misc/nasmstab +296 -0
  134. data/vendor/repo.or.cz/nasm/misc/omfdump.c +517 -0
  135. data/vendor/repo.or.cz/nasm/misc/pmw.bat +9 -0
  136. data/vendor/repo.or.cz/nasm/misc/proc32.ash +441 -0
  137. data/vendor/repo.or.cz/nasm/misc/scitech.mac +1223 -0
  138. data/vendor/repo.or.cz/nasm/misc/xcrcgen.c +80 -0
  139. data/vendor/repo.or.cz/nasm/nasm.spec.in +83 -0
  140. data/vendor/repo.or.cz/nasm/nasm.spec.sed +3 -0
  141. data/vendor/repo.or.cz/nasm/nasm.txt +306 -0
  142. data/vendor/repo.or.cz/nasm/nasmlib/badenum.c +43 -0
  143. data/vendor/repo.or.cz/nasm/nasmlib/bsi.c +77 -0
  144. data/vendor/repo.or.cz/nasm/nasmlib/crc64.c +189 -0
  145. data/vendor/repo.or.cz/nasm/nasmlib/file.c +259 -0
  146. data/vendor/repo.or.cz/nasm/nasmlib/file.h +128 -0
  147. data/vendor/repo.or.cz/nasm/nasmlib/filename.c +69 -0
  148. data/vendor/repo.or.cz/nasm/nasmlib/hashtbl.c +232 -0
  149. data/vendor/repo.or.cz/nasm/nasmlib/ilog2.c +168 -0
  150. data/vendor/repo.or.cz/nasm/nasmlib/malloc.c +108 -0
  151. data/vendor/repo.or.cz/nasm/nasmlib/md5c.c +247 -0
  152. data/vendor/repo.or.cz/nasm/nasmlib/mmap.c +139 -0
  153. data/vendor/repo.or.cz/nasm/nasmlib/path.c +186 -0
  154. data/vendor/repo.or.cz/nasm/nasmlib/perfhash.c +55 -0
  155. data/vendor/repo.or.cz/nasm/nasmlib/perfhash.pl +362 -0
  156. data/vendor/repo.or.cz/nasm/nasmlib/raa.c +173 -0
  157. data/vendor/repo.or.cz/nasm/nasmlib/rbtree.c +119 -0
  158. data/vendor/repo.or.cz/nasm/nasmlib/readnum.c +172 -0
  159. data/vendor/repo.or.cz/nasm/nasmlib/realpath.c +135 -0
  160. data/vendor/repo.or.cz/nasm/nasmlib/saa.c +431 -0
  161. data/vendor/repo.or.cz/nasm/nasmlib/srcfile.c +128 -0
  162. data/vendor/repo.or.cz/nasm/nasmlib/string.c +242 -0
  163. data/vendor/repo.or.cz/nasm/nasmlib/strlist.c +100 -0
  164. data/vendor/repo.or.cz/nasm/nasmlib/ver.c +51 -0
  165. data/vendor/repo.or.cz/nasm/nasmlib/zerobuf.c +42 -0
  166. data/vendor/repo.or.cz/nasm/ndisasm.txt +94 -0
  167. data/vendor/repo.or.cz/nasm/nsis/NASMMultiUser.nsh +478 -0
  168. data/vendor/repo.or.cz/nasm/nsis/getpearch.pl +76 -0
  169. data/vendor/repo.or.cz/nasm/nsis/nasm-un.ico +0 -0
  170. data/vendor/repo.or.cz/nasm/nsis/nasm.ico +0 -0
  171. data/vendor/repo.or.cz/nasm/nsis/nasm.nsi +241 -0
  172. data/vendor/repo.or.cz/nasm/output/codeview.c +814 -0
  173. data/vendor/repo.or.cz/nasm/output/dwarf.h +566 -0
  174. data/vendor/repo.or.cz/nasm/output/elf.h +537 -0
  175. data/vendor/repo.or.cz/nasm/output/legacy.c +112 -0
  176. data/vendor/repo.or.cz/nasm/output/nulldbg.c +93 -0
  177. data/vendor/repo.or.cz/nasm/output/nullout.c +51 -0
  178. data/vendor/repo.or.cz/nasm/output/outaout.c +954 -0
  179. data/vendor/repo.or.cz/nasm/output/outaout.mac +37 -0
  180. data/vendor/repo.or.cz/nasm/output/outas86.c +650 -0
  181. data/vendor/repo.or.cz/nasm/output/outas86.mac +37 -0
  182. data/vendor/repo.or.cz/nasm/output/outbin.c +1713 -0
  183. data/vendor/repo.or.cz/nasm/output/outbin.mac +40 -0
  184. data/vendor/repo.or.cz/nasm/output/outcoff.c +1242 -0
  185. data/vendor/repo.or.cz/nasm/output/outcoff.mac +43 -0
  186. data/vendor/repo.or.cz/nasm/output/outdbg.c +425 -0
  187. data/vendor/repo.or.cz/nasm/output/outelf.c +3370 -0
  188. data/vendor/repo.or.cz/nasm/output/outelf.h +156 -0
  189. data/vendor/repo.or.cz/nasm/output/outelf.mac +41 -0
  190. data/vendor/repo.or.cz/nasm/output/outform.c +120 -0
  191. data/vendor/repo.or.cz/nasm/output/outform.h +379 -0
  192. data/vendor/repo.or.cz/nasm/output/outieee.c +1528 -0
  193. data/vendor/repo.or.cz/nasm/output/outlib.c +58 -0
  194. data/vendor/repo.or.cz/nasm/output/outlib.h +63 -0
  195. data/vendor/repo.or.cz/nasm/output/outmacho.c +2387 -0
  196. data/vendor/repo.or.cz/nasm/output/outmacho.mac +49 -0
  197. data/vendor/repo.or.cz/nasm/output/outobj.c +2725 -0
  198. data/vendor/repo.or.cz/nasm/output/outobj.mac +49 -0
  199. data/vendor/repo.or.cz/nasm/output/outrdf.mac +40 -0
  200. data/vendor/repo.or.cz/nasm/output/outrdf2.c +791 -0
  201. data/vendor/repo.or.cz/nasm/output/outrdf2.mac +43 -0
  202. data/vendor/repo.or.cz/nasm/output/pecoff.h +532 -0
  203. data/vendor/repo.or.cz/nasm/output/stabs.h +144 -0
  204. data/vendor/repo.or.cz/nasm/perllib/crc64.ph +158 -0
  205. data/vendor/repo.or.cz/nasm/perllib/gensv.pl +34 -0
  206. data/vendor/repo.or.cz/nasm/perllib/phash.ph +200 -0
  207. data/vendor/repo.or.cz/nasm/perllib/random_sv_vectors.ph +67 -0
  208. data/vendor/repo.or.cz/nasm/rdoff/README +185 -0
  209. data/vendor/repo.or.cz/nasm/rdoff/collectn.c +44 -0
  210. data/vendor/repo.or.cz/nasm/rdoff/collectn.h +22 -0
  211. data/vendor/repo.or.cz/nasm/rdoff/doc/Makefile +37 -0
  212. data/vendor/repo.or.cz/nasm/rdoff/doc/rdoff.texi +137 -0
  213. data/vendor/repo.or.cz/nasm/rdoff/doc/v1-v2.txt +62 -0
  214. data/vendor/repo.or.cz/nasm/rdoff/hash.c +122 -0
  215. data/vendor/repo.or.cz/nasm/rdoff/hash.h +17 -0
  216. data/vendor/repo.or.cz/nasm/rdoff/ldrdf.1 +41 -0
  217. data/vendor/repo.or.cz/nasm/rdoff/ldrdf.c +1395 -0
  218. data/vendor/repo.or.cz/nasm/rdoff/ldsegs.h +59 -0
  219. data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.1 +65 -0
  220. data/vendor/repo.or.cz/nasm/rdoff/rdf2bin.c +431 -0
  221. data/vendor/repo.or.cz/nasm/rdoff/rdf2com.1 +1 -0
  222. data/vendor/repo.or.cz/nasm/rdoff/rdf2ihx.1 +1 -0
  223. data/vendor/repo.or.cz/nasm/rdoff/rdf2ith.1 +1 -0
  224. data/vendor/repo.or.cz/nasm/rdoff/rdf2srec.1 +1 -0
  225. data/vendor/repo.or.cz/nasm/rdoff/rdfdump.1 +24 -0
  226. data/vendor/repo.or.cz/nasm/rdoff/rdfdump.c +347 -0
  227. data/vendor/repo.or.cz/nasm/rdoff/rdflib.1 +39 -0
  228. data/vendor/repo.or.cz/nasm/rdoff/rdflib.c +434 -0
  229. data/vendor/repo.or.cz/nasm/rdoff/rdfload.c +213 -0
  230. data/vendor/repo.or.cz/nasm/rdoff/rdfload.h +29 -0
  231. data/vendor/repo.or.cz/nasm/rdoff/rdfutils.h +165 -0
  232. data/vendor/repo.or.cz/nasm/rdoff/rdlar.c +492 -0
  233. data/vendor/repo.or.cz/nasm/rdoff/rdlar.h +34 -0
  234. data/vendor/repo.or.cz/nasm/rdoff/rdlib.c +290 -0
  235. data/vendor/repo.or.cz/nasm/rdoff/rdlib.h +62 -0
  236. data/vendor/repo.or.cz/nasm/rdoff/rdoff.c +621 -0
  237. data/vendor/repo.or.cz/nasm/rdoff/rdx.1 +21 -0
  238. data/vendor/repo.or.cz/nasm/rdoff/rdx.c +90 -0
  239. data/vendor/repo.or.cz/nasm/rdoff/segtab.c +172 -0
  240. data/vendor/repo.or.cz/nasm/rdoff/segtab.h +45 -0
  241. data/vendor/repo.or.cz/nasm/rdoff/symtab.c +159 -0
  242. data/vendor/repo.or.cz/nasm/rdoff/symtab.h +55 -0
  243. data/vendor/repo.or.cz/nasm/rdoff/test/Makefile +10 -0
  244. data/vendor/repo.or.cz/nasm/rdoff/test/makelib.sh +14 -0
  245. data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg.asm +20 -0
  246. data/vendor/repo.or.cz/nasm/rdoff/test/rdfseg2.asm +12 -0
  247. data/vendor/repo.or.cz/nasm/rdoff/test/rdftest1.asm +54 -0
  248. data/vendor/repo.or.cz/nasm/rdoff/test/rdftest2.asm +33 -0
  249. data/vendor/repo.or.cz/nasm/rdoff/test/rdtlib.asm +48 -0
  250. data/vendor/repo.or.cz/nasm/rdoff/test/rdtmain.asm +47 -0
  251. data/vendor/repo.or.cz/nasm/rdoff/test/testlib.asm +18 -0
  252. data/vendor/repo.or.cz/nasm/stdlib/snprintf.c +29 -0
  253. data/vendor/repo.or.cz/nasm/stdlib/strlcpy.c +51 -0
  254. data/vendor/repo.or.cz/nasm/stdlib/strnlen.c +46 -0
  255. data/vendor/repo.or.cz/nasm/stdlib/vsnprintf.c +51 -0
  256. data/vendor/repo.or.cz/nasm/test/Makefile +106 -0
  257. data/vendor/repo.or.cz/nasm/test/_file_.asm +5 -0
  258. data/vendor/repo.or.cz/nasm/test/_version.asm +2 -0
  259. data/vendor/repo.or.cz/nasm/test/a32offs.asm +9 -0
  260. data/vendor/repo.or.cz/nasm/test/absolute.asm +40 -0
  261. data/vendor/repo.or.cz/nasm/test/addr64x.asm +18 -0
  262. data/vendor/repo.or.cz/nasm/test/align13.asm +19 -0
  263. data/vendor/repo.or.cz/nasm/test/align13s.asm +20 -0
  264. data/vendor/repo.or.cz/nasm/test/alonesym-obj.asm +166 -0
  265. data/vendor/repo.or.cz/nasm/test/andbyte.asm +15 -0
  266. data/vendor/repo.or.cz/nasm/test/aoutso.asm +99 -0
  267. data/vendor/repo.or.cz/nasm/test/aouttest.asm +86 -0
  268. data/vendor/repo.or.cz/nasm/test/aouttest.c +36 -0
  269. data/vendor/repo.or.cz/nasm/test/avx.asm +46 -0
  270. data/vendor/repo.or.cz/nasm/test/avx005.asm +529 -0
  271. data/vendor/repo.or.cz/nasm/test/avx2.asm +1608 -0
  272. data/vendor/repo.or.cz/nasm/test/avx512cd.asm +106 -0
  273. data/vendor/repo.or.cz/nasm/test/avx512er.asm +144 -0
  274. data/vendor/repo.or.cz/nasm/test/avx512f.asm +7000 -0
  275. data/vendor/repo.or.cz/nasm/test/avx512pf.asm +88 -0
  276. data/vendor/repo.or.cz/nasm/test/bcd.asm +23 -0
  277. data/vendor/repo.or.cz/nasm/test/binexe.asm +35 -0
  278. data/vendor/repo.or.cz/nasm/test/bintest.asm +59 -0
  279. data/vendor/repo.or.cz/nasm/test/bisect.sh +22 -0
  280. data/vendor/repo.or.cz/nasm/test/br1879590.asm +25 -0
  281. data/vendor/repo.or.cz/nasm/test/br2003451.asm +17 -0
  282. data/vendor/repo.or.cz/nasm/test/br2030823.asm +7 -0
  283. data/vendor/repo.or.cz/nasm/test/br2148476.asm +221 -0
  284. data/vendor/repo.or.cz/nasm/test/br2222615.asm +19 -0
  285. data/vendor/repo.or.cz/nasm/test/br2496848.asm +42 -0
  286. data/vendor/repo.or.cz/nasm/test/br3005117.asm +26 -0
  287. data/vendor/repo.or.cz/nasm/test/br3026808.asm +20 -0
  288. data/vendor/repo.or.cz/nasm/test/br3028880.asm +8 -0
  289. data/vendor/repo.or.cz/nasm/test/br3041451.asm +59 -0
  290. data/vendor/repo.or.cz/nasm/test/br3058845.asm +14 -0
  291. data/vendor/repo.or.cz/nasm/test/br3066383.asm +70 -0
  292. data/vendor/repo.or.cz/nasm/test/br3074517.asm +12 -0
  293. data/vendor/repo.or.cz/nasm/test/br3092924.asm +25 -0
  294. data/vendor/repo.or.cz/nasm/test/br3104312.asm +11 -0
  295. data/vendor/repo.or.cz/nasm/test/br3109604.asm +9 -0
  296. data/vendor/repo.or.cz/nasm/test/br3174983.asm +9 -0
  297. data/vendor/repo.or.cz/nasm/test/br3187743.asm +7 -0
  298. data/vendor/repo.or.cz/nasm/test/br3189064.asm +7 -0
  299. data/vendor/repo.or.cz/nasm/test/br3200749.asm +9 -0
  300. data/vendor/repo.or.cz/nasm/test/br3385573.asm +11 -0
  301. data/vendor/repo.or.cz/nasm/test/br3392252.asm +43 -0
  302. data/vendor/repo.or.cz/nasm/test/br3392259.asm +8 -0
  303. data/vendor/repo.or.cz/nasm/test/br3392363.asm +4 -0
  304. data/vendor/repo.or.cz/nasm/test/br3392392.asm +16 -0
  305. data/vendor/repo.or.cz/nasm/test/br3392396.asm +5 -0
  306. data/vendor/repo.or.cz/nasm/test/br3392411.asm +22 -0
  307. data/vendor/repo.or.cz/nasm/test/br3392418.asm +3 -0
  308. data/vendor/repo.or.cz/nasm/test/br3392439.asm +25 -0
  309. data/vendor/repo.or.cz/nasm/test/br3392442.asm +6 -0
  310. data/vendor/repo.or.cz/nasm/test/br560575.asm +17 -0
  311. data/vendor/repo.or.cz/nasm/test/br560873.asm +27 -0
  312. data/vendor/repo.or.cz/nasm/test/br890790.asm +7 -0
  313. data/vendor/repo.or.cz/nasm/test/br890790_i.asm +1 -0
  314. data/vendor/repo.or.cz/nasm/test/br978756.asm +7 -0
  315. data/vendor/repo.or.cz/nasm/test/changed.asm +383 -0
  316. data/vendor/repo.or.cz/nasm/test/cofftest.asm +85 -0
  317. data/vendor/repo.or.cz/nasm/test/cofftest.c +35 -0
  318. data/vendor/repo.or.cz/nasm/test/crc32.asm +37 -0
  319. data/vendor/repo.or.cz/nasm/test/cv8struc.asm +14 -0
  320. data/vendor/repo.or.cz/nasm/test/dtbcd.asm +72 -0
  321. data/vendor/repo.or.cz/nasm/test/elf64so.asm +118 -0
  322. data/vendor/repo.or.cz/nasm/test/elfso.asm +100 -0
  323. data/vendor/repo.or.cz/nasm/test/elftest.asm +87 -0
  324. data/vendor/repo.or.cz/nasm/test/elftest.c +38 -0
  325. data/vendor/repo.or.cz/nasm/test/elftest64.c +43 -0
  326. data/vendor/repo.or.cz/nasm/test/elif.asm +39 -0
  327. data/vendor/repo.or.cz/nasm/test/expimp.asm +90 -0
  328. data/vendor/repo.or.cz/nasm/test/far64.asm +10 -0
  329. data/vendor/repo.or.cz/nasm/test/float.asm +186 -0
  330. data/vendor/repo.or.cz/nasm/test/float8.asm +135 -0
  331. data/vendor/repo.or.cz/nasm/test/floatb.asm +35 -0
  332. data/vendor/repo.or.cz/nasm/test/floatexp.asm +382 -0
  333. data/vendor/repo.or.cz/nasm/test/floatize.asm +19 -0
  334. data/vendor/repo.or.cz/nasm/test/floattest.asm +28 -0
  335. data/vendor/repo.or.cz/nasm/test/floatx.asm +525 -0
  336. data/vendor/repo.or.cz/nasm/test/fpu.asm +127 -0
  337. data/vendor/repo.or.cz/nasm/test/fwdopt.asm +133 -0
  338. data/vendor/repo.or.cz/nasm/test/fwdoptpp.asm +150 -0
  339. data/vendor/repo.or.cz/nasm/test/gas2nasm.py +104 -0
  340. data/vendor/repo.or.cz/nasm/test/gather.asm +11 -0
  341. data/vendor/repo.or.cz/nasm/test/gotoff64.asm +25 -0
  342. data/vendor/repo.or.cz/nasm/test/hexfp.asm +25 -0
  343. data/vendor/repo.or.cz/nasm/test/hle.asm +19 -0
  344. data/vendor/repo.or.cz/nasm/test/ifelse.asm +46 -0
  345. data/vendor/repo.or.cz/nasm/test/ifenv.asm +31 -0
  346. data/vendor/repo.or.cz/nasm/test/ifmacro.asm +413 -0
  347. data/vendor/repo.or.cz/nasm/test/iftoken.asm +317 -0
  348. data/vendor/repo.or.cz/nasm/test/iftoken.pl +32 -0
  349. data/vendor/repo.or.cz/nasm/test/ilog2.asm +271 -0
  350. data/vendor/repo.or.cz/nasm/test/imacro.asm +8 -0
  351. data/vendor/repo.or.cz/nasm/test/imm.asm +23 -0
  352. data/vendor/repo.or.cz/nasm/test/imm64.asm +61 -0
  353. data/vendor/repo.or.cz/nasm/test/immwarn.asm +91 -0
  354. data/vendor/repo.or.cz/nasm/test/imul.asm +117 -0
  355. data/vendor/repo.or.cz/nasm/test/inc1.asm +6 -0
  356. data/vendor/repo.or.cz/nasm/test/inc2.asm +8 -0
  357. data/vendor/repo.or.cz/nasm/test/incbin.asm +7 -0
  358. data/vendor/repo.or.cz/nasm/test/incbin.data +2 -0
  359. data/vendor/repo.or.cz/nasm/test/inctest.asm +15 -0
  360. data/vendor/repo.or.cz/nasm/test/insnlbl.asm +12 -0
  361. data/vendor/repo.or.cz/nasm/test/invlpga.asm +11 -0
  362. data/vendor/repo.or.cz/nasm/test/jmp64.asm +19 -0
  363. data/vendor/repo.or.cz/nasm/test/lar_lsl.asm +124 -0
  364. data/vendor/repo.or.cz/nasm/test/larlsl.asm +23 -0
  365. data/vendor/repo.or.cz/nasm/test/lnxhello.asm +54 -0
  366. data/vendor/repo.or.cz/nasm/test/local.asm +19 -0
  367. data/vendor/repo.or.cz/nasm/test/loopoffs.asm +12 -0
  368. data/vendor/repo.or.cz/nasm/test/lwp.asm +213 -0
  369. data/vendor/repo.or.cz/nasm/test/macro-defaults.asm +64 -0
  370. data/vendor/repo.or.cz/nasm/test/macroerr.asm +12 -0
  371. data/vendor/repo.or.cz/nasm/test/macroerr.inc +3 -0
  372. data/vendor/repo.or.cz/nasm/test/mmxsize.asm +38 -0
  373. data/vendor/repo.or.cz/nasm/test/movd.asm +12 -0
  374. data/vendor/repo.or.cz/nasm/test/movd64.asm +15 -0
  375. data/vendor/repo.or.cz/nasm/test/movimm.asm +28 -0
  376. data/vendor/repo.or.cz/nasm/test/movnti.asm +10 -0
  377. data/vendor/repo.or.cz/nasm/test/mpx-64.asm +120 -0
  378. data/vendor/repo.or.cz/nasm/test/mpx.asm +89 -0
  379. data/vendor/repo.or.cz/nasm/test/multisection.asm +96 -0
  380. data/vendor/repo.or.cz/nasm/test/nasmformat.asm +17 -0
  381. data/vendor/repo.or.cz/nasm/test/new +9 -0
  382. data/vendor/repo.or.cz/nasm/test/newrdwr.asm +24 -0
  383. data/vendor/repo.or.cz/nasm/test/nop.asm +17 -0
  384. data/vendor/repo.or.cz/nasm/test/nullfile.asm +4 -0
  385. data/vendor/repo.or.cz/nasm/test/objexe.asm +30 -0
  386. data/vendor/repo.or.cz/nasm/test/objlink.c +33 -0
  387. data/vendor/repo.or.cz/nasm/test/objtest.asm +85 -0
  388. data/vendor/repo.or.cz/nasm/test/optimization.asm +104 -0
  389. data/vendor/repo.or.cz/nasm/test/org.asm +18 -0
  390. data/vendor/repo.or.cz/nasm/test/paste.asm +12 -0
  391. data/vendor/repo.or.cz/nasm/test/pcrel.asm +52 -0
  392. data/vendor/repo.or.cz/nasm/test/perf/label.pl +18 -0
  393. data/vendor/repo.or.cz/nasm/test/perf/macro.pl +18 -0
  394. data/vendor/repo.or.cz/nasm/test/perf/token.pl +23 -0
  395. data/vendor/repo.or.cz/nasm/test/performtest.pl +192 -0
  396. data/vendor/repo.or.cz/nasm/test/pextrw.asm +3 -0
  397. data/vendor/repo.or.cz/nasm/test/pinsr16.asm +53 -0
  398. data/vendor/repo.or.cz/nasm/test/pinsr32.asm +53 -0
  399. data/vendor/repo.or.cz/nasm/test/pinsr64.asm +68 -0
  400. data/vendor/repo.or.cz/nasm/test/popcnt.asm +32 -0
  401. data/vendor/repo.or.cz/nasm/test/ppindirect.asm +42 -0
  402. data/vendor/repo.or.cz/nasm/test/pragma.asm +12 -0
  403. data/vendor/repo.or.cz/nasm/test/prefix66.asm +28 -0
  404. data/vendor/repo.or.cz/nasm/test/ptr.asm +4 -0
  405. data/vendor/repo.or.cz/nasm/test/pushseg.asm +17 -0
  406. data/vendor/repo.or.cz/nasm/test/r13.asm +15 -0
  407. data/vendor/repo.or.cz/nasm/test/radix.asm +54 -0
  408. data/vendor/repo.or.cz/nasm/test/rdpid.asm +21 -0
  409. data/vendor/repo.or.cz/nasm/test/reldef.asm +57 -0
  410. data/vendor/repo.or.cz/nasm/test/relocs.asm +20 -0
  411. data/vendor/repo.or.cz/nasm/test/riprel.asm +5357 -0
  412. data/vendor/repo.or.cz/nasm/test/riprel.pl +29 -0
  413. data/vendor/repo.or.cz/nasm/test/riprel2.asm +11 -0
  414. data/vendor/repo.or.cz/nasm/test/sha-64.asm +30 -0
  415. data/vendor/repo.or.cz/nasm/test/sha.asm +31 -0
  416. data/vendor/repo.or.cz/nasm/test/smartalign16.asm +36 -0
  417. data/vendor/repo.or.cz/nasm/test/smartalign32.asm +36 -0
  418. data/vendor/repo.or.cz/nasm/test/smartalign64.asm +36 -0
  419. data/vendor/repo.or.cz/nasm/test/splitea.asm +11 -0
  420. data/vendor/repo.or.cz/nasm/test/sreg.asm +65 -0
  421. data/vendor/repo.or.cz/nasm/test/strlen.asm +5 -0
  422. data/vendor/repo.or.cz/nasm/test/struc.asm +33 -0
  423. data/vendor/repo.or.cz/nasm/test/test67.asm +38 -0
  424. data/vendor/repo.or.cz/nasm/test/testdos.asm +13 -0
  425. data/vendor/repo.or.cz/nasm/test/testnos3.asm +973 -0
  426. data/vendor/repo.or.cz/nasm/test/time.asm +11 -0
  427. data/vendor/repo.or.cz/nasm/test/times.asm +21 -0
  428. data/vendor/repo.or.cz/nasm/test/timesneg.asm +3 -0
  429. data/vendor/repo.or.cz/nasm/test/tmap.nas +1447 -0
  430. data/vendor/repo.or.cz/nasm/test/uscore.asm +15 -0
  431. data/vendor/repo.or.cz/nasm/test/utf.asm +82 -0
  432. data/vendor/repo.or.cz/nasm/test/vaesenc.asm +22 -0
  433. data/vendor/repo.or.cz/nasm/test/vex.asm +9 -0
  434. data/vendor/repo.or.cz/nasm/test/vgather.asm +76 -0
  435. data/vendor/repo.or.cz/nasm/test/vmread.asm +26 -0
  436. data/vendor/repo.or.cz/nasm/test/weirdpaste.asm +29 -0
  437. data/vendor/repo.or.cz/nasm/test/xchg.asm +96 -0
  438. data/vendor/repo.or.cz/nasm/test/xcrypt.asm +24 -0
  439. data/vendor/repo.or.cz/nasm/test/xmm0.asm +12 -0
  440. data/vendor/repo.or.cz/nasm/test/zerobyte.asm +22 -0
  441. data/vendor/repo.or.cz/nasm/tools/cleanfile +176 -0
  442. data/vendor/repo.or.cz/nasm/tools/cleanpatch +258 -0
  443. data/vendor/repo.or.cz/nasm/tools/mkdep.pl +261 -0
  444. data/vendor/repo.or.cz/nasm/tools/release +105 -0
  445. data/vendor/repo.or.cz/nasm/tools/syncfiles.pl +137 -0
  446. data/vendor/repo.or.cz/nasm/tools/tag-release +58 -0
  447. data/vendor/repo.or.cz/nasm/version +1 -0
  448. data/vendor/repo.or.cz/nasm/version.pl +189 -0
  449. data/vendor/repo.or.cz/nasm/x86/disp8.c +131 -0
  450. data/vendor/repo.or.cz/nasm/x86/insns-iflags.ph +280 -0
  451. data/vendor/repo.or.cz/nasm/x86/insns.dat +5371 -0
  452. data/vendor/repo.or.cz/nasm/x86/insns.pl +1043 -0
  453. data/vendor/repo.or.cz/nasm/x86/regs.dat +138 -0
  454. data/vendor/repo.or.cz/nasm/x86/regs.pl +204 -0
  455. metadata +520 -0
@@ -0,0 +1,43 @@
1
+ ;; --------------------------------------------------------------------------
2
+ ;;
3
+ ;; Copyright 1996-2009 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
+ OUT: rdf2
35
+ %define __SECT__ [section .text]
36
+ %imacro library 1+.nolist
37
+ [library %1]
38
+ %endmacro
39
+ %imacro module 1+.nolist
40
+ [module %1]
41
+ %endmacro
42
+ %macro __NASM_CDecl__ 1
43
+ %endmacro
@@ -0,0 +1,532 @@
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
+
34
+ #ifndef PECOFF_H
35
+ #define PECOFF_H
36
+
37
+ /*
38
+ * Microsoft Portable Executable and Common Object
39
+ * File Format Specification
40
+ *
41
+ * Revision 8.1 – February 15, 2008
42
+ */
43
+
44
+ /*
45
+ * Machine types
46
+ */
47
+ #define IMAGE_FILE_MACHINE_UNKNOWN 0x0000
48
+ #define IMAGE_FILE_MACHINE_AM33 0x01d3
49
+ #define IMAGE_FILE_MACHINE_AMD64 0x8664
50
+ #define IMAGE_FILE_MACHINE_EBC 0x0ebc
51
+ #define IMAGE_FILE_MACHINE_M32R 0x9041
52
+ #define IMAGE_FILE_MACHINE_ALPHA 0x0184
53
+ #define IMAGE_FILE_MACHINE_ARM 0x01c0
54
+ #define IMAGE_FILE_MACHINE_ALPHA64 0x0284
55
+ #define IMAGE_FILE_MACHINE_I386 0x014c
56
+ #define IMAGE_FILE_MACHINE_IA64 0x0200
57
+ #define IMAGE_FILE_MACHINE_M68K 0x0268
58
+ #define IMAGE_FILE_MACHINE_MIPS16 0x0266
59
+ #define IMAGE_FILE_MACHINE_MIPSFPU 0x0366
60
+ #define IMAGE_FILE_MACHINE_MIPSFPU16 0x0466
61
+ #define IMAGE_FILE_MACHINE_POWERPC 0x01f0
62
+ #define IMAGE_FILE_MACHINE_POWERPCFP 0x01f1
63
+ #define IMAGE_FILE_MACHINE_R3000 0x0162
64
+ #define IMAGE_FILE_MACHINE_R4000 0x0166
65
+ #define IMAGE_FILE_MACHINE_R10000 0x0168
66
+ #define IMAGE_FILE_MACHINE_SH3 0x01a2
67
+ #define IMAGE_FILE_MACHINE_SH3DSP 0x01a3
68
+ #define IMAGE_FILE_MACHINE_SH4 0x01a6
69
+ #define IMAGE_FILE_MACHINE_SH5 0x01a8
70
+ #define IMAGE_FILE_MACHINE_THUMB 0x01c2
71
+ #define IMAGE_FILE_MACHINE_WCEMIPSV2 0x0169
72
+ #define IMAGE_FILE_MACHINE_MASK 0xffff
73
+
74
+ /*
75
+ * Characteristics
76
+ */
77
+ #define IMAGE_FILE_RELOCS_STRIPPED 0x0001
78
+ #define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002
79
+ #define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004
80
+ #define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008
81
+ #define IMAGE_FILE_AGGRESSIVE_WS_TRIM 0x0010
82
+ #define IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020
83
+ #define IMAGE_FILE_BYTES_REVERSED_LO 0x0080
84
+ #define IMAGE_FILE_32BIT_MACHINE 0x0100
85
+ #define IMAGE_FILE_DEBUG_STRIPPED 0x0200
86
+ #define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400
87
+ #define IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800
88
+ #define IMAGE_FILE_SYSTEM 0x1000
89
+ #define IMAGE_FILE_DLL 0x2000
90
+ #define IMAGE_FILE_UP_SYSTEM_ONLY 0x4000
91
+ #define IMAGE_FILE_BYTES_REVERSED_HI 0x8000
92
+
93
+ /*
94
+ * Windows subsystem
95
+ */
96
+ #define IMAGE_SUBSYSTEM_UNKNOWN 0
97
+ #define IMAGE_SUBSYSTEM_NATIVE 1
98
+ #define IMAGE_SUBSYSTEM_WINDOWS_GUI 2
99
+ #define IMAGE_SUBSYSTEM_WINDOWS_CUI 3
100
+ #define IMAGE_SUBSYSTEM_POSIX_CUI 7
101
+ #define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
102
+ #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
103
+ #define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
104
+ #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
105
+ #define IMAGE_SUBSYSTEM_EFI_ROM 13
106
+ #define IMAGE_SUBSYSTEM_XBOX 14
107
+
108
+ /*
109
+ * DLL characteristics
110
+ */
111
+ #define IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE 0x0040
112
+ #define IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY 0x0080
113
+ #define IMAGE_DLL_CHARACTERISTICS_NX_COMPAT 0x0100
114
+ #define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION 0x0200
115
+ #define IMAGE_DLLCHARACTERISTICS_NO_SEH 0x0400
116
+ #define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800
117
+ #define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000
118
+ #define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000
119
+
120
+ /*
121
+ * Section flags
122
+ */
123
+ #define IMAGE_SCN_TYPE_REG 0x00000000
124
+ #define IMAGE_SCN_TYPE_DSECT 0x00000001
125
+ #define IMAGE_SCN_TYPE_NOLOAD 0x00000002
126
+ #define IMAGE_SCN_TYPE_GROUP 0x00000004
127
+ #define IMAGE_SCN_TYPE_NO_PAD 0x00000008
128
+ #define IMAGE_SCN_TYPE_COPY 0x00000010
129
+
130
+ #define IMAGE_SCN_CNT_CODE 0x00000020
131
+ #define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040
132
+ #define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080
133
+
134
+ #define IMAGE_SCN_LNK_OTHER 0x00000100
135
+ #define IMAGE_SCN_LNK_INFO 0x00000200
136
+ #define IMAGE_SCN_TYPE_OVER 0x00000400
137
+ #define IMAGE_SCN_LNK_REMOVE 0x00000800
138
+ #define IMAGE_SCN_LNK_COMDAT 0x00001000
139
+
140
+ #define IMAGE_SCN_MAX_RELOC 0xffff
141
+
142
+ #define IMAGE_SCN_MEM_FARDATA 0x00008000
143
+ #define IMAGE_SCN_MEM_PURGEABLE 0x00020000
144
+ #define IMAGE_SCN_MEM_16BIT 0x00020000
145
+ #define IMAGE_SCN_MEM_LOCKED 0x00040000
146
+ #define IMAGE_SCN_MEM_PRELOAD 0x00080000
147
+
148
+ #define IMAGE_SCN_ALIGN_1BYTES 0x00100000
149
+ #define IMAGE_SCN_ALIGN_2BYTES 0x00200000
150
+ #define IMAGE_SCN_ALIGN_4BYTES 0x00300000
151
+ #define IMAGE_SCN_ALIGN_8BYTES 0x00400000
152
+ #define IMAGE_SCN_ALIGN_16BYTES 0x00500000
153
+ #define IMAGE_SCN_ALIGN_32BYTES 0x00600000
154
+ #define IMAGE_SCN_ALIGN_64BYTES 0x00700000
155
+ #define IMAGE_SCN_ALIGN_128BYTES 0x00800000
156
+ #define IMAGE_SCN_ALIGN_256BYTES 0x00900000
157
+ #define IMAGE_SCN_ALIGN_512BYTES 0x00a00000
158
+ #define IMAGE_SCN_ALIGN_1024BYTES 0x00b00000
159
+ #define IMAGE_SCN_ALIGN_2048BYTES 0x00c00000
160
+ #define IMAGE_SCN_ALIGN_4096BYTES 0x00d00000
161
+ #define IMAGE_SCN_ALIGN_8192BYTES 0x00e00000
162
+ #define IMAGE_SCN_ALIGN_MASK 0x00f00000
163
+
164
+ #define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000
165
+ #define IMAGE_SCN_MEM_DISCARDABLE 0x02000000
166
+ #define IMAGE_SCN_MEM_NOT_CACHED 0x04000000
167
+ #define IMAGE_SCN_MEM_NOT_PAGED 0x08000000
168
+ #define IMAGE_SCN_MEM_SHARED 0x10000000
169
+ #define IMAGE_SCN_MEM_EXECUTE 0x20000000
170
+ #define IMAGE_SCN_MEM_READ 0x40000000
171
+ #define IMAGE_SCN_MEM_WRITE 0x80000000
172
+
173
+ /*
174
+ * Relocation type x86-64
175
+ */
176
+ #define IMAGE_REL_AMD64_ABSOLUTE 0x0000
177
+ #define IMAGE_REL_AMD64_ADDR64 0x0001
178
+ #define IMAGE_REL_AMD64_ADDR32 0x0002
179
+ #define IMAGE_REL_AMD64_ADDR32NB 0x0003
180
+ #define IMAGE_REL_AMD64_REL32 0x0004
181
+ #define IMAGE_REL_AMD64_REL32_1 0x0005
182
+ #define IMAGE_REL_AMD64_REL32_2 0x0006
183
+ #define IMAGE_REL_AMD64_REL32_3 0x0007
184
+ #define IMAGE_REL_AMD64_REL32_4 0x0008
185
+ #define IMAGE_REL_AMD64_REL32_5 0x0009
186
+ #define IMAGE_REL_AMD64_SECTION 0x000a
187
+ #define IMAGE_REL_AMD64_SECREL 0x000b
188
+ #define IMAGE_REL_AMD64_SECREL7 0x000c
189
+ #define IMAGE_REL_AMD64_TOKEN 0x000d
190
+ #define IMAGE_REL_AMD64_SREL32 0x000e
191
+ #define IMAGE_REL_AMD64_PAIR 0x000f
192
+ #define IMAGE_REL_AMD64_SSPAN32 0x0010
193
+
194
+ /*
195
+ * Relocation types i386
196
+ */
197
+ #define IMAGE_REL_I386_ABSOLUTE 0x0000
198
+ #define IMAGE_REL_I386_DIR16 0x0001
199
+ #define IMAGE_REL_I386_REL16 0x0002
200
+ #define IMAGE_REL_I386_DIR32 0x0006
201
+ #define IMAGE_REL_I386_DIR32NB 0x0007
202
+ #define IMAGE_REL_I386_SEG12 0x0009
203
+ #define IMAGE_REL_I386_SECTION 0x000a
204
+ #define IMAGE_REL_I386_SECREL 0x000b
205
+ #define IMAGE_REL_I386_TOKEN 0x000c
206
+ #define IMAGE_REL_I386_SECREL7 0x000d
207
+ #define IMAGE_REL_I386_REL32 0x0014
208
+
209
+ /*
210
+ * Relocation types ARM
211
+ */
212
+ #define IMAGE_REL_ARM_ABSOLUTE 0x0000
213
+ #define IMAGE_REL_ARM_ADDR32 0x0001
214
+ #define IMAGE_REL_ARM_ADDR32NB 0x0002
215
+ #define IMAGE_REL_ARM_BRANCH24 0x0003
216
+ #define IMAGE_REL_ARM_BRANCH11 0x0004
217
+ #define IMAGE_REL_ARM_SECTION 0x000e
218
+ #define IMAGE_REL_ARM_SECREL 0x000f
219
+
220
+ /*
221
+ * Relocation types Hitachi SuperH
222
+ */
223
+ #define IMAGE_REL_SH3_ABSOLUTE 0x0000
224
+ #define IMAGE_REL_SH3_DIRECT16 0x0001
225
+ #define IMAGE_REL_SH3_DIRECT32 0x0002
226
+ #define IMAGE_REL_SH3_DIRECT8 0x0003
227
+ #define IMAGE_REL_SH3_DIRECT8_WORD 0x0004
228
+ #define IMAGE_REL_SH3_DIRECT8_LONG 0x0005
229
+ #define IMAGE_REL_SH3_DIRECT4 0x0006
230
+ #define IMAGE_REL_SH3_DIRECT4_WORD 0x0007
231
+ #define IMAGE_REL_SH3_DIRECT4_LONG 0x0008
232
+ #define IMAGE_REL_SH3_PCREL8_WORD 0x0009
233
+ #define IMAGE_REL_SH3_PCREL8_LONG 0x000a
234
+ #define IMAGE_REL_SH3_PCREL12_WORD 0x000b
235
+ #define IMAGE_REL_SH3_STARTOF_SECTION 0x000c
236
+ #define IMAGE_REL_SH3_SIZEOF_SECTION 0x000d
237
+ #define IMAGE_REL_SH3_SECTION 0x000e
238
+ #define IMAGE_REL_SH3_SECREL 0x000f
239
+ #define IMAGE_REL_SH3_DIRECT32_NB 0x0010
240
+ #define IMAGE_REL_SH3_GPREL4_LONG 0x0011
241
+ #define IMAGE_REL_SH3_TOKEN 0x0012
242
+ #define IMAGE_REL_SHM_PCRELPT 0x0013
243
+ #define IMAGE_REL_SHM_REFLO 0x0014
244
+ #define IMAGE_REL_SHM_REFHALF 0x0015
245
+ #define IMAGE_REL_SHM_RELLO 0x0016
246
+ #define IMAGE_REL_SHM_RELHALF 0x0017
247
+ #define IMAGE_REL_SHM_PAIR 0x0018
248
+ #define IMAGE_REL_SHM_NOMODE 0x8000
249
+
250
+ /*
251
+ * Relocation types IBM PowerPC processors
252
+ */
253
+ #define IMAGE_REL_PPC_ABSOLUTE 0x0000
254
+ #define IMAGE_REL_PPC_ADDR64 0x0001
255
+ #define IMAGE_REL_PPC_ADDR32 0x0002
256
+ #define IMAGE_REL_PPC_ADDR24 0x0003
257
+ #define IMAGE_REL_PPC_ADDR16 0x0004
258
+ #define IMAGE_REL_PPC_ADDR14 0x0005
259
+ #define IMAGE_REL_PPC_REL24 0x0006
260
+ #define IMAGE_REL_PPC_REL14 0x0007
261
+ #define IMAGE_REL_PPC_ADDR32NB 0x000a
262
+ #define IMAGE_REL_PPC_SECREL 0x000b
263
+ #define IMAGE_REL_PPC_SECTION 0x000c
264
+ #define IMAGE_REL_PPC_SECREL16 0x000f
265
+ #define IMAGE_REL_PPC_REFHI 0x0010
266
+ #define IMAGE_REL_PPC_REFLO 0x0011
267
+ #define IMAGE_REL_PPC_PAIR 0x0012
268
+ #define IMAGE_REL_PPC_SECRELLO 0x0013
269
+ #define IMAGE_REL_PPC_GPREL 0x0015
270
+ #define IMAGE_REL_PPC_TOKEN 0x0016
271
+
272
+ /*
273
+ * Relocation types Intel Itanium processor family (IPF)
274
+ */
275
+ #define IMAGE_REL_IA64_ABSOLUTE 0x0000
276
+ #define IMAGE_REL_IA64_IMM14 0x0001
277
+ #define IMAGE_REL_IA64_IMM22 0x0002
278
+ #define IMAGE_REL_IA64_IMM64 0x0003
279
+ #define IMAGE_REL_IA64_DIR32 0x0004
280
+ #define IMAGE_REL_IA64_DIR64 0x0005
281
+ #define IMAGE_REL_IA64_PCREL21B 0x0006
282
+ #define IMAGE_REL_IA64_PCREL21M 0x0007
283
+ #define IMAGE_REL_IA64_PCREL21F 0x0008
284
+ #define IMAGE_REL_IA64_GPREL22 0x0009
285
+ #define IMAGE_REL_IA64_LTOFF22 0x000a
286
+ #define IMAGE_REL_IA64_SECTION 0x000b
287
+ #define IMAGE_REL_IA64_SECREL22 0x000c
288
+ #define IMAGE_REL_IA64_SECREL64I 0x000d
289
+ #define IMAGE_REL_IA64_SECREL32 0x000e
290
+ #define IMAGE_REL_IA64_DIR32NB 0x0010
291
+ #define IMAGE_REL_IA64_SREL14 0x0011
292
+ #define IMAGE_REL_IA64_SREL22 0x0012
293
+ #define IMAGE_REL_IA64_SREL32 0x0013
294
+ #define IMAGE_REL_IA64_UREL32 0x0014
295
+ #define IMAGE_REL_IA64_PCREL60X 0x0015
296
+ #define IMAGE_REL_IA64_PCREL 60B 0x0016
297
+ #define IMAGE_REL_IA64_PCREL60F 0x0017
298
+ #define IMAGE_REL_IA64_PCREL60I 0x0018
299
+ #define IMAGE_REL_IA64_PCREL60M 0x0019
300
+ #define IMAGE_REL_IA64_IMMGPREL64 0x001a
301
+ #define IMAGE_REL_IA64_TOKEN 0x001b
302
+ #define IMAGE_REL_IA64_GPREL32 0x001c
303
+ #define IMAGE_REL_IA64_ADDEND 0x001f
304
+
305
+ /*
306
+ * Relocation types MIPS Processors
307
+ */
308
+ #define IMAGE_REL_MIPS_ABSOLUTE 0x0000
309
+ #define IMAGE_REL_MIPS_REFHALF 0x0001
310
+ #define IMAGE_REL_MIPS_REFWORD 0x0002
311
+ #define IMAGE_REL_MIPS_JMPADDR 0x0003
312
+ #define IMAGE_REL_MIPS_REFHI 0x0004
313
+ #define IMAGE_REL_MIPS_REFLO 0x0005
314
+ #define IMAGE_REL_MIPS_GPREL 0x0006
315
+ #define IMAGE_REL_MIPS_LITERAL 0x0007
316
+ #define IMAGE_REL_MIPS_SECTION 0x000a
317
+ #define IMAGE_REL_MIPS_SECREL 0x000b
318
+ #define IMAGE_REL_MIPS_SECRELLO 0x000c
319
+ #define IMAGE_REL_MIPS_SECRELHI 0x000d
320
+ #define IMAGE_REL_MIPS_JMPADDR16 0x0010
321
+ #define IMAGE_REL_MIPS_REFWORDNB 0x0022
322
+ #define IMAGE_REL_MIPS_PAIR 0x0025
323
+
324
+ /*
325
+ * Relocation types Mitsubishi M32R
326
+ */
327
+ #define IMAGE_REL_M32R_ABSOLUTE 0x0000
328
+ #define IMAGE_REL_M32R_ADDR32 0x0001
329
+ #define IMAGE_REL_M32R_ADDR32NB 0x0002
330
+ #define IMAGE_REL_M32R_ADDR24 0x0003
331
+ #define IMAGE_REL_M32R_GPREL16 0x0004
332
+ #define IMAGE_REL_M32R_PCREL24 0x0005
333
+ #define IMAGE_REL_M32R_PCREL16 0x0006
334
+ #define IMAGE_REL_M32R_PCREL8 0x0007
335
+ #define IMAGE_REL_M32R_REFHALF 0x0008
336
+ #define IMAGE_REL_M32R_REFHI 0x0009
337
+ #define IMAGE_REL_M32R_REFLO 0x000a
338
+ #define IMAGE_REL_M32R_PAIR 0x000b
339
+ #define IMAGE_REL_M32R_SECTION 0x000c
340
+ #define IMAGE_REL_M32R_SECREL 0x000d
341
+ #define IMAGE_REL_M32R_TOKEN 0x000e
342
+
343
+ /*
344
+ * Section number values
345
+ */
346
+ #define IMAGE_SYM_UNDEFINED 0
347
+ #define IMAGE_SYM_ABSOLUTE -1
348
+ #define IMAGE_SYM_DEBUG -2
349
+
350
+ /*
351
+ * Type representation
352
+ */
353
+ #define IMAGE_SYM_TYPE_NULL 0
354
+ #define IMAGE_SYM_TYPE_VOID 1
355
+ #define IMAGE_SYM_TYPE_CHAR 2
356
+ #define IMAGE_SYM_TYPE_SHORT 3
357
+ #define IMAGE_SYM_TYPE_INT 4
358
+ #define IMAGE_SYM_TYPE_LONG 5
359
+ #define IMAGE_SYM_TYPE_FLOAT 6
360
+ #define IMAGE_SYM_TYPE_DOUBLE 7
361
+ #define IMAGE_SYM_TYPE_STRUCT 8
362
+ #define IMAGE_SYM_TYPE_UNION 9
363
+ #define IMAGE_SYM_TYPE_ENUM 10
364
+ #define IMAGE_SYM_TYPE_MOE 11
365
+ #define IMAGE_SYM_TYPE_BYTE 12
366
+ #define IMAGE_SYM_TYPE_WORD 13
367
+ #define IMAGE_SYM_TYPE_UINT 14
368
+ #define IMAGE_SYM_TYPE_DWORD 15
369
+
370
+ #define IMAGE_SYM_DTYPE_NULL 0
371
+ #define IMAGE_SYM_DTYPE_POINTER 1
372
+ #define IMAGE_SYM_DTYPE_FUNCTION 2
373
+ #define IMAGE_SYM_DTYPE_ARRAY 3
374
+
375
+ /*
376
+ * Storage class
377
+ */
378
+ #define IMAGE_SYM_CLASS_END_OF_FUNCTION -1
379
+ #define IMAGE_SYM_CLASS_NULL 0
380
+ #define IMAGE_SYM_CLASS_AUTOMATIC 1
381
+ #define IMAGE_SYM_CLASS_EXTERNAL 2
382
+ #define IMAGE_SYM_CLASS_STATIC 3
383
+ #define IMAGE_SYM_CLAS S_REGISTER 4
384
+ #define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
385
+ #define IMAGE_SYM_CLASS_LABEL 6
386
+ #define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
387
+ #define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
388
+ #define IMAGE_SYM_CLASS_ARGUMENT 9
389
+ #define IMAGE_SYM_CLASS_STRUCT_TAG 10
390
+ #define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
391
+ #define IMAGE_SYM_CLASS_UNION_TAG 12
392
+ #define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
393
+ #define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
394
+ #define IMAGE_SYM_CLASS_ENUM_TAG 15
395
+ #define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
396
+ #define IMAGE_SYM_CLASS_REGISTER_PARAM 17
397
+ #define IMAGE_SYM_CLASS_BIT_FIELD 18
398
+ #define IMAGE_SYM_CLASS_BLOCK 100
399
+ #define IMAGE_SYM_CLASS_FUNCTION 101
400
+ #define IMAGE_SYM_CLASS_END_OF_STRUCT 102
401
+ #define IMAGE_SYM_CLASS_FILE 103
402
+ #define IMAGE_SYM_CLASS_SECTION 104
403
+ #define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
404
+ #define IMAGE_SYM_CLASS_CLR_TOKEN 107
405
+
406
+ /*
407
+ * COMDAT sections
408
+ */
409
+ #define IMAGE_COMDAT_SELECT_NODUPLICATES 1
410
+ #define IMAGE_COMDAT_SELECT_ANY 2
411
+ #define IMAGE_COMDAT_SELECT_SAME_SIZE 3
412
+ #define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
413
+ #define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
414
+ #define IMAGE_COMDAT_SELECT_LARGEST 6
415
+
416
+ /*
417
+ * Attribute certificate table
418
+ */
419
+ #define WIN_CERT_REVISION_1_0 0x0100
420
+ #define WIN_CERT_REVISION_2_0 0x0200
421
+ #define WIN_CERT_TYPE_X509 0x0001
422
+ #define WIN_CERT_TYPE_PKCS_SIGNED_DATA 0x0002
423
+ #define WIN_CERT_TYPE_RESERVED_1 0x0003
424
+ #define WIN_CERT_TYPE_TS_STACK_SIGNED 0x0004
425
+
426
+ /*
427
+ * Debug type
428
+ */
429
+ #define IMAGE_DEBUG_TYPE_UNKNOWN 0
430
+ #define IMAGE_DEBUG_TYPE_COFF 1
431
+ #define IMAGE_DEBUG_TYPE_CODEVIEW 2
432
+ #define IMAGE_DEBUG_TYPE_FPO 3
433
+ #define IMAGE_DEBUG_TYPE_MISC 4
434
+ #define IMAGE_DEBUG_TYPE_EXCEPTION 5
435
+ #define IMAGE_DEBUG_TYPE_FIXUP 6
436
+ #define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
437
+ #define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
438
+ #define IMAGE_DEBUG_TYP E_BORLAND 9
439
+ #define IMAGE_DEBUG_TYPE_RESERVED10 10
440
+ #define IMAGE_DEBUG_TYPE_CLSID 11
441
+
442
+ /*
443
+ * Base relocation types
444
+ */
445
+ #define IMAGE_REL_BASED_ABSOLUTE 0
446
+ #define IMAGE_REL_BASED_HIGH 1
447
+ #define IMAGE_REL_BASED_LOW 2
448
+ #define IMAGE_REL_BASED_HIGHLOW 3
449
+ #define IMAGE_REL_BASED_HIGHADJ 4
450
+ #define IMAGE_REL_BASED_MIPS_JMPADDR 5
451
+ #define IMAGE_REL_BASED_MIPS_JMPADDR16 9
452
+ #define IMAGE_REL_BASED_DIR64 10
453
+
454
+ /*
455
+ * TLS callback functions
456
+ */
457
+ #define DLL_PROCESS_ATTACH 1
458
+ #define DLL_THREAD_ATTACH 2
459
+ #define DLL_THREAD_DETACH 3
460
+ #define DLL_PROCESS_DETACH 0
461
+
462
+ /*
463
+ * Import Type
464
+ */
465
+ #define IMPORT_CODE 0
466
+ #define IMPORT_DATA 1
467
+ #define IMPORT_CONST 2
468
+
469
+ /*
470
+ * Import name type
471
+ */
472
+ #define IMPORT_ORDINAL 0
473
+ #define IMPORT_NAME 1
474
+ #define IMPORT_NAME_NOPREFIX 2
475
+ #define IMPORT_NAME_UNDECORATE 3
476
+
477
+ struct coff_Section {
478
+ struct SAA *data;
479
+ uint32_t len;
480
+ int nrelocs;
481
+ int32_t index;
482
+ struct coff_Reloc *head, **tail;
483
+ uint32_t flags; /* section flags */
484
+ char *name;
485
+ int32_t namepos; /* Offset of name into the strings table */
486
+ int32_t pos, relpos;
487
+ };
488
+
489
+ struct coff_Reloc {
490
+ struct coff_Reloc *next;
491
+ int32_t address; /* relative to _start_ of section */
492
+ int32_t symbol; /* symbol number */
493
+ enum {
494
+ SECT_SYMBOLS,
495
+ ABS_SYMBOL,
496
+ REAL_SYMBOLS
497
+ } symbase; /* relocation for symbol number :) */
498
+ int16_t type;
499
+ };
500
+
501
+ struct coff_Symbol {
502
+ char name[9];
503
+ int32_t strpos; /* string table position of name */
504
+ int32_t value; /* address, or COMMON variable size */
505
+ int section; /* section number where it's defined
506
+ * - in COFF codes, not NASM codes */
507
+ bool is_global; /* is it a global symbol or not? */
508
+ int16_t type; /* 0 - notype, 0x20 - function */
509
+ int32_t namlen; /* full name length */
510
+ };
511
+
512
+ struct coff_DebugInfo {
513
+ int32_t segto;
514
+ int32_t seg;
515
+ uint64_t size;
516
+ struct coff_Section *section;
517
+ };
518
+
519
+ extern struct coff_Section **coff_sects;
520
+ extern int coff_nsects;
521
+ extern struct SAA *coff_syms;
522
+ extern uint32_t coff_nsyms;
523
+ extern struct SAA *coff_strs;
524
+ extern bool win32, win64;
525
+
526
+ extern char coff_infile[FILENAME_MAX];
527
+ extern char coff_outfile[FILENAME_MAX];
528
+
529
+ extern int coff_make_section(char *name, uint32_t flags);
530
+
531
+
532
+ #endif /* PECOFF_H */