ffi 1.9.18-x86-mingw32 → 1.9.21-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ffi might be problematic. Click here for more details.

Files changed (384) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +3 -2
  3. data/Rakefile +14 -4
  4. data/ext/ffi_c/AbstractMemory.c +6 -1
  5. data/ext/ffi_c/Platform.c +10 -2
  6. data/ext/ffi_c/extconf.rb +7 -2
  7. data/ext/ffi_c/libffi.bsd.mk +9 -3
  8. data/ext/ffi_c/libffi.darwin.mk +14 -4
  9. data/ext/ffi_c/libffi.gnu.mk +2 -1
  10. data/ext/ffi_c/libffi.mk +9 -4
  11. data/ext/ffi_c/libffi/ChangeLog.libffi +2 -2
  12. data/ext/ffi_c/libffi/{ChangeLog → ChangeLog.libffi-3.1} +1402 -2
  13. data/ext/ffi_c/libffi/ChangeLog.v1 +1 -1
  14. data/ext/ffi_c/libffi/LICENSE +1 -1
  15. data/ext/ffi_c/libffi/Makefile.am +166 -157
  16. data/ext/ffi_c/libffi/Makefile.in +923 -938
  17. data/ext/ffi_c/libffi/README +164 -52
  18. data/ext/ffi_c/libffi/acinclude.m4 +381 -0
  19. data/ext/ffi_c/libffi/aclocal.m4 +645 -384
  20. data/ext/ffi_c/libffi/autogen.sh +2 -0
  21. data/ext/ffi_c/libffi/autom4te.cache/output.0 +21972 -0
  22. data/ext/ffi_c/libffi/autom4te.cache/output.1 +21972 -0
  23. data/ext/ffi_c/libffi/autom4te.cache/output.2 +21972 -0
  24. data/ext/ffi_c/libffi/autom4te.cache/output.3 +21972 -0
  25. data/ext/ffi_c/libffi/autom4te.cache/requests +331 -0
  26. data/ext/ffi_c/libffi/autom4te.cache/traces.0 +4010 -0
  27. data/ext/ffi_c/libffi/autom4te.cache/traces.1 +1005 -0
  28. data/ext/ffi_c/libffi/autom4te.cache/traces.2 +4010 -0
  29. data/ext/ffi_c/libffi/autom4te.cache/traces.3 +4010 -0
  30. data/ext/ffi_c/libffi/compile +218 -14
  31. data/ext/ffi_c/libffi/config.guess +329 -368
  32. data/ext/ffi_c/libffi/config.sub +232 -112
  33. data/ext/ffi_c/libffi/configure +6970 -2189
  34. data/ext/ffi_c/libffi/configure.ac +148 -256
  35. data/ext/ffi_c/libffi/configure.host +265 -4
  36. data/ext/ffi_c/libffi/depcomp +346 -185
  37. data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
  38. data/ext/ffi_c/libffi/doc/Makefile.in +811 -0
  39. data/ext/ffi_c/libffi/doc/libffi.texi +430 -45
  40. data/ext/ffi_c/libffi/{mdate-sh → doc/mdate-sh} +40 -13
  41. data/ext/ffi_c/libffi/{texinfo.tex → doc/texinfo.tex} +3990 -1121
  42. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  43. data/ext/ffi_c/libffi/fficonfig.h.in +24 -13
  44. data/ext/ffi_c/libffi/fficonfig.h.in~ +210 -0
  45. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +207 -0
  46. data/ext/ffi_c/libffi/include/Makefile.am +3 -3
  47. data/ext/ffi_c/libffi/include/Makefile.in +188 -71
  48. data/ext/ffi_c/libffi/include/ffi.h.in +107 -50
  49. data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
  50. data/ext/ffi_c/libffi/include/ffi_common.h +32 -11
  51. data/ext/ffi_c/libffi/install-sh +190 -202
  52. data/ext/ffi_c/libffi/libffi.map.in +80 -0
  53. data/ext/ffi_c/libffi/libffi.pc.in +3 -2
  54. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +637 -0
  55. data/ext/ffi_c/libffi/libtool-ldflags +106 -0
  56. data/ext/ffi_c/libffi/libtool-version +1 -1
  57. data/ext/ffi_c/libffi/ltmain.sh +3553 -2033
  58. data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  59. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +69 -0
  60. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +13 -8
  61. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +31 -104
  62. data/ext/ffi_c/libffi/m4/{ax_check_compiler_flags.m4 → ax_check_compile_flag.m4} +30 -34
  63. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +32 -11
  64. data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +6 -5
  65. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +31 -21
  66. data/ext/ffi_c/libffi/m4/libtool.m4 +1691 -1135
  67. data/ext/ffi_c/libffi/m4/ltoptions.m4 +104 -36
  68. data/ext/ffi_c/libffi/m4/ltsugar.m4 +4 -3
  69. data/ext/ffi_c/libffi/m4/ltversion.m4 +6 -6
  70. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +4 -3
  71. data/ext/ffi_c/libffi/man/Makefile.am +2 -2
  72. data/ext/ffi_c/libffi/man/Makefile.in +141 -49
  73. data/ext/ffi_c/libffi/man/ffi.3 +10 -0
  74. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +6 -4
  75. data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  76. data/ext/ffi_c/libffi/missing +150 -311
  77. data/ext/ffi_c/libffi/msvcc.sh +72 -9
  78. data/ext/ffi_c/libffi/src/aarch64/ffi.c +941 -0
  79. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
  80. data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
  81. data/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
  82. data/ext/ffi_c/libffi/src/alpha/ffi.c +335 -98
  83. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +10 -1
  84. data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  85. data/ext/ffi_c/libffi/src/alpha/osf.S +161 -266
  86. data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
  87. data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
  88. data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
  89. data/ext/ffi_c/libffi/src/arm/ffi.c +597 -517
  90. data/ext/ffi_c/libffi/src/arm/ffitarget.h +24 -7
  91. data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
  92. data/ext/ffi_c/libffi/src/arm/sysv.S +303 -417
  93. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +6 -1
  94. data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  95. data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  96. data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  97. data/ext/ffi_c/libffi/src/closures.c +319 -44
  98. data/ext/ffi_c/libffi/src/cris/ffi.c +10 -7
  99. data/ext/ffi_c/libffi/src/cris/ffitarget.h +6 -1
  100. data/ext/ffi_c/libffi/src/debug.c +6 -1
  101. data/ext/ffi_c/libffi/src/dlmalloc.c +16 -11
  102. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  103. data/ext/ffi_c/libffi/src/frv/ffitarget.h +6 -1
  104. data/ext/ffi_c/libffi/src/ia64/ffi.c +11 -7
  105. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +6 -1
  106. data/ext/ffi_c/libffi/src/java_raw_api.c +23 -5
  107. data/ext/ffi_c/libffi/src/m32r/ffi.c +1 -1
  108. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +6 -1
  109. data/ext/ffi_c/libffi/src/m68k/ffi.c +87 -13
  110. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +6 -1
  111. data/ext/ffi_c/libffi/src/m68k/sysv.S +119 -32
  112. data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  113. data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  114. data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  115. data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  116. data/ext/ffi_c/libffi/{fficonfig.hw → src/metag/ffitarget.h} +22 -26
  117. data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  118. data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  119. data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  120. data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  121. data/ext/ffi_c/libffi/src/mips/ffi.c +95 -28
  122. data/ext/ffi_c/libffi/src/mips/ffitarget.h +9 -2
  123. data/ext/ffi_c/libffi/src/mips/n32.S +126 -56
  124. data/ext/ffi_c/libffi/src/mips/o32.S +148 -27
  125. data/ext/ffi_c/libffi/src/moxie/eabi.S +55 -82
  126. data/ext/ffi_c/libffi/src/moxie/ffi.c +40 -44
  127. data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  128. data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  129. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  130. data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  131. data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
  132. data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  133. data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  134. data/ext/ffi_c/libffi/src/pa/ffitarget.h +8 -1
  135. data/ext/ffi_c/libffi/src/powerpc/aix.S +6 -6
  136. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +3 -1
  137. data/ext/ffi_c/libffi/src/powerpc/asm.h +2 -2
  138. data/ext/ffi_c/libffi/src/powerpc/darwin.S +2 -7
  139. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +22 -26
  140. data/ext/ffi_c/libffi/src/powerpc/ffi.c +103 -1378
  141. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +25 -25
  142. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +945 -0
  143. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
  144. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  145. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +100 -44
  146. data/ext/ffi_c/libffi/src/powerpc/linux64.S +100 -59
  147. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +360 -108
  148. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +138 -68
  149. data/ext/ffi_c/libffi/src/powerpc/sysv.S +68 -112
  150. data/ext/ffi_c/libffi/src/prep_cif.c +108 -24
  151. data/ext/ffi_c/libffi/src/raw_api.c +18 -5
  152. data/ext/ffi_c/libffi/src/s390/ffi.c +294 -318
  153. data/ext/ffi_c/libffi/src/s390/ffitarget.h +9 -1
  154. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  155. data/ext/ffi_c/libffi/src/s390/sysv.S +257 -366
  156. data/ext/ffi_c/libffi/src/sh/ffi.c +4 -3
  157. data/ext/ffi_c/libffi/src/sh/ffitarget.h +6 -1
  158. data/ext/ffi_c/libffi/src/sh64/ffi.c +3 -2
  159. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +6 -1
  160. data/ext/ffi_c/libffi/src/sparc/ffi.c +326 -527
  161. data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
  162. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +20 -7
  163. data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  164. data/ext/ffi_c/libffi/src/sparc/v8.S +364 -234
  165. data/ext/ffi_c/libffi/src/sparc/v9.S +340 -207
  166. data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  167. data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  168. data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  169. data/ext/ffi_c/libffi/src/types.c +43 -14
  170. data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  171. data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  172. data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  173. data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  174. data/ext/ffi_c/libffi/src/x86/ffi.c +589 -500
  175. data/ext/ffi_c/libffi/src/x86/ffi64.c +338 -116
  176. data/ext/ffi_c/libffi/src/x86/ffitarget.h +55 -35
  177. data/ext/ffi_c/libffi/src/x86/ffiw64.c +287 -0
  178. data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
  179. data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
  180. data/ext/ffi_c/libffi/src/x86/sysv.S +975 -400
  181. data/ext/ffi_c/libffi/src/x86/unix64.S +398 -299
  182. data/ext/ffi_c/libffi/src/x86/win64.S +222 -458
  183. data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
  184. data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
  185. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
  186. data/ext/ffi_c/libffi/src/xtensa/sysv.S +253 -0
  187. data/ext/ffi_c/libffi/stamp-h.in +1 -0
  188. data/ext/ffi_c/libffi/testsuite/Makefile.am +78 -73
  189. data/ext/ffi_c/libffi/testsuite/Makefile.in +218 -111
  190. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +120 -25
  191. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +21 -1
  192. data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  193. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -6
  194. data/ext/ffi_c/libffi/testsuite/libffi.call/{closure_stdcall.c → closure_simple.c} +7 -16
  195. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -4
  196. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -4
  197. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -4
  198. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -4
  199. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -4
  200. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -4
  201. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -4
  202. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +5 -5
  203. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -4
  204. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -4
  205. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -4
  206. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -4
  207. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -4
  208. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -4
  209. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -4
  210. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -4
  211. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +5 -5
  212. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -4
  213. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -4
  214. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -4
  215. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -4
  216. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -4
  217. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -4
  218. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -4
  219. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -4
  220. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -4
  221. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -4
  222. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +4 -6
  223. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +4 -6
  224. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +4 -4
  225. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -4
  226. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -4
  227. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +4 -4
  228. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -4
  229. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -4
  230. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +4 -4
  231. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +4 -4
  232. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +10 -9
  233. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +3 -3
  234. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +10 -9
  235. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
  236. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
  237. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +1 -1
  238. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +11 -9
  239. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
  240. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
  241. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
  242. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
  243. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +5 -5
  244. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
  245. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +2 -2
  246. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +23 -40
  247. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +3 -1
  248. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +6 -4
  249. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +4 -2
  250. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
  251. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +18 -19
  252. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +6 -16
  253. data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  254. data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  255. data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  256. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -1
  257. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +6 -6
  258. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +8 -8
  259. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +6 -6
  260. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
  261. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +5 -5
  262. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +5 -5
  263. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +5 -5
  264. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +5 -5
  265. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +6 -6
  266. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +5 -5
  267. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +6 -6
  268. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +6 -6
  269. data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  271. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +1 -0
  272. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  273. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +1 -1
  274. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +1 -1
  275. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +7 -7
  276. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +7 -7
  277. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +5 -5
  278. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +5 -5
  279. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +2 -2
  280. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  281. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  282. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  283. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +9 -7
  284. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +7 -7
  285. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +7 -6
  286. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +9 -8
  287. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +9 -8
  288. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +9 -9
  289. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +9 -9
  290. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +9 -8
  291. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +9 -8
  292. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +2 -2
  293. data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  294. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest.cc +3 -10
  295. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest_ffi_call.cc +2 -1
  296. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
  297. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
  298. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
  299. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
  300. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  301. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  302. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  303. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  304. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  305. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  306. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  307. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  308. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  309. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  310. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  311. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  312. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  313. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  314. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  315. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  316. data/ext/ffi_c/libffi/testsuite/{libffi.special/special.exp → libffi.complex/complex.exp} +9 -8
  317. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  318. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  319. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  320. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  321. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  322. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  323. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  324. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  325. data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  326. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  327. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  328. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  329. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  330. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  331. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  332. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  333. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  334. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  335. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  336. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  337. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  338. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  339. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  340. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  341. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  342. data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  343. data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  344. data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  345. data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  346. data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  347. data/ffi.gemspec +2 -2
  348. data/lib/2.0/ffi_c.so +0 -0
  349. data/lib/2.1/ffi_c.so +0 -0
  350. data/lib/2.2/ffi_c.so +0 -0
  351. data/lib/2.3/ffi_c.so +0 -0
  352. data/lib/2.4/ffi_c.so +0 -0
  353. data/lib/2.5/ffi_c.so +0 -0
  354. data/lib/ffi/enum.rb +124 -0
  355. data/lib/ffi/library.rb +65 -13
  356. data/lib/ffi/platform.rb +7 -2
  357. data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
  358. data/lib/ffi/platform/x86_64-windows/types.conf +113 -20
  359. data/lib/ffi/pointer.rb +1 -0
  360. data/lib/ffi/struct.rb +0 -2
  361. data/lib/ffi/version.rb +1 -1
  362. data/spec/ffi/bitmask_spec.rb +575 -0
  363. data/spec/ffi/embed-test/ext/Makefile +242 -0
  364. data/spec/ffi/fixtures/BitmaskTest.c +51 -0
  365. data/spec/ffi/rbx/memory_pointer_spec.rb +4 -0
  366. data/spec/ffi/struct_spec.rb +0 -4
  367. metadata +158 -32
  368. data/ext/ffi_c/libffi/Makefile.vc +0 -141
  369. data/ext/ffi_c/libffi/Makefile.vc64 +0 -141
  370. data/ext/ffi_c/libffi/build-ios.sh +0 -67
  371. data/ext/ffi_c/libffi/doc/libffi.info +0 -593
  372. data/ext/ffi_c/libffi/doc/stamp-vti +0 -4
  373. data/ext/ffi_c/libffi/include/ffi.h.vc +0 -427
  374. data/ext/ffi_c/libffi/include/ffi.h.vc64 +0 -427
  375. data/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -118
  376. data/ext/ffi_c/libffi/src/arm/trampoline.S +0 -4450
  377. data/ext/ffi_c/libffi/src/x86/darwin.S +0 -444
  378. data/ext/ffi_c/libffi/src/x86/darwin64.S +0 -416
  379. data/ext/ffi_c/libffi/src/x86/freebsd.S +0 -458
  380. data/ext/ffi_c/libffi/src/x86/win32.S +0 -1065
  381. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -300
  382. data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -63
  383. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -44
  384. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -96
