ffi 1.9.18 → 1.9.23

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 (468) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +22 -0
  3. data/.gitmodules +3 -0
  4. data/.travis.yml +52 -0
  5. data/.yardopts +5 -0
  6. data/Gemfile +15 -0
  7. data/{spec/ffi/LICENSE.SPECS → LICENSE.SPECS} +1 -1
  8. data/README.md +3 -4
  9. data/Rakefile +41 -5
  10. data/appveyor.yml +22 -0
  11. data/ext/ffi_c/AbstractMemory.c +6 -1
  12. data/ext/ffi_c/Call.c +1 -22
  13. data/ext/ffi_c/Call.h +0 -9
  14. data/ext/ffi_c/Closure.c +54 -0
  15. data/ext/ffi_c/{ClosurePool.h → Closure.h} +13 -23
  16. data/ext/ffi_c/Function.c +16 -25
  17. data/ext/ffi_c/Function.h +1 -2
  18. data/ext/ffi_c/FunctionInfo.c +0 -4
  19. data/ext/ffi_c/MethodHandle.c +33 -268
  20. data/ext/ffi_c/Platform.c +10 -2
  21. data/ext/ffi_c/extconf.rb +10 -5
  22. data/ext/ffi_c/ffi.c +2 -2
  23. data/ext/ffi_c/libffi/.appveyor.yml +48 -0
  24. data/ext/ffi_c/libffi/.gitignore +36 -0
  25. data/ext/ffi_c/libffi/.travis/install.sh +14 -0
  26. data/ext/ffi_c/libffi/.travis.yml +30 -0
  27. data/ext/ffi_c/libffi/ChangeLog.libffi +2 -2
  28. data/ext/ffi_c/libffi/{ChangeLog → ChangeLog.libffi-3.1} +1402 -2
  29. data/ext/ffi_c/libffi/ChangeLog.v1 +1 -1
  30. data/ext/ffi_c/libffi/LICENSE +1 -1
  31. data/ext/ffi_c/libffi/Makefile.am +169 -158
  32. data/ext/ffi_c/libffi/Makefile.in +927 -938
  33. data/ext/ffi_c/libffi/README +164 -52
  34. data/ext/ffi_c/libffi/acinclude.m4 +387 -0
  35. data/ext/ffi_c/libffi/autogen.sh +2 -0
  36. data/ext/ffi_c/libffi/config.guess +336 -371
  37. data/ext/ffi_c/libffi/config.sub +246 -115
  38. data/ext/ffi_c/libffi/configure +6976 -2189
  39. data/ext/ffi_c/libffi/configure.ac +148 -256
  40. data/ext/ffi_c/libffi/configure.host +277 -4
  41. data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
  42. data/ext/ffi_c/libffi/doc/Makefile.in +811 -0
  43. data/ext/ffi_c/libffi/doc/libffi.texi +430 -45
  44. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  45. data/ext/ffi_c/libffi/fficonfig.h.in +24 -13
  46. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +203 -0
  47. data/ext/ffi_c/libffi/include/Makefile.am +3 -3
  48. data/ext/ffi_c/libffi/include/Makefile.in +188 -71
  49. data/ext/ffi_c/libffi/include/ffi.h.in +112 -50
  50. data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
  51. data/ext/ffi_c/libffi/include/ffi_common.h +32 -11
  52. data/ext/ffi_c/libffi/install-sh +190 -202
  53. data/ext/ffi_c/libffi/libffi.map.in +80 -0
  54. data/ext/ffi_c/libffi/libffi.pc.in +3 -2
  55. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +1043 -0
  56. data/ext/ffi_c/libffi/libtool-ldflags +106 -0
  57. data/ext/ffi_c/libffi/libtool-version +1 -1
  58. data/ext/ffi_c/libffi/ltmain.sh +3553 -2033
  59. data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  60. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +69 -0
  61. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +13 -8
  62. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +31 -104
  63. data/ext/ffi_c/libffi/m4/{ax_check_compiler_flags.m4 → ax_check_compile_flag.m4} +30 -34
  64. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +32 -11
  65. data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +6 -5
  66. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +31 -21
  67. data/ext/ffi_c/libffi/man/Makefile.am +2 -2
  68. data/ext/ffi_c/libffi/man/Makefile.in +141 -49
  69. data/ext/ffi_c/libffi/man/ffi.3 +10 -0
  70. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +6 -4
  71. data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  72. data/ext/ffi_c/libffi/missing +150 -311
  73. data/ext/ffi_c/libffi/msvcc.sh +72 -9
  74. data/ext/ffi_c/libffi/src/aarch64/ffi.c +964 -0
  75. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
  76. data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
  77. data/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
  78. data/ext/ffi_c/libffi/src/alpha/ffi.c +335 -98
  79. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +10 -1
  80. data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  81. data/ext/ffi_c/libffi/src/alpha/osf.S +161 -266
  82. data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
  83. data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
  84. data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
  85. data/ext/ffi_c/libffi/src/arm/ffi.c +608 -517
  86. data/ext/ffi_c/libffi/src/arm/ffitarget.h +24 -7
  87. data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
  88. data/ext/ffi_c/libffi/src/arm/sysv.S +303 -417
  89. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +6 -1
  90. data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  91. data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  92. data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  93. data/ext/ffi_c/libffi/src/closures.c +366 -45
  94. data/ext/ffi_c/libffi/src/cris/ffi.c +10 -7
  95. data/ext/ffi_c/libffi/src/cris/ffitarget.h +6 -1
  96. data/ext/ffi_c/libffi/src/debug.c +6 -1
  97. data/ext/ffi_c/libffi/src/dlmalloc.c +16 -11
  98. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  99. data/ext/ffi_c/libffi/src/frv/ffitarget.h +6 -1
  100. data/ext/ffi_c/libffi/src/ia64/ffi.c +11 -7
  101. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +6 -1
  102. data/ext/ffi_c/libffi/src/ia64/unix.S +2 -0
  103. data/ext/ffi_c/libffi/src/java_raw_api.c +23 -5
  104. data/ext/ffi_c/libffi/src/m32r/ffi.c +1 -1
  105. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +6 -1
  106. data/ext/ffi_c/libffi/src/m68k/ffi.c +87 -13
  107. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +6 -1
  108. data/ext/ffi_c/libffi/src/m68k/sysv.S +119 -32
  109. data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  110. data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  111. data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  112. data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  113. data/ext/ffi_c/libffi/{fficonfig.hw → src/metag/ffitarget.h} +22 -26
  114. data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  115. data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  116. data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  117. data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  118. data/ext/ffi_c/libffi/src/mips/ffi.c +103 -28
  119. data/ext/ffi_c/libffi/src/mips/ffitarget.h +10 -3
  120. data/ext/ffi_c/libffi/src/mips/n32.S +128 -56
  121. data/ext/ffi_c/libffi/src/mips/o32.S +148 -27
  122. data/ext/ffi_c/libffi/src/moxie/eabi.S +55 -82
  123. data/ext/ffi_c/libffi/src/moxie/ffi.c +40 -44
  124. data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  125. data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  126. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  127. data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  128. data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
  129. data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  130. data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  131. data/ext/ffi_c/libffi/src/pa/ffitarget.h +8 -1
  132. data/ext/ffi_c/libffi/src/powerpc/aix.S +245 -7
  133. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +253 -4
  134. data/ext/ffi_c/libffi/src/powerpc/asm.h +2 -2
  135. data/ext/ffi_c/libffi/src/powerpc/darwin.S +2 -7
  136. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +22 -26
  137. data/ext/ffi_c/libffi/src/powerpc/ffi.c +103 -1378
  138. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +111 -30
  139. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +945 -0
  140. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
  141. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  142. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +103 -44
  143. data/ext/ffi_c/libffi/src/powerpc/linux64.S +100 -59
  144. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +360 -108
  145. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +138 -68
  146. data/ext/ffi_c/libffi/src/powerpc/sysv.S +68 -112
  147. data/ext/ffi_c/libffi/src/prep_cif.c +108 -24
  148. data/ext/ffi_c/libffi/src/raw_api.c +18 -5
  149. data/ext/ffi_c/libffi/src/s390/ffi.c +294 -318
  150. data/ext/ffi_c/libffi/src/s390/ffitarget.h +9 -1
  151. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  152. data/ext/ffi_c/libffi/src/s390/sysv.S +257 -366
  153. data/ext/ffi_c/libffi/src/sh/ffi.c +4 -3
  154. data/ext/ffi_c/libffi/src/sh/ffitarget.h +6 -1
  155. data/ext/ffi_c/libffi/src/sh64/ffi.c +3 -2
  156. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +6 -1
  157. data/ext/ffi_c/libffi/src/sparc/ffi.c +326 -527
  158. data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
  159. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +20 -7
  160. data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  161. data/ext/ffi_c/libffi/src/sparc/v8.S +364 -234
  162. data/ext/ffi_c/libffi/src/sparc/v9.S +340 -207
  163. data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  164. data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  165. data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  166. data/ext/ffi_c/libffi/src/types.c +43 -14
  167. data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  168. data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  169. data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  170. data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  171. data/ext/ffi_c/libffi/src/x86/ffi.c +591 -500
  172. data/ext/ffi_c/libffi/src/x86/ffi64.c +359 -116
  173. data/ext/ffi_c/libffi/src/x86/ffitarget.h +55 -35
  174. data/ext/ffi_c/libffi/src/x86/ffiw64.c +287 -0
  175. data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
  176. data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
  177. data/ext/ffi_c/libffi/src/x86/sysv.S +975 -400
  178. data/ext/ffi_c/libffi/src/x86/unix64.S +398 -299
  179. data/ext/ffi_c/libffi/src/x86/win64.S +222 -458
  180. data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
  181. data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
  182. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
  183. data/ext/ffi_c/libffi/src/xtensa/sysv.S +253 -0
  184. data/ext/ffi_c/libffi/stamp-h.in +1 -0
  185. data/ext/ffi_c/libffi/testsuite/Makefile.am +79 -73
  186. data/ext/ffi_c/libffi/testsuite/Makefile.in +219 -111
  187. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +121 -25
  188. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +21 -1
  189. data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  190. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -6
  191. data/ext/ffi_c/libffi/testsuite/libffi.call/{closure_stdcall.c → closure_simple.c} +7 -16
  192. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -4
  193. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -4
  194. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -4
  195. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -4
  196. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -4
  197. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -4
  198. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -4
  199. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +5 -5
  200. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -4
  201. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -4
  202. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -4
  203. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -4
  204. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3float.c +95 -0
  205. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -4
  206. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -4
  207. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -4
  208. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -4
  209. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +5 -5
  210. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -4
  211. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -4
  212. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -4
  213. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -4
  214. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -4
  215. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -4
  216. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -4
  217. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -4
  218. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -4
  219. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -4
  220. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +4 -6
  221. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +4 -6
  222. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +4 -4
  223. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -4
  224. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -4
  225. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +4 -4
  226. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -4
  227. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -4
  228. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +4 -4
  229. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +4 -4
  230. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +10 -9
  231. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +3 -3
  232. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +10 -9
  233. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
  234. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
  235. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +1 -1
  236. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +11 -9
  237. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
  238. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
  239. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
  240. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
  241. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +5 -5
  242. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
  243. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +2 -2
  244. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +23 -40
  245. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +3 -1
  246. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +6 -4
  247. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +4 -2
  248. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
  249. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +18 -19
  250. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +6 -16
  251. data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  252. data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  253. data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  254. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -1
  255. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +6 -6
  256. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +8 -8
  257. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +6 -6
  258. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
  259. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +5 -5
  260. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +5 -5
  261. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +5 -5
  262. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +5 -5
  263. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +6 -6
  264. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +5 -5
  265. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +6 -6
  266. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +6 -6
  267. data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  268. data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  269. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +1 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  271. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +1 -1
  272. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +1 -1
  273. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +7 -7
  274. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +7 -7
  275. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +5 -5
  276. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +5 -5
  277. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +2 -2
  278. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  279. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  280. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  281. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +9 -7
  282. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +7 -7
  283. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +7 -6
  284. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +9 -8
  285. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +9 -8
  286. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +9 -9
  287. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +9 -9
  288. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +9 -8
  289. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +9 -8
  290. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +2 -2
  291. data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  292. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest.cc +3 -10
  293. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest_ffi_call.cc +2 -1
  294. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
  295. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
  296. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
  297. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
  298. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  299. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  300. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  301. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  302. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  303. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  304. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  305. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  306. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  307. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  308. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  309. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  310. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  311. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  312. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  313. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  314. data/ext/ffi_c/libffi/testsuite/{libffi.special/special.exp → libffi.complex/complex.exp} +9 -8
  315. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  316. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  317. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  318. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  319. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  320. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  321. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  322. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  323. data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  324. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  325. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  326. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  327. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  328. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  329. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  330. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  331. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  332. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  333. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  334. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  335. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  336. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  337. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  338. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  339. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  340. data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  341. data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  342. data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  343. data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  344. data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  345. data/ext/ffi_c/libffi.bsd.mk +11 -5
  346. data/ext/ffi_c/libffi.darwin.mk +14 -4
  347. data/ext/ffi_c/libffi.gnu.mk +3 -2
  348. data/ext/ffi_c/libffi.mk +10 -5
  349. data/ext/ffi_c/libffi.vc.mk +1 -1
  350. data/ext/ffi_c/libffi.vc64.mk +1 -1
  351. data/ffi.gemspec +16 -3
  352. data/lib/ffi/enum.rb +124 -0
  353. data/lib/ffi/library.rb +66 -14
  354. data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
  355. data/lib/ffi/platform/x86_64-windows/types.conf +113 -20
  356. data/lib/ffi/platform.rb +7 -2
  357. data/lib/ffi/pointer.rb +1 -0
  358. data/lib/ffi/struct.rb +0 -2
  359. data/lib/ffi/version.rb +1 -2
  360. data/samples/getlogin.rb +8 -0
  361. data/samples/getpid.rb +8 -0
  362. data/samples/gettimeofday.rb +18 -0
  363. data/samples/hello.rb +7 -0
  364. data/samples/inotify.rb +60 -0
  365. data/samples/pty.rb +76 -0
  366. data/samples/qsort.rb +21 -0
  367. data/samples/sample_helper.rb +6 -0
  368. metadata +164 -115
  369. data/ext/ffi_c/ClosurePool.c +0 -283
  370. data/ext/ffi_c/libffi/Makefile.vc +0 -141
  371. data/ext/ffi_c/libffi/Makefile.vc64 +0 -141
  372. data/ext/ffi_c/libffi/aclocal.m4 +0 -1873
  373. data/ext/ffi_c/libffi/build-ios.sh +0 -67
  374. data/ext/ffi_c/libffi/compile +0 -143
  375. data/ext/ffi_c/libffi/depcomp +0 -630
  376. data/ext/ffi_c/libffi/doc/libffi.info +0 -593
  377. data/ext/ffi_c/libffi/doc/stamp-vti +0 -4
  378. data/ext/ffi_c/libffi/include/ffi.h.vc +0 -427
  379. data/ext/ffi_c/libffi/include/ffi.h.vc64 +0 -427
  380. data/ext/ffi_c/libffi/m4/libtool.m4 +0 -7831
  381. data/ext/ffi_c/libffi/m4/ltoptions.m4 +0 -369
  382. data/ext/ffi_c/libffi/m4/ltsugar.m4 +0 -123
  383. data/ext/ffi_c/libffi/m4/ltversion.m4 +0 -23
  384. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +0 -98
  385. data/ext/ffi_c/libffi/mdate-sh +0 -201
  386. data/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -118
  387. data/ext/ffi_c/libffi/src/arm/trampoline.S +0 -4450
  388. data/ext/ffi_c/libffi/src/x86/darwin.S +0 -444
  389. data/ext/ffi_c/libffi/src/x86/darwin64.S +0 -416
  390. data/ext/ffi_c/libffi/src/x86/freebsd.S +0 -458
  391. data/ext/ffi_c/libffi/src/x86/win32.S +0 -1065
  392. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -300
  393. data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -63
  394. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -44
  395. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -96
  396. data/ext/ffi_c/libffi/texinfo.tex +0 -7210
  397. data/gen/Rakefile +0 -30
  398. data/libtest/Benchmark.c +0 -52
  399. data/libtest/BoolTest.c +0 -34
  400. data/libtest/BufferTest.c +0 -31
  401. data/libtest/ClosureTest.c +0 -205
  402. data/libtest/EnumTest.c +0 -51
  403. data/libtest/FunctionTest.c +0 -70
  404. data/libtest/GNUmakefile +0 -149
  405. data/libtest/GlobalVariable.c +0 -62
  406. data/libtest/LastErrorTest.c +0 -21
  407. data/libtest/NumberTest.c +0 -132
  408. data/libtest/PointerTest.c +0 -63
  409. data/libtest/ReferenceTest.c +0 -23
  410. data/libtest/StringTest.c +0 -34
  411. data/libtest/StructTest.c +0 -243
  412. data/libtest/UnionTest.c +0 -43
  413. data/libtest/VariadicTest.c +0 -99
  414. data/spec/ffi/async_callback_spec.rb +0 -35
  415. data/spec/ffi/bool_spec.rb +0 -32
  416. data/spec/ffi/buffer_spec.rb +0 -279
  417. data/spec/ffi/callback_spec.rb +0 -773
  418. data/spec/ffi/custom_param_type.rb +0 -37
  419. data/spec/ffi/custom_type_spec.rb +0 -74
  420. data/spec/ffi/dup_spec.rb +0 -52
  421. data/spec/ffi/enum_spec.rb +0 -423
  422. data/spec/ffi/errno_spec.rb +0 -20
  423. data/spec/ffi/ffi_spec.rb +0 -28
  424. data/spec/ffi/fixtures/Benchmark.c +0 -52
  425. data/spec/ffi/fixtures/BoolTest.c +0 -34
  426. data/spec/ffi/fixtures/BufferTest.c +0 -31
  427. data/spec/ffi/fixtures/ClosureTest.c +0 -205
  428. data/spec/ffi/fixtures/EnumTest.c +0 -51
  429. data/spec/ffi/fixtures/FunctionTest.c +0 -142
  430. data/spec/ffi/fixtures/GNUmakefile +0 -149
  431. data/spec/ffi/fixtures/GlobalVariable.c +0 -62
  432. data/spec/ffi/fixtures/LastErrorTest.c +0 -21
  433. data/spec/ffi/fixtures/NumberTest.c +0 -132
  434. data/spec/ffi/fixtures/PipeHelper.h +0 -21
  435. data/spec/ffi/fixtures/PipeHelperPosix.c +0 -41
  436. data/spec/ffi/fixtures/PipeHelperWindows.c +0 -72
  437. data/spec/ffi/fixtures/PointerTest.c +0 -63
  438. data/spec/ffi/fixtures/ReferenceTest.c +0 -23
  439. data/spec/ffi/fixtures/StringTest.c +0 -34
  440. data/spec/ffi/fixtures/StructTest.c +0 -243
  441. data/spec/ffi/fixtures/UnionTest.c +0 -43
  442. data/spec/ffi/fixtures/VariadicTest.c +0 -99
  443. data/spec/ffi/fixtures/classes.rb +0 -438
  444. data/spec/ffi/function_spec.rb +0 -97
  445. data/spec/ffi/io_spec.rb +0 -16
  446. data/spec/ffi/library_spec.rb +0 -286
  447. data/spec/ffi/long_double.rb +0 -30
  448. data/spec/ffi/managed_struct_spec.rb +0 -68
  449. data/spec/ffi/memorypointer_spec.rb +0 -78
  450. data/spec/ffi/number_spec.rb +0 -247
  451. data/spec/ffi/platform_spec.rb +0 -114
  452. data/spec/ffi/pointer_spec.rb +0 -285
  453. data/spec/ffi/rbx/attach_function_spec.rb +0 -34
  454. data/spec/ffi/rbx/memory_pointer_spec.rb +0 -194
  455. data/spec/ffi/rbx/spec_helper.rb +0 -6
  456. data/spec/ffi/rbx/struct_spec.rb +0 -18
  457. data/spec/ffi/spec_helper.rb +0 -93
  458. data/spec/ffi/string_spec.rb +0 -118
  459. data/spec/ffi/strptr_spec.rb +0 -50
  460. data/spec/ffi/struct_by_ref_spec.rb +0 -43
  461. data/spec/ffi/struct_callback_spec.rb +0 -69
  462. data/spec/ffi/struct_initialize_spec.rb +0 -35
  463. data/spec/ffi/struct_packed_spec.rb +0 -50
  464. data/spec/ffi/struct_spec.rb +0 -886
  465. data/spec/ffi/typedef_spec.rb +0 -91
  466. data/spec/ffi/union_spec.rb +0 -67
  467. data/spec/ffi/variadic_spec.rb +0 -132
  468. data/spec/spec.opts +0 -4
