ffi 1.9.18 → 1.9.21

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 (366) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/Rakefile +14 -3
  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/README +164 -52
  17. data/ext/ffi_c/libffi/acinclude.m4 +381 -0
  18. data/ext/ffi_c/libffi/autogen.sh +2 -0
  19. data/ext/ffi_c/libffi/configure.ac +148 -256
  20. data/ext/ffi_c/libffi/configure.host +265 -4
  21. data/ext/ffi_c/libffi/doc/Makefile.am +3 -0
  22. data/ext/ffi_c/libffi/doc/libffi.texi +430 -45
  23. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  24. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +207 -0
  25. data/ext/ffi_c/libffi/include/Makefile.am +3 -3
  26. data/ext/ffi_c/libffi/include/ffi.h.in +107 -50
  27. data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
  28. data/ext/ffi_c/libffi/include/ffi_common.h +32 -11
  29. data/ext/ffi_c/libffi/libffi.map.in +80 -0
  30. data/ext/ffi_c/libffi/libffi.pc.in +3 -2
  31. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +637 -0
  32. data/ext/ffi_c/libffi/libtool-ldflags +106 -0
  33. data/ext/ffi_c/libffi/libtool-version +1 -1
  34. data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  35. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +69 -0
  36. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +13 -8
  37. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +31 -104
  38. data/ext/ffi_c/libffi/m4/{ax_check_compiler_flags.m4 → ax_check_compile_flag.m4} +30 -34
  39. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +32 -11
  40. data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +6 -5
  41. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +31 -21
  42. data/ext/ffi_c/libffi/man/Makefile.am +2 -2
  43. data/ext/ffi_c/libffi/man/ffi.3 +10 -0
  44. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +6 -4
  45. data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  46. data/ext/ffi_c/libffi/msvcc.sh +72 -9
  47. data/ext/ffi_c/libffi/src/aarch64/ffi.c +941 -0
  48. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +81 -0
  49. data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
  50. data/ext/ffi_c/libffi/src/aarch64/sysv.S +438 -0
  51. data/ext/ffi_c/libffi/src/alpha/ffi.c +335 -98
  52. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +10 -1
  53. data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  54. data/ext/ffi_c/libffi/src/alpha/osf.S +161 -266
  55. data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
  56. data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
  57. data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
  58. data/ext/ffi_c/libffi/src/arm/ffi.c +597 -517
  59. data/ext/ffi_c/libffi/src/arm/ffitarget.h +24 -7
  60. data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
  61. data/ext/ffi_c/libffi/src/arm/sysv.S +303 -417
  62. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +6 -1
  63. data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  64. data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  65. data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  66. data/ext/ffi_c/libffi/src/closures.c +319 -44
  67. data/ext/ffi_c/libffi/src/cris/ffi.c +10 -7
  68. data/ext/ffi_c/libffi/src/cris/ffitarget.h +6 -1
  69. data/ext/ffi_c/libffi/src/debug.c +6 -1
  70. data/ext/ffi_c/libffi/src/dlmalloc.c +16 -11
  71. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  72. data/ext/ffi_c/libffi/src/frv/ffitarget.h +6 -1
  73. data/ext/ffi_c/libffi/src/ia64/ffi.c +11 -7
  74. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +6 -1
  75. data/ext/ffi_c/libffi/src/java_raw_api.c +23 -5
  76. data/ext/ffi_c/libffi/src/m32r/ffi.c +1 -1
  77. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +6 -1
  78. data/ext/ffi_c/libffi/src/m68k/ffi.c +87 -13
  79. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +6 -1
  80. data/ext/ffi_c/libffi/src/m68k/sysv.S +119 -32
  81. data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  82. data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  83. data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  84. data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  85. data/ext/ffi_c/libffi/{fficonfig.hw → src/metag/ffitarget.h} +22 -26
  86. data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  87. data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  88. data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  89. data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  90. data/ext/ffi_c/libffi/src/mips/ffi.c +95 -28
  91. data/ext/ffi_c/libffi/src/mips/ffitarget.h +9 -2
  92. data/ext/ffi_c/libffi/src/mips/n32.S +126 -56
  93. data/ext/ffi_c/libffi/src/mips/o32.S +148 -27
  94. data/ext/ffi_c/libffi/src/moxie/eabi.S +55 -82
  95. data/ext/ffi_c/libffi/src/moxie/ffi.c +40 -44
  96. data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  97. data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  98. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  99. data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  100. data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
  101. data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  102. data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  103. data/ext/ffi_c/libffi/src/pa/ffitarget.h +8 -1
  104. data/ext/ffi_c/libffi/src/powerpc/aix.S +6 -6
  105. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +3 -1
  106. data/ext/ffi_c/libffi/src/powerpc/asm.h +2 -2
  107. data/ext/ffi_c/libffi/src/powerpc/darwin.S +2 -7
  108. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +22 -26
  109. data/ext/ffi_c/libffi/src/powerpc/ffi.c +103 -1378
  110. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +25 -25
  111. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +945 -0
  112. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
  113. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  114. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +100 -44
  115. data/ext/ffi_c/libffi/src/powerpc/linux64.S +100 -59
  116. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +360 -108
  117. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +138 -68
  118. data/ext/ffi_c/libffi/src/powerpc/sysv.S +68 -112
  119. data/ext/ffi_c/libffi/src/prep_cif.c +108 -24
  120. data/ext/ffi_c/libffi/src/raw_api.c +18 -5
  121. data/ext/ffi_c/libffi/src/s390/ffi.c +294 -318
  122. data/ext/ffi_c/libffi/src/s390/ffitarget.h +9 -1
  123. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  124. data/ext/ffi_c/libffi/src/s390/sysv.S +257 -366
  125. data/ext/ffi_c/libffi/src/sh/ffi.c +4 -3
  126. data/ext/ffi_c/libffi/src/sh/ffitarget.h +6 -1
  127. data/ext/ffi_c/libffi/src/sh64/ffi.c +3 -2
  128. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +6 -1
  129. data/ext/ffi_c/libffi/src/sparc/ffi.c +326 -527
  130. data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
  131. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +20 -7
  132. data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  133. data/ext/ffi_c/libffi/src/sparc/v8.S +364 -234
  134. data/ext/ffi_c/libffi/src/sparc/v9.S +340 -207
  135. data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  136. data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  137. data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  138. data/ext/ffi_c/libffi/src/types.c +43 -14
  139. data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  140. data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  141. data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  142. data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  143. data/ext/ffi_c/libffi/src/x86/ffi.c +589 -500
  144. data/ext/ffi_c/libffi/src/x86/ffi64.c +338 -116
  145. data/ext/ffi_c/libffi/src/x86/ffitarget.h +55 -35
  146. data/ext/ffi_c/libffi/src/x86/ffiw64.c +287 -0
  147. data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
  148. data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
  149. data/ext/ffi_c/libffi/src/x86/sysv.S +975 -400
  150. data/ext/ffi_c/libffi/src/x86/unix64.S +398 -299
  151. data/ext/ffi_c/libffi/src/x86/win64.S +222 -458
  152. data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
  153. data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
  154. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
  155. data/ext/ffi_c/libffi/src/xtensa/sysv.S +253 -0
  156. data/ext/ffi_c/libffi/stamp-h.in +1 -0
  157. data/ext/ffi_c/libffi/testsuite/Makefile.am +78 -73
  158. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +120 -25
  159. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +21 -1
  160. data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  161. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -6
  162. data/ext/ffi_c/libffi/testsuite/libffi.call/{closure_stdcall.c → closure_simple.c} +7 -16
  163. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -4
  164. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -4
  165. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -4
  166. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -4
  167. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -4
  168. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -4
  169. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -4
  170. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +5 -5
  171. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -4
  172. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -4
  173. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -4
  174. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -4
  175. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -4
  176. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -4
  177. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -4
  178. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -4
  179. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +5 -5
  180. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -4
  181. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -4
  182. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -4
  183. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -4
  184. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -4
  185. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -4
  186. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -4
  187. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -4
  188. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -4
  189. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -4
  190. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +4 -6
  191. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +4 -6
  192. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +4 -4
  193. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -4
  194. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -4
  195. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +4 -4
  196. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -4
  197. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -4
  198. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +4 -4
  199. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +4 -4
  200. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +10 -9
  201. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +3 -3
  202. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +10 -9
  203. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
  204. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
  205. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +1 -1
  206. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +11 -9
  207. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
  208. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
  209. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
  210. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
  211. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +5 -5
  212. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
  213. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +2 -2
  214. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +23 -40
  215. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +3 -1
  216. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +6 -4
  217. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +4 -2
  218. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
  219. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +18 -19
  220. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +6 -16
  221. data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  222. data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  223. data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  224. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -1
  225. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +6 -6
  226. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +8 -8
  227. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +6 -6
  228. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
  229. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +5 -5
  230. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +5 -5
  231. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +5 -5
  232. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +5 -5
  233. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +6 -6
  234. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +5 -5
  235. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +6 -6
  236. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +6 -6
  237. data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  238. data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  239. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +1 -0
  240. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  241. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +1 -1
  242. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +1 -1
  243. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +7 -7
  244. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +7 -7
  245. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +5 -5
  246. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +5 -5
  247. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +2 -2
  248. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  249. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  250. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  251. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +9 -7
  252. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +7 -7
  253. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +7 -6
  254. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +9 -8
  255. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +9 -8
  256. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +9 -9
  257. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +9 -9
  258. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +9 -8
  259. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +9 -8
  260. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +2 -2
  261. data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  262. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest.cc +3 -10
  263. data/ext/ffi_c/libffi/testsuite/{libffi.special → libffi.call}/unwindtest_ffi_call.cc +2 -1
  264. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
  265. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
  266. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
  267. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
  268. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  269. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  271. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  272. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  273. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  274. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  275. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  276. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  277. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  278. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  279. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  280. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  281. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  282. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  283. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  284. data/ext/ffi_c/libffi/testsuite/{libffi.special/special.exp → libffi.complex/complex.exp} +9 -8
  285. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  286. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  287. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  288. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  289. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  290. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  291. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  292. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  293. data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  294. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  295. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  296. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  297. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  298. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  299. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  300. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  301. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  302. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  303. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  304. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  305. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  306. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  307. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  308. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  309. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  310. data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  311. data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  312. data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  313. data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  314. data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  315. data/ffi.gemspec +2 -2
  316. data/lib/ffi/enum.rb +124 -0
  317. data/lib/ffi/library.rb +65 -13
  318. data/lib/ffi/platform.rb +7 -2
  319. data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
  320. data/lib/ffi/platform/x86_64-windows/types.conf +113 -20
  321. data/lib/ffi/pointer.rb +1 -0
  322. data/lib/ffi/struct.rb +0 -2
  323. data/lib/ffi/version.rb +1 -1
  324. data/spec/ffi/bitmask_spec.rb +575 -0
  325. data/spec/ffi/fixtures/BitmaskTest.c +51 -0
  326. data/spec/ffi/rbx/memory_pointer_spec.rb +4 -0
  327. data/spec/ffi/struct_spec.rb +0 -4
  328. metadata +143 -51
  329. data/ext/ffi_c/libffi/Makefile.in +0 -1820
  330. data/ext/ffi_c/libffi/Makefile.vc +0 -141
  331. data/ext/ffi_c/libffi/Makefile.vc64 +0 -141
  332. data/ext/ffi_c/libffi/aclocal.m4 +0 -1873
  333. data/ext/ffi_c/libffi/build-ios.sh +0 -67
  334. data/ext/ffi_c/libffi/compile +0 -143
  335. data/ext/ffi_c/libffi/config.guess +0 -1501
  336. data/ext/ffi_c/libffi/config.sub +0 -1705
  337. data/ext/ffi_c/libffi/configure +0 -17191
  338. data/ext/ffi_c/libffi/depcomp +0 -630
  339. data/ext/ffi_c/libffi/doc/libffi.info +0 -593
  340. data/ext/ffi_c/libffi/doc/stamp-vti +0 -4
  341. data/ext/ffi_c/libffi/fficonfig.h.in +0 -199
  342. data/ext/ffi_c/libffi/include/Makefile.in +0 -487
  343. data/ext/ffi_c/libffi/include/ffi.h.vc +0 -427
  344. data/ext/ffi_c/libffi/include/ffi.h.vc64 +0 -427
  345. data/ext/ffi_c/libffi/install-sh +0 -520
  346. data/ext/ffi_c/libffi/ltmain.sh +0 -9636
  347. data/ext/ffi_c/libffi/m4/libtool.m4 +0 -7831
  348. data/ext/ffi_c/libffi/m4/ltoptions.m4 +0 -369
  349. data/ext/ffi_c/libffi/m4/ltsugar.m4 +0 -123
  350. data/ext/ffi_c/libffi/m4/ltversion.m4 +0 -23
  351. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +0 -98
  352. data/ext/ffi_c/libffi/man/Makefile.in +0 -466
  353. data/ext/ffi_c/libffi/mdate-sh +0 -201
  354. data/ext/ffi_c/libffi/missing +0 -376
  355. data/ext/ffi_c/libffi/src/arm/gentramp.sh +0 -118
  356. data/ext/ffi_c/libffi/src/arm/trampoline.S +0 -4450
  357. data/ext/ffi_c/libffi/src/x86/darwin.S +0 -444
  358. data/ext/ffi_c/libffi/src/x86/darwin64.S +0 -416
  359. data/ext/ffi_c/libffi/src/x86/freebsd.S +0 -458
  360. data/ext/ffi_c/libffi/src/x86/win32.S +0 -1065
  361. data/ext/ffi_c/libffi/testsuite/Makefile.in +0 -500
  362. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +0 -300
  363. data/ext/ffi_c/libffi/testsuite/libffi.call/many_win32.c +0 -63
  364. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen_win32.c +0 -44
  365. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +0 -96
  366. data/ext/ffi_c/libffi/texinfo.tex +0 -7210