@@ -1,38 +1,31 @@
1
1
  #! /bin/sh
2
2
  # Configuration validation subroutine script.
3
- # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
- # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
5
- # Free Software Foundation, Inc.
3
+ # Copyright 1992-2016 Free Software Foundation, Inc.
6
4
 
7
- timestamp='2009-11-20'
5
+ timestamp='2016-11-04'
8
6
 
9
- # This file is (in principle) common to ALL GNU software.
10
- # The presence of a machine in this file suggests that SOME GNU software
11
- # can handle that machine. It does not imply ALL GNU software can.
12
- #
13
- # This file is free software; you can redistribute it and/or modify
14
- # it under the terms of the GNU General Public License as published by
15
- # the Free Software Foundation; either version 2 of the License, or
7
+ # This file is free software; you can redistribute it and/or modify it
8
+ # under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 3 of the License, or
16
10
  # (at your option) any later version.
17
11
  #
18
- # This program is distributed in the hope that it will be useful,
19
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- # GNU General Public License for more details.
12
+ # This program is distributed in the hope that it will be useful, but
13
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # General Public License for more details.
22
16
  #
23
17
  # You should have received a copy of the GNU General Public License
24
- # along with this program; if not, write to the Free Software
25
- # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26
- # 02110-1301, USA.
18
+ # along with this program; if not, see <http://www.gnu.org/licenses/>.
27
19
  #