@@ -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-2017 Free Software Foundation, Inc.
6
4
 
7
- timestamp='2009-11-20'
5
+ timestamp='2017-04-02'
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-2017 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 \
257
- | i370 | i860 | i960 | ia64 \
265
+ | hexagon \
266
+ | i370 | i860 | i960 | ia16 | 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,57 @@ 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 \
318
+ | wasm32 \
300
319
  | we32k \
301
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
320
+ | x86 | xc16x | xstormy16 | xtensa \
302
321
  | z8k | z80)
303
322
  basic_machine=$basic_machine-unknown
304
323
  ;;
305
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
306
- # Motorola 68HC11/12.
324
+ c54x)
325
+ basic_machine=tic54x-unknown
326
+ ;;
327
+ c55x)
328
+ basic_machine=tic55x-unknown
329
+ ;;
330
+ c6x)
331
+ basic_machine=tic6x-unknown
332
+ ;;
333
+ leon|leon[3-9])
334
+ basic_machine=sparc-$basic_machine
335
+ ;;
336
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
307
337
  basic_machine=$basic_machine-unknown
308
338
  os=-none
309
339
  ;;
@@ -313,6 +343,21 @@ case $basic_machine in
313
343
  basic_machine=mt-unknown
314
344
  ;;
315
345
 