@@ -0,0 +1,53 @@
1
+ /* -----------------------------------------------------------------*-C-*-
2
+ ffitarget.h - Copyright (c) 2013 Tensilica, Inc.
3
+ Target configuration macros for XTENSA.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ ``Software''), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included
14
+ in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23
+ DEALINGS IN THE SOFTWARE.
24
+ ----------------------------------------------------------------------- */
25
+
26
+ #ifndef LIBFFI_TARGET_H
27
+ #define LIBFFI_TARGET_H
28
+
29
+ #ifndef LIBFFI_H
30
+ #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead."
31
+ #endif
32
+
33
+ #ifndef LIBFFI_ASM
34
+ typedef unsigned long ffi_arg;
35
+ typedef signed long ffi_sarg;
36
+
37
+ typedef enum ffi_abi {
38
+ FFI_FIRST_ABI = 0,
39
+ FFI_SYSV,
40
+ FFI_LAST_ABI,
41
+ FFI_DEFAULT_ABI = FFI_SYSV
42
+ } ffi_abi;
43
+ #endif
44
+
45
+ #define FFI_REGISTER_NARGS 6
46
+
47
+ /* ---- Definitions for closures ----------------------------------------- */
48
+
49
+ #define FFI_CLOSURES 1
50
+ #define FFI_NATIVE_RAW_API 0
51
+ #define FFI_TRAMPOLINE_SIZE 24
52
+
53
+ #endif
@@ -0,0 +1,253 @@
1
+ /* -----------------------------------------------------------------------
2
+ sysv.S - Copyright (c) 2013 Tensilica, Inc.
3
+
4
+ XTENSA Foreign Function Interface
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining
7
+ a copy of this software and associated documentation files (the
8
+ ``Software''), to deal in the Software without restriction, including
9
+ without limitation the rights to use, copy, modify, merge, publish,
10
+ distribute, sublicense, and/or sell copies of the Software, and to
11
+ permit persons to whom the Software is furnished to do so, subject to
12
+ the following conditions:
13
+
14
+ The above copyright notice and this permission notice shall be included
15
+ in all copies or substantial portions of the Software.
16
+
17
+ THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
18
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
21
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
22
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24
+ DEALINGS IN THE SOFTWARE.
25
+ ----------------------------------------------------------------------- */
26
+
27
+ #define LIBFFI_ASM
28
+ #include <fficonfig.h>
29
+ #include <ffi.h>
30
+
31
+ #define ENTRY(name) .text; .globl name; .type name,@function; .align 4; name:
32
+ #define END(name) .size name , . - name
33
+
34
+ /* Assert that the table below is in sync with ffi.h. */
35
+
36
+ #if FFI_TYPE_UINT8 != 5 \
37
+ || FFI_TYPE_SINT8 != 6 \
38
+ || FFI_TYPE_UINT16 != 7 \
39
+ || FFI_TYPE_SINT16 != 8 \
40
+ || FFI_TYPE_UINT32 != 9 \
41
+ || FFI_TYPE_SINT32 != 10 \
42
+ || FFI_TYPE_UINT64 != 11
43
+ #error "xtensa/sysv.S out of sync with ffi.h"
44
+ #endif
45
+
46
+
47
+ /* ffi_call_SYSV (rvalue, rbytes, flags, (*fnaddr)(), bytes, ecif)
48
+ void *rvalue; a2
49
+ unsigned long rbytes; a3
50
+ unsigned flags; a4
51
+ void (*fnaddr)(); a5
52
+ unsigned long bytes; a6
53
+ extended_cif* ecif) a7
54
+ */
55
+
56
+ ENTRY(ffi_call_SYSV)
57
+
58
+ entry a1, 32 # 32 byte frame for using call8 below
59
+
60
+ mov a10, a7 # a10(->arg0): ecif
61
+ sub a11, a1, a6 # a11(->arg1): stack pointer
62
+ mov a7, a1 # fp
63
+ movsp a1, a11 # set new sp = old_sp - bytes
64
+
65
+ movi a8, ffi_prep_args
66
+ callx8 a8 # ffi_prep_args(ecif, stack)
67
+
68
+ # prepare to move stack pointer back up to 6 arguments
69
+ # note that 'bytes' is already aligned
70
+
71
+ movi a10, 6*4
72
+ sub a11, a6, a10
73
+ movgez a6, a10, a11
74
+ add a6, a1, a6
75
+
76
+
77
+ # we can pass up to 6 arguments in registers
78
+ # for simplicity, just load 6 arguments
79
+ # (the stack size is at least 32 bytes, so no risk to cross boundaries)
80
+
81
+ l32i a10, a1, 0
82
+ l32i a11, a1, 4
83
+ l32i a12, a1, 8
84
+ l32i a13, a1, 12
85
+ l32i a14, a1, 16
86
+ l32i a15, a1, 20
87
+
88
+ # move stack pointer
89
+
90
+ movsp a1, a6
91
+
92
+ callx8 a5 # (*fn)(args...)
93
+
94
+ # Handle return value(s)
95
+
96
+ beqz a2, .Lexit
97
+
98
+ movi a5, FFI_TYPE_STRUCT
99
+ bne a4, a5, .Lstore
100
+ movi a5, 16
101
+ blt a5, a3, .Lexit
102
+
103
+ s32i a10, a2, 0
104
+ blti a3, 5, .Lexit
105
+ addi a3, a3, -1
106
+ s32i a11, a2, 4
107
+ blti a3, 8, .Lexit
108
+ s32i a12, a2, 8
109
+ blti a3, 12, .Lexit
110
+ s32i a13, a2, 12
111
+
112
+ .Lexit: retw
113
+
114
+ .Lstore:
115
+ addi a4, a4, -FFI_TYPE_UINT8
116
+ bgei a4, 7, .Lexit # should never happen
117
+ movi a6, store_calls
118
+ add a4, a4, a4
119
+ addx4 a6, a4, a6 # store_table + idx * 8
120
+ jx a6
121
+
122
+ .align 8
123
+ store_calls:
124
+ # UINT8
125
+ s8i a10, a2, 0
126
+ retw
127
+
128
+ # SINT8
129
+ .align 8
130
+ s8i a10, a2, 0
131
+ retw
132
+
133
+ # UINT16
134
+ .align 8
135
+ s16i a10, a2, 0
136
+ retw
137
+
138
+ # SINT16
139
+ .align 8
140
+ s16i a10, a2, 0
141
+ retw
142
+
143
+ # UINT32
144
+ .align 8
145
+ s32i a10, a2, 0
146
+ retw
147
+
148
+ # SINT32
149
+ .align 8
150
+ s32i a10, a2, 0
151
+ retw
152
+
153
+ # UINT64
154
+ .align 8
155
+ s32i a10, a2, 0
156
+ s32i a11, a2, 4
157
+ retw
158
+
159
+ END(ffi_call_SYSV)
160
+
161
+
162
+ /*
163
+ * void ffi_cacheflush (unsigned long start, unsigned long end)
164
+ */
165
+
166
+ #define EXTRA_ARGS_SIZE 24
167
+
168
+ ENTRY(ffi_cacheflush)
169
+
170
+ entry a1, 16
171
+
172
+ 1: dhwbi a2, 0
173
+ ihi a2, 0
174
+ addi a2, a2, 4
175
+ blt a2, a3, 1b
176
+
177
+ retw
178
+
179
+ END(ffi_cacheflush)
180
+
181
+ /* ffi_trampoline is copied to the stack */
182
+
183
+ ENTRY(ffi_trampoline)
184
+
185
+ entry a1, 16 + (FFI_REGISTER_NARGS * 4) + (4 * 4) # [ 0]
186
+ j 2f # [ 3]
187
+ .align 4 # [ 6]
188
+ 1: .long 0 # [ 8]
189
+ 2: l32r a15, 1b # [12]
190
+ _mov a14, a0 # [15]
191
+ callx0 a15 # [18]
192
+ # [21]
193
+ END(ffi_trampoline)
194
+
195
+ /*
196
+ * ffi_closure()
197
+ *
198
+ * a0: closure + 21
199
+ * a14: return address (a0)
200
+ */
201
+
202
+ ENTRY(ffi_closure_SYSV)
203
+
204
+ /* intentionally omitting entry here */
205
+
206
+ # restore return address (a0) and move pointer to closure to a10
207
+ addi a10, a0, -21
208
+ mov a0, a14
209
+
210
+ # allow up to 4 arguments as return values
211
+ addi a11, a1, 4 * 4
212
+
213
+ # save up to 6 arguments to stack (allocated by entry below)
214
+ s32i a2, a11, 0
215
+ s32i a3, a11, 4
216
+ s32i a4, a11, 8
217
+ s32i a5, a11, 12
218
+ s32i a6, a11, 16
219
+ s32i a7, a11, 20
220
+
221
+ movi a8, ffi_closure_SYSV_inner
222
+ mov a12, a1
223
+ callx8 a8 # .._inner(*closure, **avalue, *rvalue)
224
+
225
+ # load up to four return arguments
226
+ l32i a2, a1, 0
227
+ l32i a3, a1, 4
228
+ l32i a4, a1, 8
229
+ l32i a5, a1, 12
230
+
231
+ # (sign-)extend return value
232
+ movi a11, FFI_TYPE_UINT8
233
+ bne a10, a11, 1f
234
+ extui a2, a2, 0, 8
235
+ retw
236
+
237
+ 1: movi a11, FFI_TYPE_SINT8
238
+ bne a10, a11, 1f
239
+ sext a2, a2, 7
240
+ retw
241
+
242
+ 1: movi a11, FFI_TYPE_UINT16
243
+ bne a10, a11, 1f
244
+ extui a2, a2, 0, 16
245
+ retw
246
+
247
+ 1: movi a11, FFI_TYPE_SINT16
248
+ bne a10, a11, 1f
249
+ sext a2, a2, 15
250
+
251
+ 1: retw
252
+
253
+ END(ffi_closure_SYSV)
@@ -0,0 +1 @@
1
+ timestamp
@@ -2,79 +2,84 @@
2
2
 