28
20
  # As a special exception to the GNU General Public License, if you
29
21
  # distribute this file as part of a program that contains a
30
22
  # configuration script generated by Autoconf, you may include it under
31
- # the same distribution terms that you use for the rest of that program.
23
+ # the same distribution terms that you use for the rest of that
24
+ # program. This Exception is an additional permission under section 7
25
+ # of the GNU General Public License, version 3 ("GPLv3").
32
26
 
33
27
 
34
- # Please send patches to <config-patches@gnu.org>. Submit a context
35
- # diff and a properly formatted GNU ChangeLog entry.
28
+ # Please send patches to <config-patches@gnu.org>.
36
29
  #
37
30
  # Configuration subroutine to validate and canonicalize a configuration type.
38
31
  # Supply the specified configuration type as an argument.
@@ -40,7 +33,7 @@ timestamp='2009-11-20'
40
33
  # Otherwise, we print the canonical config type on stdout and succeed.
41
34
 
42
35
  # You can get the latest version of this script from:
43
- # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
36
+ # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
44
37
 
45
38
  # This file is supposed to be the same for all GNU packages
46
39
  # and recognize all the CPU types, system types and aliases
@@ -60,8 +53,7 @@ timestamp='2009-11-20'
60
53
  me=`echo "$0" | sed -e 's,.*/,,'`