346
+ strongarm | thumb | xscale)
347
+ basic_machine=arm-unknown
348
+ ;;
349
+ xgate)
350
+ basic_machine=$basic_machine-unknown
351
+ os=-none
352
+ ;;
353
+ xscaleeb)
354
+ basic_machine=armeb-unknown
355
+ ;;
356
+
357
+ xscaleel)
358
+ basic_machine=armel-unknown
359
+ ;;
360
+
316
361
  # We use `pc' rather than `unknown'
317
362
  # because (1) that's what they normally are, and
318
363
  # (2) the word "unknown" tends to confuse beginning users.
@@ -327,25 +372,32 @@ case $basic_machine in
327
372
  # Recognize the basic CPU types with company name.
328
373
  580-* \
329
374
  | a29k-* \
375
+ | aarch64-* | aarch64_be-* \
330
376
  | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
331
377
  | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
332
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
378
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
333
379
  | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
334
380
  | avr-* | avr32-* \
381
+ | ba-* \
382
+ | be32-* | be64-* \
335
383
  | bfin-* | bs2000-* \
336
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
337
- | clipper-* | craynv-* | cydra-* \
384
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
385
+ | c8051-* | clipper-* | craynv-* | cydra-* \
338
386
  | d10v-* | d30v-* | dlx-* \