3
3
  AUTOMAKE_OPTIONS = foreign dejagnu
4
4
 
5
- # Setup the testing framework, if you have one
6
- EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
7
- echo $(top_builddir)/../expect/expect ; \
8
- else echo expect ; fi`
9
-
10
- RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
11
- echo $(top_srcdir)/../dejagnu/runtest ; \
12
- else echo runtest; fi`
13
-
14
- AM_RUNTESTFLAGS =
5
+ EXTRA_DEJAGNU_SITE_CONFIG=../local.exp
15
6
 
16
7
  CLEANFILES = *.exe core* *.log *.sum
17
8
 
18
- EXTRA_DIST = libffi.special/special.exp \
19
- libffi.special/unwindtest_ffi_call.cc libffi.special/unwindtest.cc \
20
- libffi.special/ffitestcxx.h config/default.exp lib/target-libpath.exp \
21
- lib/libffi.exp lib/wrapper.exp libffi.call/float.c \
22
- libffi.call/cls_multi_schar.c libffi.call/float3.c \
23
- libffi.call/cls_3_1byte.c libffi.call/stret_large2.c \
24
- libffi.call/cls_5_1_byte.c libffi.call/stret_medium.c \
25
- libffi.call/promotion.c libffi.call/cls_dbls_struct.c \
26
- libffi.call/nested_struct.c libffi.call/closure_fn1.c \
27
- libffi.call/cls_4_1byte.c libffi.call/cls_float.c \
28
- libffi.call/cls_2byte.c libffi.call/closure_fn4.c \
29
- libffi.call/return_fl2.c libffi.call/nested_struct7.c \
30
- libffi.call/cls_uint.c libffi.call/cls_align_sint64.c \
31
- libffi.call/float1.c libffi.call/cls_19byte.c \
32
- libffi.call/nested_struct1.c libffi.call/cls_4byte.c \
33
- libffi.call/return_fl1.c libffi.call/cls_align_pointer.c \
34
- libffi.call/nested_struct4.c libffi.call/nested_struct3.c \
35
- libffi.call/struct7.c libffi.call/nested_struct9.c \
36
- libffi.call/cls_sshort.c libffi.call/cls_ulonglong.c \
37
- libffi.call/cls_pointer_stack.c libffi.call/cls_multi_uchar.c \
38
- libffi.call/testclosure.c libffi.call/cls_3byte1.c \
39
- libffi.call/struct6.c libffi.call/return_uc.c libffi.call/return_ll1.c \
40
- libffi.call/cls_ushort.c libffi.call/stret_medium2.c \
41
- libffi.call/cls_multi_ushortchar.c libffi.call/return_dbl2.c \
42
- libffi.call/closure_loc_fn0.c libffi.call/return_sc.c \
43
- libffi.call/nested_struct8.c libffi.call/cls_7_1_byte.c \
44
- libffi.call/return_ll.c libffi.call/cls_pointer.c \
45
- libffi.call/err_bad_abi.c libffi.call/return_dbl1.c \
46
- libffi.call/call.exp libffi.call/ffitest.h libffi.call/strlen.c \
47
- libffi.call/return_sl.c libffi.call/cls_1_1byte.c \
48
- libffi.call/struct1.c libffi.call/cls_64byte.c libffi.call/return_ul.c \
49
- libffi.call/cls_double.c libffi.call/many_win32.c \
50
- libffi.call/cls_16byte.c libffi.call/cls_align_double.c \
51
- libffi.call/cls_align_uint16.c libffi.call/cls_9byte1.c \
52
- libffi.call/cls_multi_sshortchar.c libffi.call/cls_multi_ushort.c \
53
- libffi.call/closure_stdcall.c libffi.call/return_fl.c \
54
- libffi.call/strlen_win32.c libffi.call/return_ldl.c \
55
- libffi.call/cls_align_float.c libffi.call/struct3.c \
56
- libffi.call/cls_uchar.c libffi.call/cls_sint.c libffi.call/float2.c \
57
- libffi.call/cls_align_longdouble_split.c \
58
- libffi.call/cls_longdouble_va.c libffi.call/cls_multi_sshort.c \
59
- libffi.call/stret_large.c libffi.call/cls_align_sint16.c \
60
- libffi.call/nested_struct6.c libffi.call/cls_5byte.c \
61
- libffi.call/return_dbl.c libffi.call/cls_20byte.c \
62
- libffi.call/cls_8byte.c libffi.call/pyobjc-tc.c \
63
- libffi.call/cls_24byte.c libffi.call/cls_align_longdouble_split2.c \
64
- libffi.call/cls_6_1_byte.c libffi.call/cls_schar.c \
65
- libffi.call/cls_18byte.c libffi.call/closure_fn3.c \
66
- libffi.call/err_bad_typedef.c libffi.call/closure_fn2.c \
67
- libffi.call/struct2.c libffi.call/cls_3byte2.c \
68
- libffi.call/cls_align_longdouble.c libffi.call/cls_20byte1.c \
69
- libffi.call/return_fl3.c libffi.call/cls_align_uint32.c \
70
- libffi.call/problem1.c libffi.call/float4.c \
71
- libffi.call/cls_align_uint64.c libffi.call/struct9.c \
72
- libffi.call/closure_fn5.c libffi.call/cls_align_sint32.c \
73
- libffi.call/closure_fn0.c libffi.call/closure_fn6.c \
74
- libffi.call/struct4.c libffi.call/nested_struct2.c \
75
- libffi.call/cls_6byte.c libffi.call/cls_7byte.c libffi.call/many.c \
76
- libffi.call/struct8.c libffi.call/negint.c libffi.call/struct5.c \
77
- libffi.call/cls_12byte.c libffi.call/cls_double_va.c \
78
- libffi.call/cls_longdouble.c libffi.call/cls_9byte2.c \
79
- libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
80
- libffi.call/huge_struct.c
9
+ EXTRA_DIST = config/default.exp libffi.call/cls_19byte.c \
10
+ libffi.call/cls_align_longdouble_split.c \
11
+ libffi.call/closure_loc_fn0.c libffi.call/cls_schar.c \
12
+ libffi.call/closure_fn1.c \
13
+ libffi.call/return_ul.c libffi.call/cls_align_double.c \
14
+ libffi.call/return_fl2.c libffi.call/cls_1_1byte.c \
15
+ libffi.call/cls_64byte.c libffi.call/nested_struct7.c \
16
+ libffi.call/cls_align_sint32.c libffi.call/nested_struct2.c \
17
+ libffi.call/ffitest.h libffi.call/nested_struct4.c \
18
+ libffi.call/cls_multi_ushort.c libffi.call/struct3.c \
19
+ libffi.call/cls_3byte1.c libffi.call/cls_16byte.c \
20
+ libffi.call/struct8.c libffi.call/nested_struct8.c \
21
+ libffi.call/cls_multi_sshort.c libffi.call/cls_3byte2.c \
22
+ libffi.call/cls_pointer.c \
23
+ libffi.call/err_bad_typedef.c libffi.call/cls_4_1byte.c \
24
+ libffi.call/cls_9byte2.c libffi.call/cls_multi_schar.c \
25
+ libffi.call/stret_medium2.c libffi.call/cls_5_1_byte.c \
26
+ libffi.call/call.exp libffi.call/cls_double.c \
27
+ libffi.call/cls_align_sint16.c libffi.call/cls_uint.c \
28
+ libffi.call/return_ll1.c libffi.call/nested_struct3.c \
29
+ libffi.call/cls_20byte1.c libffi.call/closure_fn4.c \
30
+ libffi.call/cls_uchar.c libffi.call/struct2.c libffi.call/cls_7byte.c \
31
+ libffi.call/strlen.c libffi.call/many.c libffi.call/testclosure.c \
32
+ libffi.call/return_fl.c libffi.call/struct5.c \
33
+ libffi.call/cls_12byte.c libffi.call/cls_multi_sshortchar.c \
34
+ libffi.call/cls_align_longdouble_split2.c libffi.call/return_dbl2.c \
35
+ libffi.call/return_fl3.c libffi.call/stret_medium.c \
36
+ libffi.call/nested_struct6.c libffi.call/closure_fn3.c \
37
+ libffi.call/float3.c libffi.call/many2.c \
38
+ libffi.call/closure_simple.c libffi.call/cls_align_uint16.c \
39
+ libffi.call/cls_9byte1.c libffi.call/closure_fn6.c \
40
+ libffi.call/cls_double_va.c libffi.call/cls_align_pointer.c \
41
+ libffi.call/cls_align_longdouble.c libffi.call/closure_fn2.c \
42
+ libffi.call/cls_sshort.c \
43
+ libffi.call/nested_struct.c libffi.call/cls_20byte.c \
44
+ libffi.call/cls_longdouble.c libffi.call/cls_multi_uchar.c \
45
+ libffi.call/return_uc.c \
46
+ libffi.call/cls_18byte.c libffi.call/cls_8byte.c \
47
+ libffi.call/promotion.c \
48
+ libffi.call/return_dbl.c libffi.call/cls_24byte.c \
49
+ libffi.call/struct4.c libffi.call/cls_6byte.c \
50
+ libffi.call/cls_align_uint32.c libffi.call/float.c \
51
+ libffi.call/float1.c libffi.call/float_va.c libffi.call/negint.c \
52
+ libffi.call/return_dbl1.c libffi.call/cls_3_1byte.c \
53
+ libffi.call/cls_align_float.c libffi.call/return_fl1.c \
54
+ libffi.call/nested_struct10.c libffi.call/nested_struct5.c \
55
+ libffi.call/cls_align_sint64.c \
56
+ libffi.call/stret_large2.c libffi.call/return_sl.c \
57
+ libffi.call/closure_fn0.c libffi.call/cls_5byte.c \
58
+ libffi.call/cls_2byte.c libffi.call/float2.c \
59
+ libffi.call/cls_dbls_struct.c libffi.call/cls_sint.c \
60
+ libffi.call/stret_large.c libffi.call/cls_ulonglong.c \
61
+ libffi.call/cls_ushort.c libffi.call/nested_struct1.c \
62
+ libffi.call/err_bad_abi.c libffi.call/cls_longdouble_va.c \
63
+ libffi.call/cls_float.c libffi.call/cls_pointer_stack.c \
64
+ libffi.call/pyobjc-tc.c libffi.call/cls_multi_ushortchar.c \
65
+ libffi.call/struct1.c libffi.call/nested_struct9.c \
66
+ libffi.call/huge_struct.c libffi.call/problem1.c \
67
+ libffi.call/float4.c \
68
+ libffi.call/return_ldl.c \
69
+ libffi.call/closure_fn5.c \
70
+ libffi.call/struct6.c libffi.call/return_ll.c libffi.call/struct9.c \
71
+ libffi.call/return_sc.c libffi.call/struct7.c \
72
+ libffi.call/cls_align_uint64.c libffi.call/cls_4byte.c \
73
+ libffi.call/cls_6_1_byte.c \
74
+ libffi.call/cls_7_1_byte.c libffi.call/unwindtest.cc \
75
+ libffi.call/unwindtest_ffi_call.cc \
76
+ lib/wrapper.exp lib/target-libpath.exp \
77
+ lib/libffi.exp libffi.call/cls_struct_va1.c \
78
+ libffi.call/cls_uchar_va.c libffi.call/cls_uint_va.c \
79
+ libffi.call/cls_ulong_va.c libffi.call/cls_ushort_va.c \
80
+ libffi.call/nested_struct11.c libffi.call/uninitialized.c \
81
+ libffi.call/va_1.c libffi.call/va_struct1.c libffi.call/va_struct2.c \
82
+ libffi.call/va_struct3.c \
83
+ libffi.call/strlen2.c \
84
+ libffi.call/strlen3.c \
85
+ libffi.call/strlen4.c