61
54
 
62
55
  usage="\
63
- Usage: $0 [OPTION] CPU-MFR-OPSYS
64
- $0 [OPTION] ALIAS
56
+ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
65
57
 
66
58
  Canonicalize a configuration name.
67
59
 
@@ -75,8 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
75
67
  version="\
76
68
  GNU config.sub ($timestamp)
77
69
 
78
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
79
- 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
70
+ Copyright 1992-2016 Free Software Foundation, Inc.
80
71
 
81
72
  This is free software; see the source for copying conditions. There is NO
82
73
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -123,13 +114,18 @@ esac
123
114
  # Here we must recognize all the valid KERNEL-OS combinations.
124
115
  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
125
116
  case $maybe_os in
126
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
127
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
128
- kopensolaris*-gnu* | \
117
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
118
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
119
+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
120
+ kopensolaris*-gnu* | cloudabi*-eabi* | \
129
121
  storm-chaos* | os2-emx* | rtmk-nova*)
130
122
  os=-$maybe_os
131
123
  basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132
124
  ;;
125
+ android-linux)
126
+ os=-linux-android
127
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
128
+ ;;
133
129
  *)
134
130
  basic_machine=`echo $1 | sed 's/-[^-]*$//'`
135
131
  if [ $basic_machine != $1 ]
@@ -152,12 +148,12 @@ case $os in
152
148
  -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
153
149
  -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
154
150
  -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
155
- -apple | -axis | -knuth | -cray | -microblaze)
151
+ -apple | -axis | -knuth | -cray | -microblaze*)
156
152
  os=
157
153
  basic_machine=$1
158
154
  ;;
159
- -bluegene*)
160
- os=-cnk
155
+ -bluegene*)
156
+ os=-cnk
161
157
  ;;
162
158
  -sim | -cisco | -oki | -wec | -winbond)
163
159
  os=
@@ -173,10 +169,10 @@ case $os in
173
169
  os=-chorusos
174
170
  basic_machine=$1
175
171
  ;;
176
- -chorusrdb)
177
- os=-chorusrdb
172
+ -chorusrdb)
173
+ os=-chorusrdb
178
174
  basic_machine=$1
179
- ;;
175
+ ;;
180
176
  -hiux*)
181
177
  os=-hiuxwe2
182
178
  ;;