339
- | elxsi-* \
387
+ | e2k-* | elxsi-* \
340
388
  | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
341
389
  | h8300-* | h8500-* \
342
390
  | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
343
- | i*86-* | i860-* | i960-* | ia64-* \
391
+ | hexagon-* \
392
+ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
344
393
  | ip2k-* | iq2000-* \
394
+ | k1om-* \
395
+ | le32-* | le64-* \
345
396
  | lm32-* \
346
397
  | m32c-* | m32r-* | m32rle-* \
347
398
  | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
348
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
399
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
400
+ | microblaze-* | microblazeel-* \
349
401
  | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
350
402
  | mips16-* \
351
403
  | mips64-* | mips64el-* \
@@ -359,33 +411,45 @@ case $basic_machine in
359
411
  | mips64vr5900-* | mips64vr5900el-* \
360
412
  | mipsisa32-* | mipsisa32el-* \
361
413
  | mipsisa32r2-* | mipsisa32r2el-* \
414
+ | mipsisa32r6-* | mipsisa32r6el-* \
362
415
  | mipsisa64-* | mipsisa64el-* \
363
416
  | mipsisa64r2-* | mipsisa64r2el-* \
417
+ | mipsisa64r6-* | mipsisa64r6el-* \
364
418
  | mipsisa64sb1-* | mipsisa64sb1el-* \