@@ -221,6 +217,12 @@ case $os in
221
217
  -isc*)
222
218
  basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
223
219
  ;;
220
+ -lynx*178)
221
+ os=-lynxos178
222
+ ;;
223
+ -lynx*5)
224
+ os=-lynxos5
225
+ ;;
224
226
  -lynx*)
225
227
  os=-lynxos
226
228
  ;;
@@ -245,20 +247,29 @@ case $basic_machine in
245
247
  # Some are omitted here because they have special meanings below.
246
248
  1750a | 580 \
247
249
  | a29k \
250
+ | aarch64 | aarch64_be \
248
251
  | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
249
252
  | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
250
253
  | am33_2.0 \
251
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
254
+ | arc | arceb \
255
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
256
+ | avr | avr32 \
257
+ | ba \
258
+ | be32 | be64 \
252
259
  | bfin \
253
- | c4x | clipper \
260
+ | c4x | c8051 | clipper \
254
261
  | d10v | d30v | dlx | dsp16xx \
255
- | fido | fr30 | frv \
262
+ | e2k | epiphany \
263
+ | fido | fr30 | frv | ft32 \
256
264
  | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265
+ | hexagon \
257
266
  | i370 | i860 | i960 | ia64 \
258
267
  | ip2k | iq2000 \
268
+ | k1om \
269
+ | le32 | le64 \
259
270
  | lm32 \
260
271
  | m32c | m32r | m32rle | m68000 | m68k | m88k \
261
- | maxq | mb | microblaze | mcore | mep | metag \
272
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
262
273
  | mips | mipsbe | mipseb | mipsel | mipsle \
263
274
  | mips16 \
264
275
  | mips64 | mips64el \
@@ -272,38 +283,56 @@ case $basic_machine in
272
283
  | mips64vr5900 | mips64vr5900el \
273
284
  | mipsisa32 | mipsisa32el \
274
285
  | mipsisa32r2 | mipsisa32r2el \
286
+ | mipsisa32r6 | mipsisa32r6el \
275
287
  | mipsisa64 | mipsisa64el \
276
288
  | mipsisa64r2 | mipsisa64r2el \
289
+ | mipsisa64r6 | mipsisa64r6el \
277
290
  | mipsisa64sb1 | mipsisa64sb1el \
278
291
  | mipsisa64sr71k | mipsisa64sr71kel \
292
+ | mipsr5900 | mipsr5900el \
279
293
  | mipstx39 | mipstx39el \
280
294
  | mn10200 | mn10300 \
281
295
  | moxie \
282
296
  | mt \
283
297
  | msp430 \
284
- | nios | nios2 \
298
+ | nds32 | nds32le | nds32be \
299
+ | nios | nios2 | nios2eb | nios2el \
285
300
  | ns16k | ns32k \
286
- | or32 \
301
+ | open8 | or1k | or1knd | or32 \
287
302
  | pdp10 | pdp11 | pj | pjl \
288
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
303
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
304
+ | pru \
289
305
  | pyramid \
290
- | rx \
306
+ | riscv32 | riscv64 \
307
+ | rl78 | rx \
291
308
  | score \
292
- | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
309
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
293
310
  | sh64 | sh64le \
294
311
  | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
295
312
  | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
296
- | spu | strongarm \
297
- | tahoe | thumb | tic4x | tic80 | tron \
313
+ | spu \
314
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
298
315
  | ubicom32 \
299
- | v850 | v850e \
316
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
317
+ | visium \
300
318
  | we32k \
301
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
319
+ | x86 | xc16x | xstormy16 | xtensa \
302
320
  | z8k | z80)
303
321
  basic_machine=$basic_machine-unknown
304
322
  ;;
305
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
306
- # Motorola 68HC11/12.
323
+ c54x)
324
+ basic_machine=tic54x-unknown
325
+ ;;
326
+ c55x)
327
+ basic_machine=tic55x-unknown
328
+ ;;
329
+ c6x)
330
+ basic_machine=tic6x-unknown
331
+ ;;
332
+ leon|leon[3-9])
333
+ basic_machine=sparc-$basic_machine
334
+ ;;
335
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
307
336
  basic_machine=$basic_machine-unknown
308
337
  os=-none
309
338
  ;;
@@ -313,6 +342,21 @@ case $basic_machine in
313
342
  basic_machine=mt-unknown
314
343
  ;;
315
344
 
345
+ strongarm | thumb | xscale)
346
+ basic_machine=arm-unknown
347
+ ;;
348
+ xgate)
349
+ basic_machine=$basic_machine-unknown
350
+ os=-none
351
+ ;;
352
+ xscaleeb)
353
+ basic_machine=armeb-unknown
354
+ ;;
355
+
356
+ xscaleel)
357
+ basic_machine=armel-unknown
358
+ ;;
359
+
316
360
  # We use `pc' rather than `unknown'
317
361
  # because (1) that's what they normally are, and
318
362
  # (2) the word "unknown" tends to confuse beginning users.
@@ -327,25 +371,32 @@ case $basic_machine in
327
371
  # Recognize the basic CPU types with company name.
328
372
  580-* \
329
373
  | a29k-* \
374
+ | aarch64-* | aarch64_be-* \
330
375
  | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
331
376
  | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
332
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
377
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
333
378
  | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
334
379
  | avr-* | avr32-* \