365
419
  | mipsisa64sr71k-* | mipsisa64sr71kel-* \
420
+ | mipsr5900-* | mipsr5900el-* \
366
421
  | mipstx39-* | mipstx39el-* \
367
422
  | mmix-* \
368
423
  | mt-* \
369
424
  | msp430-* \
370
- | nios-* | nios2-* \
425
+ | nds32-* | nds32le-* | nds32be-* \
426
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
371
427
  | none-* | np1-* | ns16k-* | ns32k-* \
428
+ | open8-* \
429
+ | or1k*-* \
372
430
  | orion-* \
373
431
  | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
374
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
432
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
433
+ | pru-* \
375
434
  | pyramid-* \
376
- | romp-* | rs6000-* | rx-* \
435
+ | riscv32-* | riscv64-* \
436
+ | rl78-* | romp-* | rs6000-* | rx-* \
377
437
  | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
378
438
  | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
379
439
  | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
380
440
  | sparclite-* \
381
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
382
- | tahoe-* | thumb-* \
383
- | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
441
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
442
+ | tahoe-* \
443
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
444
+ | tile*-* \
384
445
  | tron-* \
385
446
  | ubicom32-* \
386
- | v850-* | v850e-* | vax-* \
447
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
448
+ | vax-* \
449
+ | visium-* \
450
+ | wasm32-* \
387
451
  | we32k-* \
388
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
452
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
389
453
  | xstormy16-* | xtensa*-* \
390
454
  | ymp-* \
391
455
  | z8k-* | z80-*)
@@ -410,7 +474,7 @@ case $basic_machine in
410
474
  basic_machine=a29k-amd
411
475
  os=-udi
412
476
  ;;
413
- abacus)
477
+ abacus)
414
478
  basic_machine=abacus-unknown
415
479
  ;;
416
480
  adobe68k)
@@ -460,6 +524,9 @@ case $basic_machine in
460
524
  basic_machine=i386-pc
461
525
  os=-aros
462
526
  ;;
527
+ asmjs)
528
+ basic_machine=asmjs-unknown
529
+ ;;
463
530
  aux)
464
531
  basic_machine=m68k-apple
465
532
  os=-aux
@@ -480,11 +547,20 @@ case $basic_machine in
480
547
  basic_machine=powerpc-ibm
481
548
  os=-cnk
482
549
  ;;
550
+ c54x-*)
551
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
552
+ ;;
553
+ c55x-*)
554
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
555
+ ;;
556
+ c6x-*)
557
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
558
+ ;;
483
559
  c90)
484
560
  basic_machine=c90-cray
485
561
  os=-unicos
486
562
  ;;
487
- cegcc)
563
+ cegcc)
488
564
  basic_machine=arm-unknown
489
565
  os=-cegcc
490
566
  ;;
@@ -516,7 +592,7 @@ case $basic_machine in
516
592
  basic_machine=craynv-cray
517
593
  os=-unicosmp
518
594
  ;;
519
- cr16)
595
+ cr16 | cr16-*)
520
596
  basic_machine=cr16-unknown
521
597
  os=-elf
522
598
  ;;
@@ -571,6 +647,14 @@ case $basic_machine in
571
647
  basic_machine=m68k-bull
572
648
  os=-sysv3
573
649
  ;;
650
+ e500v[12])
651
+ basic_machine=powerpc-unknown
652
+ os=$os"spe"
653
+ ;;
654
+ e500v[12]-*)
655
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
656
+ os=$os"spe"
657
+ ;;
574
658
  ebmon29k)
575
659
  basic_machine=a29k-amd
576
660
  os=-ebmon
@@ -674,7 +758,6 @@ case $basic_machine in
674
758
  i370-ibm* | ibm*)
675
759
  basic_machine=i370-ibm
676
760
  ;;
677
- # I'm not sure what "Sysv32" means. Should this be sysv3.2?
678
761
  i*86v32)
679
762
  basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
680
763
  os=-sysv32
@@ -713,6 +796,9 @@ case $basic_machine in
713
796
  basic_machine=m68k-isi
714
797
  os=-sysv
715
798
  ;;
799
+ leon-*|leon[3-9]-*)
800
+ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
801
+ ;;
716
802
  m68knommu)
717
803
  basic_machine=m68k-unknown
718
804
  os=-linux
@@ -732,11 +818,15 @@ case $basic_machine in
732
818
  basic_machine=ns32k-utek
733
819
  os=-sysv
734
820
  ;;
735
- microblaze)
821
+ microblaze*)
736
822
  basic_machine=microblaze-xilinx
737
823
  ;;
824
+ mingw64)
825
+ basic_machine=x86_64-pc
826
+ os=-mingw64
827
+ ;;
738
828
  mingw32)
739
- basic_machine=i386-pc
829
+ basic_machine=i686-pc
740
830
  os=-mingw32
741
831
  ;;
742
832
  mingw32ce)
@@ -764,6 +854,10 @@ case $basic_machine in
764
854
  basic_machine=powerpc-unknown