380
+ | ba-* \
381
+ | be32-* | be64-* \
335
382
  | bfin-* | bs2000-* \
336
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
337
- | clipper-* | craynv-* | cydra-* \
383
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
384
+ | c8051-* | clipper-* | craynv-* | cydra-* \
338
385
  | d10v-* | d30v-* | dlx-* \
339
- | elxsi-* \
386
+ | e2k-* | elxsi-* \
340
387
  | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
341
388
  | h8300-* | h8500-* \
342
389
  | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
390
+ | hexagon-* \
343
391
  | i*86-* | i860-* | i960-* | ia64-* \
344
392
  | ip2k-* | iq2000-* \
393
+ | k1om-* \
394
+ | le32-* | le64-* \
345
395
  | lm32-* \
346
396
  | m32c-* | m32r-* | m32rle-* \
347
397
  | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
348
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
398
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
399
+ | microblaze-* | microblazeel-* \
349
400
  | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
350
401
  | mips16-* \
351
402
  | mips64-* | mips64el-* \
@@ -359,33 +410,44 @@ case $basic_machine in
359
410
  | mips64vr5900-* | mips64vr5900el-* \
360
411
  | mipsisa32-* | mipsisa32el-* \
361
412
  | mipsisa32r2-* | mipsisa32r2el-* \
413
+ | mipsisa32r6-* | mipsisa32r6el-* \
362
414
  | mipsisa64-* | mipsisa64el-* \
363
415
  | mipsisa64r2-* | mipsisa64r2el-* \
416
+ | mipsisa64r6-* | mipsisa64r6el-* \
364
417
  | mipsisa64sb1-* | mipsisa64sb1el-* \
365
418
  | mipsisa64sr71k-* | mipsisa64sr71kel-* \
419
+ | mipsr5900-* | mipsr5900el-* \
366
420
  | mipstx39-* | mipstx39el-* \
367
421
  | mmix-* \
368
422
  | mt-* \
369
423
  | msp430-* \
370
- | nios-* | nios2-* \
424
+ | nds32-* | nds32le-* | nds32be-* \
425
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
371
426
  | none-* | np1-* | ns16k-* | ns32k-* \
427
+ | open8-* \
428
+ | or1k*-* \
372
429
  | orion-* \
373
430
  | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
374
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
431
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
432
+ | pru-* \
375
433
  | pyramid-* \
376
- | romp-* | rs6000-* | rx-* \
434
+ | riscv32-* | riscv64-* \
435
+ | rl78-* | romp-* | rs6000-* | rx-* \
377
436
  | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
378
437
  | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
379
438
  | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
380
439
  | sparclite-* \
381
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
382
- | tahoe-* | thumb-* \
383
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
440
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
441
+ | tahoe-* \
442
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
443
+ | tile*-* \
384
444
  | tron-* \
385
445
  | ubicom32-* \
386
- | v850-* | v850e-* | vax-* \
446
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
447
+ | vax-* \
448
+ | visium-* \
387
449
  | we32k-* \
388
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
450
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
389
451
  | xstormy16-* | xtensa*-* \
390
452
  | ymp-* \
391
453
  | z8k-* | z80-*)
@@ -410,7 +472,7 @@ case $basic_machine in
410
472
  basic_machine=a29k-amd
411
473
  os=-udi
412
474
  ;;
413
- abacus)
475
+ abacus)
414
476
  basic_machine=abacus-unknown
415
477
  ;;
416
478
  adobe68k)
@@ -460,6 +522,9 @@ case $basic_machine in
460
522
  basic_machine=i386-pc
461
523
  os=-aros
462
524
  ;;
525
+ asmjs)
526
+ basic_machine=asmjs-unknown
527
+ ;;
463
528
  aux)
464
529
  basic_machine=m68k-apple
465
530
  os=-aux
@@ -480,11 +545,20 @@ case $basic_machine in
480
545
  basic_machine=powerpc-ibm
481
546
  os=-cnk
482
547
  ;;
548
+ c54x-*)
549
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
550
+ ;;
551
+ c55x-*)
552
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
553
+ ;;
554
+ c6x-*)
555
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
556
+ ;;
483
557
  c90)
484
558
  basic_machine=c90-cray
485
559
  os=-unicos
486
560
  ;;
487
- cegcc)
561
+ cegcc)
488
562
  basic_machine=arm-unknown
489
563
  os=-cegcc
490
564
  ;;
@@ -516,7 +590,7 @@ case $basic_machine in
516
590
  basic_machine=craynv-cray
517
591
  os=-unicosmp
518
592
  ;;
519
- cr16)
593
+ cr16 | cr16-*)
520
594
  basic_machine=cr16-unknown
521
595
  os=-elf
522
596
  ;;
@@ -571,6 +645,14 @@ case $basic_machine in
571
645
  basic_machine=m68k-bull
572
646
  os=-sysv3
573
647
  ;;
648
+ e500v[12])
649
+ basic_machine=powerpc-unknown
650
+ os=$os"spe"
651
+ ;;
652
+ e500v[12]-*)
653
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
654
+ os=$os"spe"
655
+ ;;
574
656
  ebmon29k)
575
657
  basic_machine=a29k-amd
576
658
  os=-ebmon
@@ -674,7 +756,6 @@ case $basic_machine in
674
756
  i370-ibm* | ibm*)
675
757
  basic_machine=i370-ibm
676
758
  ;;
677
- # I'm not sure what "Sysv32" means. Should this be sysv3.2?
678
759
  i*86v32)
679
760
  basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
680
761
  os=-sysv32
@@ -713,6 +794,9 @@ case $basic_machine in
713
794
  basic_machine=m68k-isi
714
795
  os=-sysv
715
796
  ;;
797
+ leon-*|leon[3-9]-*)
798
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
799
+ ;;
716
800
  m68knommu)
717
801
  basic_machine=m68k-unknown
718
802
  os=-linux
@@ -732,11 +816,15 @@ case $basic_machine in
732
816
  basic_machine=ns32k-utek
733
817
  os=-sysv
734
818
  ;;
735
- microblaze)
819
+ microblaze*)
736
820
  basic_machine=microblaze-xilinx
737
821
  ;;
822
+ mingw64)
823
+ basic_machine=x86_64-pc
824
+ os=-mingw64
825
+ ;;
738
826
  mingw32)
739
- basic_machine=i386-pc
827
+ basic_machine=i686-pc
740
828
  os=-mingw32
741
829
  ;;
742
830
  mingw32ce)
@@ -764,6 +852,10 @@ case $basic_machine in
764
852
  basic_machine=powerpc-unknown
765
853
  os=-morphos
766
854
  ;;
855
+ moxiebox)
856
+ basic_machine=moxie-unknown
857
+ os=-moxiebox
858
+ ;;
767
859
  msdos)
768
860
  basic_machine=i386-pc
769
861
  os=-msdos
@@ -771,10 +863,18 @@ case $basic_machine in
771
863
  ms1-*)
772
864
  basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
773
865
  ;;
866
+ msys)
867
+ basic_machine=i686-pc
868
+ os=-msys
869
+ ;;
774
870
  mvs)
775
871
  basic_machine=i370-ibm
776
872
  os=-mvs
777
873
  ;;
874
+ nacl)
875
+ basic_machine=le32-unknown
876
+ os=-nacl
877
+ ;;
778
878
  ncr3000)
779
879
  basic_machine=i486-ncr
780
880
  os=-sysv4
@@ -839,6 +939,12 @@ case $basic_machine in
839
939
  np1)
840
940
  basic_machine=np1-gould
841
941
  ;;
942
+ neo-tandem)
943
+ basic_machine=neo-tandem
944
+ ;;
945
+ nse-tandem)
946
+ basic_machine=nse-tandem
947
+ ;;
842
948
  nsr-tandem)
843
949
  basic_machine=nsr-tandem
844
950
  ;;
@@ -921,11 +1027,12 @@ case $basic_machine in
921
1027
  ;;
922
1028
  power) basic_machine=power-ibm
923
1029
  ;;
924
- ppc) basic_machine=powerpc-unknown
1030
+ ppc | ppcbe) basic_machine=powerpc-unknown
925
1031
  ;;
926
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1032
+ ppc-* | ppcbe-*)
1033
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
927
1034
  ;;
928
- ppcle | powerpclittle | ppc-le | powerpc-little)
1035
+ ppcle | powerpclittle)
929
1036
  basic_machine=powerpcle-unknown
930
1037
  ;;
931
1038
  ppcle-* | powerpclittle-*)
@@ -935,7 +1042,7 @@ case $basic_machine in
935
1042
  ;;
936
1043
  ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
937
1044
  ;;
938
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1045
+ ppc64le | powerpc64little)
939
1046
  basic_machine=powerpc64le-unknown
940
1047
  ;;
941
1048
  ppc64le-* | powerpc64little-*)
@@ -948,7 +1055,11 @@ case $basic_machine in
948
1055
  basic_machine=i586-unknown
949
1056
  os=-pw32
950
1057
  ;;
951
- rdos)
1058
+ rdos | rdos64)
1059
+ basic_machine=x86_64-pc
1060
+ os=-rdos
1061
+ ;;
1062
+ rdos32)
952
1063
  basic_machine=i386-pc
953
1064
  os=-rdos
954
1065
  ;;
@@ -1017,6 +1128,9 @@ case $basic_machine in
1017
1128
  basic_machine=i860-stratus
1018
1129
  os=-sysv4
1019
1130
  ;;
1131
+ strongarm-* | thumb-*)
1132
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1133
+ ;;
1020
1134
  sun2)
1021
1135
  basic_machine=m68000-sun
1022
1136
  ;;
@@ -1073,20 +1187,8 @@ case $basic_machine in
1073
1187
  basic_machine=t90-cray
1074
1188
  os=-unicos
1075
1189
  ;;
1076
- tic54x | c54x*)
1077
- basic_machine=tic54x-unknown
1078
- os=-coff
1079
- ;;
1080
- tic55x | c55x*)
1081
- basic_machine=tic55x-unknown
1082
- os=-coff
1083
- ;;
1084
- tic6x | c6x*)
1085
- basic_machine=tic6x-unknown
1086
- os=-coff
1087
- ;;
1088
1190
  tile*)
1089
- basic_machine=tile-unknown
1191
+ basic_machine=$basic_machine-unknown
1090
1192
  os=-linux-gnu
1091
1193
  ;;
1092
1194
  tx39)
@@ -1156,6 +1258,9 @@ case $basic_machine in
1156
1258
  xps | xps100)
1157
1259
  basic_machine=xps100-honeywell