765
855
  os=-morphos
766
856
  ;;
857
+ moxiebox)
858
+ basic_machine=moxie-unknown
859
+ os=-moxiebox
860
+ ;;
767
861
  msdos)
768
862
  basic_machine=i386-pc
769
863
  os=-msdos
@@ -771,10 +865,18 @@ case $basic_machine in
771
865
  ms1-*)
772
866
  basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
773
867
  ;;
868
+ msys)
869
+ basic_machine=i686-pc
870
+ os=-msys
871
+ ;;
774
872
  mvs)
775
873
  basic_machine=i370-ibm
776
874
  os=-mvs
777
875
  ;;
876
+ nacl)
877
+ basic_machine=le32-unknown
878
+ os=-nacl
879
+ ;;
778
880
  ncr3000)
779
881
  basic_machine=i486-ncr
780
882
  os=-sysv4
@@ -839,9 +941,18 @@ case $basic_machine in
839
941
  np1)
840
942
  basic_machine=np1-gould
841
943
  ;;
944
+ neo-tandem)
945
+ basic_machine=neo-tandem
946
+ ;;
947
+ nse-tandem)
948
+ basic_machine=nse-tandem
949
+ ;;
842
950
  nsr-tandem)
843
951
  basic_machine=nsr-tandem
844
952
  ;;
953
+ nsx-tandem)
954
+ basic_machine=nsx-tandem
955
+ ;;
845
956
  op50n-* | op60c-*)
846
957
  basic_machine=hppa1.1-oki
847
958
  os=-proelf
@@ -921,11 +1032,12 @@ case $basic_machine in
921
1032
  ;;
922
1033
  power) basic_machine=power-ibm
923
1034
  ;;
924
- ppc) basic_machine=powerpc-unknown
1035
+ ppc | ppcbe) basic_machine=powerpc-unknown
925
1036
  ;;
926
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1037
+ ppc-* | ppcbe-*)
1038
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
927
1039
  ;;
928
- ppcle | powerpclittle | ppc-le | powerpc-little)
1040
+ ppcle | powerpclittle)
929
1041
  basic_machine=powerpcle-unknown
930
1042
  ;;
931
1043
  ppcle-* | powerpclittle-*)
@@ -935,7 +1047,7 @@ case $basic_machine in
935
1047
  ;;
936
1048
  ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
937
1049
  ;;
938
- ppc64le | powerpc64little | ppc64-le | powerpc64-little)
1050
+ ppc64le | powerpc64little)
939
1051
  basic_machine=powerpc64le-unknown
940
1052
  ;;
941
1053
  ppc64le-* | powerpc64little-*)
@@ -948,7 +1060,11 @@ case $basic_machine in
948
1060
  basic_machine=i586-unknown
949
1061
  os=-pw32
950
1062
  ;;
951
- rdos)
1063
+ rdos | rdos64)
1064
+ basic_machine=x86_64-pc
1065
+ os=-rdos
1066
+ ;;
1067
+ rdos32)
952
1068
  basic_machine=i386-pc
953
1069
  os=-rdos
954
1070
  ;;
@@ -1017,6 +1133,9 @@ case $basic_machine in
1017
1133
  basic_machine=i860-stratus
1018
1134
  os=-sysv4
1019
1135
  ;;
1136
+ strongarm-* | thumb-*)
1137
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1138
+ ;;
1020
1139
  sun2)
1021
1140
  basic_machine=m68000-sun
1022
1141
  ;;
@@ -1073,20 +1192,8 @@ case $basic_machine in
1073
1192
  basic_machine=t90-cray
1074
1193
  os=-unicos
1075
1194
  ;;
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
1195
  tile*)
1089
- basic_machine=tile-unknown
1196
+ basic_machine=$basic_machine-unknown
1090
1197
  os=-linux-gnu
1091
1198
  ;;
1092
1199
  tx39)
@@ -1141,6 +1248,9 @@ case $basic_machine in
1141
1248
  basic_machine=a29k-wrs
1142
1249
  os=-vxworks
1143
1250
  ;;
1251
+ wasm32)
1252
+ basic_machine=wasm32-unknown
1253
+ ;;
1144
1254
  w65*)
1145
1255
  basic_machine=w65-wdc
1146
1256
  os=-none
@@ -1156,6 +1266,9 @@ case $basic_machine in
1156
1266
  xps | xps100)
1157
1267
  basic_machine=xps100-honeywell
1158
1268
  ;;
1269
+ xscale-* | xscalee[bl]-*)
1270
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1271
+ ;;
1159
1272
  ymp)
1160
1273
  basic_machine=ymp-cray
1161
1274
  os=-unicos
@@ -1253,11 +1366,11 @@ esac
1253
1366
  if [ x"$os" != x"" ]
1254
1367
  then
1255
1368
  case $os in
1256
- # First match some system type aliases
1257
- # that might get confused with valid system types.
1369
+ # First match some system type aliases
1370
+ # that might get confused with valid system types.
1258
1371
  # -solaris* is a basic system type, with this one exception.