1158
1260
  ;;
1261
+ xscale-* | xscalee[bl]-*)
1262
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1263
+ ;;
1159
1264
  ymp)
1160
1265
  basic_machine=ymp-cray
1161
1266
  os=-unicos
@@ -1253,11 +1358,11 @@ esac
1253
1358
  if [ x"$os" != x"" ]
1254
1359
  then
1255
1360
  case $os in
1256
- # First match some system type aliases
1257
- # that might get confused with valid system types.
1361
+ # First match some system type aliases
1362
+ # that might get confused with valid system types.
1258
1363
  # -solaris* is a basic system type, with this one exception.
1259
- -auroraux)
1260
- os=-auroraux
1364
+ -auroraux)
1365
+ os=-auroraux
1261
1366
  ;;
1262
1367
  -solaris1 | -solaris1.*)
1263
1368
  os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1281,28 +1386,30 @@ case $os in
1281
1386
  -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1282
1387
  | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1283
1388
  | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1284
- | -sym* | -kopensolaris* \
1389
+ | -sym* | -kopensolaris* | -plan9* \
1285
1390
  | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1286
- | -aos* | -aros* \
1391
+ | -aos* | -aros* | -cloudabi* | -sortix* \
1287
1392
  | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1288
1393
  | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1289
1394
  | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1290
- | -openbsd* | -solidbsd* \
1395
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
1291
1396
  | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1292
1397
  | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1293
1398
  | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1294
1399
  | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1295
1400
  | -chorusos* | -chorusrdb* | -cegcc* \
1296
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1297
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1298
- | -uxpv* | -beos* | -mpeix* | -udk* \
1401
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1402
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1403
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1404
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1299
1405
  | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1300
1406
  | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1301
1407
  | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1302
1408
  | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1303
1409
  | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1304
1410
  | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1305
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1411
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1412
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia*)
1306
1413
  # Remember, each alternative MUST END IN *, to match a version number.
1307
1414
  ;;
1308
1415
  -qnx*)
@@ -1341,7 +1448,7 @@ case $os in
1341
1448
  -opened*)
1342
1449
  os=-openedition
1343
1450
  ;;
1344
- -os400*)
1451
+ -os400*)
1345
1452
  os=-os400
1346
1453
  ;;
1347
1454
  -wince*)
@@ -1390,7 +1497,7 @@ case $os in
1390
1497
  -sinix*)
1391
1498
  os=-sysv4
1392
1499
  ;;
1393
- -tpf*)
1500
+ -tpf*)
1394
1501
  os=-tpf
1395
1502
  ;;
1396
1503
  -triton*)
@@ -1426,15 +1533,16 @@ case $os in
1426
1533
  -aros*)
1427
1534
  os=-aros
1428
1535
  ;;
1429
- -kaos*)
1430
- os=-kaos
1431
- ;;
1432
1536
  -zvmoe)
1433
1537
  os=-zvmoe
1434
1538
  ;;
1435
1539
  -dicos*)
1436
1540
  os=-dicos
1437
1541
  ;;
1542
+ -nacl*)
1543
+ ;;
1544
+ -ios)
1545
+ ;;
1438
1546
  -none)
1439
1547
  ;;
1440
1548
  *)
@@ -1457,10 +1565,10 @@ else
1457
1565
  # system, and we'll never get to this point.
1458
1566
 
1459
1567
  case $basic_machine in
1460
- score-*)
1568
+ score-*)
1461
1569
  os=-elf
1462
1570
  ;;
1463
- spu-*)
1571
+ spu-*)
1464
1572
  os=-elf
1465
1573
  ;;
1466
1574
  *-acorn)
@@ -1472,8 +1580,23 @@ case $basic_machine in
1472
1580
  arm*-semi)
1473
1581
  os=-aout
1474
1582
  ;;
1475
- c4x-* | tic4x-*)
1476
- os=-coff
1583
+ c4x-* | tic4x-*)
1584
+ os=-coff
1585
+ ;;
1586
+ c8051-*)
1587
+ os=-elf
1588
+ ;;
1589
+ hexagon-*)
1590
+ os=-elf
1591
+ ;;
1592
+ tic54x-*)
1593
+ os=-coff
1594
+ ;;
1595
+ tic55x-*)
1596
+ os=-coff
1597
+ ;;
1598
+ tic6x-*)
1599
+ os=-coff
1477
1600
  ;;
1478
1601
  # This must come before the *-dec entry.
1479
1602
  pdp10-*)
@@ -1493,14 +1616,11 @@ case $basic_machine in
1493
1616
  ;;
1494
1617
  m68000-sun)
1495
1618
  os=-sunos3
1496
- # This also exists in the configure program, but was not the
1497
- # default.
1498
- # os=-sunos4
1499
1619
  ;;
1500
1620
  m68*-cisco)
1501
1621
  os=-aout
1502
1622
  ;;
1503
- mep-*)
1623
+ mep-*)
1504
1624
  os=-elf
1505
1625
  ;;
1506
1626
  mips*-cisco)
@@ -1527,7 +1647,7 @@ case $basic_machine in
1527
1647
  *-ibm)
1528
1648
  os=-aix
1529
1649
  ;;
1530
- *-knuth)
1650
+ *-knuth)
1531
1651
  os=-mmixware
1532
1652
  ;;
1533
1653
  *-wec)