1259
- -auroraux)
1260
- os=-auroraux
1372
+ -auroraux)
1373
+ os=-auroraux
1261
1374
  ;;
1262
1375
  -solaris1 | -solaris1.*)
1263
1376
  os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1281,28 +1394,30 @@ case $os in
1281
1394
  -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1282
1395
  | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1283
1396
  | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1284
- | -sym* | -kopensolaris* \
1397
+ | -sym* | -kopensolaris* | -plan9* \
1285
1398
  | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1286
- | -aos* | -aros* \
1399
+ | -aos* | -aros* | -cloudabi* | -sortix* \
1287
1400
  | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1288
1401
  | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1289
1402
  | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1290
- | -openbsd* | -solidbsd* \
1403
+ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
1291
1404
  | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1292
1405
  | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1293
1406
  | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1294
1407
  | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1295
- | -chorusos* | -chorusrdb* | -cegcc* \
1296
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1297
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1298
- | -uxpv* | -beos* | -mpeix* | -udk* \
1408
+ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
1409
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1410
+ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1411
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1412
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1299
1413
  | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1300
1414
  | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1301
1415
  | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1302
1416
  | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1303
1417
  | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1304
1418
  | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1305
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
1419
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
1420
+ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
1306
1421
  # Remember, each alternative MUST END IN *, to match a version number.
1307
1422
  ;;
1308
1423
  -qnx*)
@@ -1341,7 +1456,7 @@ case $os in
1341
1456
  -opened*)
1342
1457
  os=-openedition
1343
1458
  ;;
1344
- -os400*)
1459
+ -os400*)
1345
1460
  os=-os400
1346
1461
  ;;
1347
1462
  -wince*)
@@ -1390,7 +1505,7 @@ case $os in
1390
1505
  -sinix*)
1391
1506
  os=-sysv4
1392
1507
  ;;
1393
- -tpf*)
1508
+ -tpf*)
1394
1509
  os=-tpf
1395
1510
  ;;
1396
1511
  -triton*)
@@ -1426,15 +1541,16 @@ case $os in
1426
1541
  -aros*)
1427
1542
  os=-aros
1428
1543
  ;;
1429
- -kaos*)
1430
- os=-kaos
1431
- ;;
1432
1544
  -zvmoe)
1433
1545
  os=-zvmoe
1434
1546
  ;;
1435
1547
  -dicos*)
1436
1548
  os=-dicos
1437
1549
  ;;
1550
+ -nacl*)
1551
+ ;;
1552
+ -ios)
1553
+ ;;
1438
1554
  -none)
1439
1555
  ;;
1440
1556
  *)
@@ -1457,10 +1573,10 @@ else
1457
1573
  # system, and we'll never get to this point.
1458
1574
 
1459
1575
  case $basic_machine in
1460
- score-*)
1576
+ score-*)
1461
1577
  os=-elf
1462
1578
  ;;
1463
- spu-*)
1579
+ spu-*)
1464
1580
  os=-elf
1465
1581
  ;;
1466
1582
  *-acorn)
@@ -1472,8 +1588,23 @@ case $basic_machine in
1472
1588
  arm*-semi)
1473
1589
  os=-aout
1474
1590
  ;;
1475
- c4x-* | tic4x-*)
1476
- os=-coff
1591
+ c4x-* | tic4x-*)
1592
+ os=-coff
1593
+ ;;
1594
+ c8051-*)
1595
+ os=-elf
1596
+ ;;
1597
+ hexagon-*)
1598
+ os=-elf
1599
+ ;;
1600
+ tic54x-*)
1601
+ os=-coff
1602
+ ;;
1603
+ tic55x-*)
1604
+ os=-coff
1605
+ ;;
1606
+ tic6x-*)
1607
+ os=-coff
1477
1608
  ;;
1478
1609
  # This must come before the *-dec entry.
1479
1610
  pdp10-*)
@@ -1493,14 +1624,11 @@ case $basic_machine in
1493
1624
  ;;
1494
1625
  m68000-sun)
1495
1626
  os=-sunos3
1496
- # This also exists in the configure program, but was not the
1497
- # default.
1498
- # os=-sunos4
1499
1627
  ;;
1500
1628
  m68*-cisco)
1501
1629
  os=-aout
1502
1630
  ;;
1503
- mep-*)
1631
+ mep-*)
1504
1632
  os=-elf
1505
1633
  ;;
1506
1634
  mips*-cisco)
@@ -1518,6 +1646,9 @@ case $basic_machine in
1518
1646
  sparc-* | *-sun)
1519
1647
  os=-sunos4.1.1
1520
1648
  ;;
1649
+ pru-*)
1650
+ os=-elf
1651
+ ;;
1521
1652
  *-be)
1522
1653
  os=-beos
1523
1654
  ;;
@@ -1527,7 +1658,7 @@ case $basic_machine in
1527
1658
  *-ibm)
1528
1659
  os=-aix
1529
1660
  ;;
1530
- *-knuth)
1661
+ *-knuth)
1531
1662
  os=-mmixware
1532
1663
  ;;
1533
1664
  *-wec)