ffi 1.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (542) hide show
  1. checksums.yaml +7 -0
  2. data/.appveyor.yml +27 -0
  3. data/.gitignore +25 -0
  4. data/.gitmodules +4 -0
  5. data/.travis.yml +42 -0
  6. data/.yardopts +5 -0
  7. data/CHANGELOG.md +147 -0
  8. data/COPYING +49 -0
  9. data/Gemfile +15 -0
  10. data/LICENSE +24 -0
  11. data/LICENSE.SPECS +22 -0
  12. data/README.md +115 -0
  13. data/Rakefile +196 -0
  14. data/ext/ffi_c/AbstractMemory.c +1109 -0
  15. data/ext/ffi_c/AbstractMemory.h +175 -0
  16. data/ext/ffi_c/ArrayType.c +162 -0
  17. data/ext/ffi_c/ArrayType.h +59 -0
  18. data/ext/ffi_c/Buffer.c +365 -0
  19. data/ext/ffi_c/Call.c +503 -0
  20. data/ext/ffi_c/Call.h +107 -0
  21. data/ext/ffi_c/ClosurePool.c +283 -0
  22. data/ext/ffi_c/ClosurePool.h +57 -0
  23. data/ext/ffi_c/DynamicLibrary.c +339 -0
  24. data/ext/ffi_c/DynamicLibrary.h +98 -0
  25. data/ext/ffi_c/Function.c +917 -0
  26. data/ext/ffi_c/Function.h +87 -0
  27. data/ext/ffi_c/FunctionInfo.c +271 -0
  28. data/ext/ffi_c/LastError.c +229 -0
  29. data/ext/ffi_c/LastError.h +47 -0
  30. data/ext/ffi_c/LongDouble.c +63 -0
  31. data/ext/ffi_c/LongDouble.h +51 -0
  32. data/ext/ffi_c/MappedType.c +168 -0
  33. data/ext/ffi_c/MappedType.h +59 -0
  34. data/ext/ffi_c/MemoryPointer.c +197 -0
  35. data/ext/ffi_c/MemoryPointer.h +53 -0
  36. data/ext/ffi_c/MethodHandle.c +358 -0
  37. data/ext/ffi_c/MethodHandle.h +55 -0
  38. data/ext/ffi_c/Platform.c +82 -0
  39. data/ext/ffi_c/Platform.h +45 -0
  40. data/ext/ffi_c/Pointer.c +508 -0
  41. data/ext/ffi_c/Pointer.h +63 -0
  42. data/ext/ffi_c/Struct.c +829 -0
  43. data/ext/ffi_c/Struct.h +106 -0
  44. data/ext/ffi_c/StructByValue.c +150 -0
  45. data/ext/ffi_c/StructByValue.h +55 -0
  46. data/ext/ffi_c/StructLayout.c +698 -0
  47. data/ext/ffi_c/Thread.c +137 -0
  48. data/ext/ffi_c/Thread.h +84 -0
  49. data/ext/ffi_c/Type.c +379 -0
  50. data/ext/ffi_c/Type.h +61 -0
  51. data/ext/ffi_c/Types.c +139 -0
  52. data/ext/ffi_c/Types.h +89 -0
  53. data/ext/ffi_c/Variadic.c +298 -0
  54. data/ext/ffi_c/compat.h +78 -0
  55. data/ext/ffi_c/extconf.rb +86 -0
  56. data/ext/ffi_c/ffi.c +93 -0
  57. data/ext/ffi_c/libffi.bsd.mk +40 -0
  58. data/ext/ffi_c/libffi.darwin.mk +105 -0
  59. data/ext/ffi_c/libffi.gnu.mk +32 -0
  60. data/ext/ffi_c/libffi.mk +18 -0
  61. data/ext/ffi_c/libffi.vc.mk +26 -0
  62. data/ext/ffi_c/libffi.vc64.mk +26 -0
  63. data/ext/ffi_c/libffi/.appveyor.yml +66 -0
  64. data/ext/ffi_c/libffi/.gitattributes +4 -0
  65. data/ext/ffi_c/libffi/.github/issue_template.md +10 -0
  66. data/ext/ffi_c/libffi/.gitignore +38 -0
  67. data/ext/ffi_c/libffi/.travis.yml +63 -0
  68. data/ext/ffi_c/libffi/.travis/ar-lib +270 -0
  69. data/ext/ffi_c/libffi/.travis/build-in-container.sh +22 -0
  70. data/ext/ffi_c/libffi/.travis/build.sh +110 -0
  71. data/ext/ffi_c/libffi/.travis/compile +351 -0
  72. data/ext/ffi_c/libffi/.travis/install.sh +43 -0
  73. data/ext/ffi_c/libffi/.travis/moxie-sim.exp +60 -0
  74. data/ext/ffi_c/libffi/.travis/site.exp +18 -0
  75. data/ext/ffi_c/libffi/ChangeLog.libffi +584 -0
  76. data/ext/ffi_c/libffi/ChangeLog.libffi-3.1 +6000 -0
  77. data/ext/ffi_c/libffi/ChangeLog.libgcj +40 -0
  78. data/ext/ffi_c/libffi/ChangeLog.v1 +764 -0
  79. data/ext/ffi_c/libffi/LICENSE +21 -0
  80. data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +353 -0
  81. data/ext/ffi_c/libffi/Makefile.am +158 -0
  82. data/ext/ffi_c/libffi/README.md +470 -0
  83. data/ext/ffi_c/libffi/acinclude.m4 +479 -0
  84. data/ext/ffi_c/libffi/autogen.sh +2 -0
  85. data/ext/ffi_c/libffi/config.guess +1466 -0
  86. data/ext/ffi_c/libffi/config.sub +1836 -0
  87. data/ext/ffi_c/libffi/configure.ac +394 -0
  88. data/ext/ffi_c/libffi/configure.host +303 -0
  89. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +203 -0
  90. data/ext/ffi_c/libffi/include/Makefile.am +9 -0
  91. data/ext/ffi_c/libffi/include/ffi.h.in +515 -0
  92. data/ext/ffi_c/libffi/include/ffi_cfi.h +55 -0
  93. data/ext/ffi_c/libffi/include/ffi_common.h +153 -0
  94. data/ext/ffi_c/libffi/libffi.map.in +80 -0
  95. data/ext/ffi_c/libffi/libffi.pc.in +11 -0
  96. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +1043 -0
  97. data/ext/ffi_c/libffi/libtool-version +29 -0
  98. data/ext/ffi_c/libffi/m4/asmcfi.m4 +13 -0
  99. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +71 -0
  100. data/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +194 -0
  101. data/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +122 -0
  102. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +74 -0
  103. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +87 -0
  104. data/ext/ffi_c/libffi/m4/ax_configure_args.m4 +70 -0
  105. data/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +302 -0
  106. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +263 -0
  107. data/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +89 -0
  108. data/ext/ffi_c/libffi/m4/ax_require_defined.m4 +37 -0
  109. data/ext/ffi_c/libffi/make_sunver.pl +333 -0
  110. data/ext/ffi_c/libffi/man/Makefile.am +8 -0
  111. data/ext/ffi_c/libffi/man/ffi.3 +41 -0
  112. data/ext/ffi_c/libffi/man/ffi_call.3 +103 -0
  113. data/ext/ffi_c/libffi/man/ffi_prep_cif.3 +68 -0
  114. data/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +73 -0
  115. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +33 -0
  116. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +130 -0
  117. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +57 -0
  118. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +4 -0
  119. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +511 -0
  120. data/ext/ffi_c/libffi/msvcc.sh +353 -0
  121. data/ext/ffi_c/libffi/src/aarch64/ffi.c +1009 -0
  122. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +92 -0
  123. data/ext/ffi_c/libffi/src/aarch64/internal.h +67 -0
  124. data/ext/ffi_c/libffi/src/aarch64/sysv.S +440 -0
  125. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +506 -0
  126. data/ext/ffi_c/libffi/src/alpha/ffi.c +521 -0
  127. data/ext/ffi_c/libffi/src/alpha/ffitarget.h +57 -0
  128. data/ext/ffi_c/libffi/src/alpha/internal.h +23 -0
  129. data/ext/ffi_c/libffi/src/alpha/osf.S +282 -0
  130. data/ext/ffi_c/libffi/src/arc/arcompact.S +135 -0
  131. data/ext/ffi_c/libffi/src/arc/ffi.c +266 -0
  132. data/ext/ffi_c/libffi/src/arc/ffitarget.h +53 -0
  133. data/ext/ffi_c/libffi/src/arm/ffi.c +854 -0
  134. data/ext/ffi_c/libffi/src/arm/ffitarget.h +89 -0
  135. data/ext/ffi_c/libffi/src/arm/internal.h +7 -0
  136. data/ext/ffi_c/libffi/src/arm/sysv.S +385 -0
  137. data/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +311 -0
  138. data/ext/ffi_c/libffi/src/avr32/ffi.c +423 -0
  139. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +55 -0
  140. data/ext/ffi_c/libffi/src/avr32/sysv.S +208 -0
  141. data/ext/ffi_c/libffi/src/bfin/ffi.c +196 -0
  142. data/ext/ffi_c/libffi/src/bfin/ffitarget.h +43 -0
  143. data/ext/ffi_c/libffi/src/bfin/sysv.S +179 -0
  144. data/ext/ffi_c/libffi/src/closures.c +990 -0
  145. data/ext/ffi_c/libffi/src/cris/ffi.c +386 -0
  146. data/ext/ffi_c/libffi/src/cris/ffitarget.h +56 -0
  147. data/ext/ffi_c/libffi/src/cris/sysv.S +215 -0
  148. data/ext/ffi_c/libffi/src/debug.c +64 -0
  149. data/ext/ffi_c/libffi/src/dlmalloc.c +5166 -0
  150. data/ext/ffi_c/libffi/src/frv/eabi.S +128 -0
  151. data/ext/ffi_c/libffi/src/frv/ffi.c +292 -0
  152. data/ext/ffi_c/libffi/src/frv/ffitarget.h +62 -0
  153. data/ext/ffi_c/libffi/src/ia64/ffi.c +604 -0
  154. data/ext/ffi_c/libffi/src/ia64/ffitarget.h +56 -0
  155. data/ext/ffi_c/libffi/src/ia64/ia64_flags.h +40 -0
  156. data/ext/ffi_c/libffi/src/ia64/unix.S +567 -0
  157. data/ext/ffi_c/libffi/src/java_raw_api.c +374 -0
  158. data/ext/ffi_c/libffi/src/m32r/ffi.c +232 -0
  159. data/ext/ffi_c/libffi/src/m32r/ffitarget.h +53 -0
  160. data/ext/ffi_c/libffi/src/m32r/sysv.S +121 -0
  161. data/ext/ffi_c/libffi/src/m68k/ffi.c +362 -0
  162. data/ext/ffi_c/libffi/src/m68k/ffitarget.h +54 -0
  163. data/ext/ffi_c/libffi/src/m68k/sysv.S +357 -0
  164. data/ext/ffi_c/libffi/src/m88k/ffi.c +400 -0
  165. data/ext/ffi_c/libffi/src/m88k/ffitarget.h +49 -0
  166. data/ext/ffi_c/libffi/src/m88k/obsd.S +209 -0
  167. data/ext/ffi_c/libffi/src/metag/ffi.c +330 -0
  168. data/ext/ffi_c/libffi/src/metag/ffitarget.h +53 -0
  169. data/ext/ffi_c/libffi/src/metag/sysv.S +311 -0
  170. data/ext/ffi_c/libffi/src/microblaze/ffi.c +321 -0
  171. data/ext/ffi_c/libffi/src/microblaze/ffitarget.h +53 -0
  172. data/ext/ffi_c/libffi/src/microblaze/sysv.S +302 -0
  173. data/ext/ffi_c/libffi/src/mips/ffi.c +1130 -0
  174. data/ext/ffi_c/libffi/src/mips/ffitarget.h +244 -0
  175. data/ext/ffi_c/libffi/src/mips/n32.S +663 -0
  176. data/ext/ffi_c/libffi/src/mips/o32.S +502 -0
  177. data/ext/ffi_c/libffi/src/moxie/eabi.S +101 -0
  178. data/ext/ffi_c/libffi/src/moxie/ffi.c +285 -0
  179. data/ext/ffi_c/libffi/src/moxie/ffitarget.h +52 -0
  180. data/ext/ffi_c/libffi/src/nios2/ffi.c +304 -0
  181. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +52 -0
  182. data/ext/ffi_c/libffi/src/nios2/sysv.S +136 -0
  183. data/ext/ffi_c/libffi/src/or1k/ffi.c +328 -0
  184. data/ext/ffi_c/libffi/src/or1k/ffitarget.h +58 -0
  185. data/ext/ffi_c/libffi/src/or1k/sysv.S +107 -0
  186. data/ext/ffi_c/libffi/src/pa/ffi.c +719 -0
  187. data/ext/ffi_c/libffi/src/pa/ffitarget.h +85 -0
  188. data/ext/ffi_c/libffi/src/pa/hpux32.S +368 -0
  189. data/ext/ffi_c/libffi/src/pa/linux.S +378 -0
  190. data/ext/ffi_c/libffi/src/powerpc/aix.S +566 -0
  191. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +694 -0
  192. data/ext/ffi_c/libffi/src/powerpc/asm.h +125 -0
  193. data/ext/ffi_c/libffi/src/powerpc/darwin.S +378 -0
  194. data/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +571 -0
  195. data/ext/ffi_c/libffi/src/powerpc/ffi.c +174 -0
  196. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +1440 -0
  197. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +1007 -0
  198. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +94 -0
  199. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +923 -0
  200. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +198 -0
  201. data/ext/ffi_c/libffi/src/powerpc/linux64.S +228 -0
  202. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +488 -0
  203. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +397 -0
  204. data/ext/ffi_c/libffi/src/powerpc/sysv.S +175 -0
  205. data/ext/ffi_c/libffi/src/prep_cif.c +263 -0
  206. data/ext/ffi_c/libffi/src/raw_api.c +267 -0
  207. data/ext/ffi_c/libffi/src/riscv/ffi.c +481 -0
  208. data/ext/ffi_c/libffi/src/riscv/ffitarget.h +69 -0
  209. data/ext/ffi_c/libffi/src/riscv/sysv.S +293 -0
  210. data/ext/ffi_c/libffi/src/s390/ffi.c +756 -0
  211. data/ext/ffi_c/libffi/src/s390/ffitarget.h +70 -0
  212. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  213. data/ext/ffi_c/libffi/src/s390/sysv.S +325 -0
  214. data/ext/ffi_c/libffi/src/sh/ffi.c +717 -0
  215. data/ext/ffi_c/libffi/src/sh/ffitarget.h +54 -0
  216. data/ext/ffi_c/libffi/src/sh/sysv.S +850 -0
  217. data/ext/ffi_c/libffi/src/sh64/ffi.c +469 -0
  218. data/ext/ffi_c/libffi/src/sh64/ffitarget.h +58 -0
  219. data/ext/ffi_c/libffi/src/sh64/sysv.S +539 -0
  220. data/ext/ffi_c/libffi/src/sparc/ffi.c +468 -0
  221. data/ext/ffi_c/libffi/src/sparc/ffi64.c +608 -0
  222. data/ext/ffi_c/libffi/src/sparc/ffitarget.h +81 -0
  223. data/ext/ffi_c/libffi/src/sparc/internal.h +26 -0
  224. data/ext/ffi_c/libffi/src/sparc/v8.S +443 -0
  225. data/ext/ffi_c/libffi/src/sparc/v9.S +440 -0
  226. data/ext/ffi_c/libffi/src/tile/ffi.c +355 -0
  227. data/ext/ffi_c/libffi/src/tile/ffitarget.h +65 -0
  228. data/ext/ffi_c/libffi/src/tile/tile.S +360 -0
  229. data/ext/ffi_c/libffi/src/types.c +108 -0
  230. data/ext/ffi_c/libffi/src/vax/elfbsd.S +195 -0
  231. data/ext/ffi_c/libffi/src/vax/ffi.c +276 -0
  232. data/ext/ffi_c/libffi/src/vax/ffitarget.h +49 -0
  233. data/ext/ffi_c/libffi/src/x86/asmnames.h +30 -0
  234. data/ext/ffi_c/libffi/src/x86/ffi.c +761 -0
  235. data/ext/ffi_c/libffi/src/x86/ffi64.c +886 -0
  236. data/ext/ffi_c/libffi/src/x86/ffitarget.h +147 -0
  237. data/ext/ffi_c/libffi/src/x86/ffiw64.c +311 -0
  238. data/ext/ffi_c/libffi/src/x86/internal.h +29 -0
  239. data/ext/ffi_c/libffi/src/x86/internal64.h +22 -0
  240. data/ext/ffi_c/libffi/src/x86/sysv.S +1129 -0
  241. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +995 -0
  242. data/ext/ffi_c/libffi/src/x86/unix64.S +566 -0
  243. data/ext/ffi_c/libffi/src/x86/win64.S +237 -0
  244. data/ext/ffi_c/libffi/src/x86/win64_intel.S +237 -0
  245. data/ext/ffi_c/libffi/src/xtensa/ffi.c +298 -0
  246. data/ext/ffi_c/libffi/src/xtensa/ffitarget.h +53 -0
  247. data/ext/ffi_c/libffi/src/xtensa/sysv.S +258 -0
  248. data/ext/ffi_c/libffi/stamp-h.in +1 -0
  249. data/ext/ffi_c/libffi/testsuite/Makefile.am +119 -0
  250. data/ext/ffi_c/libffi/testsuite/config/default.exp +1 -0
  251. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +657 -0
  252. data/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +283 -0
  253. data/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +45 -0
  254. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +28 -0
  255. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +78 -0
  256. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +50 -0
  257. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +58 -0
  258. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1745 -0
  259. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +2885 -0
  260. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +743 -0
  261. data/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +46 -0
  262. data/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +46 -0
  263. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +43 -0
  264. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +89 -0
  265. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +81 -0
  266. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +81 -0
  267. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +82 -0
  268. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +89 -0
  269. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +92 -0
  270. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +90 -0
  271. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +95 -0
  272. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_simple.c +55 -0
  273. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +94 -0
  274. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +95 -0
  275. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +96 -0
  276. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +102 -0
  277. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +89 -0
  278. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +91 -0
  279. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +93 -0
  280. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +113 -0
  281. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +90 -0
  282. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +95 -0
  283. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +90 -0
  284. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +90 -0
  285. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3float.c +95 -0
  286. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +98 -0
  287. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +90 -0
  288. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +109 -0
  289. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +98 -0
  290. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +124 -0
  291. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +113 -0
  292. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +99 -0
  293. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +117 -0
  294. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +97 -0
  295. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +88 -0
  296. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +90 -0
  297. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +91 -0
  298. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +93 -0
  299. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +91 -0
  300. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +92 -0
  301. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +132 -0
  302. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +115 -0
  303. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +95 -0
  304. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +91 -0
  305. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +91 -0
  306. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +92 -0
  307. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +91 -0
  308. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +91 -0
  309. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +93 -0
  310. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +66 -0
  311. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +43 -0
  312. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +61 -0
  313. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +42 -0
  314. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +105 -0
  315. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +61 -0
  316. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_args.c +70 -0
  317. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_many_mixed_float_double.c +55 -0
  318. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +74 -0
  319. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +74 -0
  320. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +86 -0
  321. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +91 -0
  322. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +74 -0
  323. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +86 -0
  324. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +74 -0
  325. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +142 -0
  326. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +44 -0
  327. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +42 -0
  328. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +42 -0
  329. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_struct_va1.c +114 -0
  330. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +42 -0
  331. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar_va.c +44 -0
  332. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +43 -0
  333. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint_va.c +45 -0
  334. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulong_va.c +45 -0
  335. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +47 -0
  336. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +43 -0
  337. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort_va.c +44 -0
  338. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +36 -0
  339. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +26 -0
  340. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +138 -0
  341. data/ext/ffi_c/libffi/testsuite/libffi.call/float.c +59 -0
  342. data/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +60 -0
  343. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +61 -0
  344. data/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +74 -0
  345. data/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +62 -0
  346. data/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +107 -0
  347. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +341 -0
  348. data/ext/ffi_c/libffi/testsuite/libffi.call/many.c +59 -0
  349. data/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +57 -0
  350. data/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +70 -0
  351. data/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +78 -0
  352. data/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +52 -0
  353. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +152 -0
  354. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +161 -0
  355. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +134 -0
  356. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct11.c +121 -0
  357. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +110 -0
  358. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +111 -0
  359. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +111 -0
  360. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +112 -0
  361. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +131 -0
  362. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +111 -0
  363. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +131 -0
  364. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +131 -0
  365. data/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +46 -0
  366. data/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +127 -0
  367. data/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +90 -0
  368. data/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +59 -0
  369. data/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc-tc.c +114 -0
  370. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +36 -0
  371. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +43 -0
  372. data/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +42 -0
  373. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +35 -0
  374. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +36 -0
  375. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +49 -0
  376. data/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +42 -0
  377. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +34 -0
  378. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +41 -0
  379. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +43 -0
  380. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +36 -0
  381. data/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +38 -0
  382. data/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +38 -0
  383. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +38 -0
  384. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +145 -0
  385. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +148 -0
  386. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +124 -0
  387. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +125 -0
  388. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +44 -0
  389. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +49 -0
  390. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +49 -0
  391. data/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +55 -0
  392. data/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +67 -0
  393. data/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +57 -0
  394. data/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +67 -0
  395. data/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +60 -0
  396. data/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +64 -0
  397. data/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +66 -0
  398. data/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +64 -0
  399. data/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +74 -0
  400. data/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +81 -0
  401. data/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +68 -0
  402. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +70 -0
  403. data/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +61 -0
  404. data/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest.cc +117 -0
  405. data/ext/ffi_c/libffi/testsuite/libffi.call/unwindtest_ffi_call.cc +54 -0
  406. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +196 -0
  407. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +121 -0
  408. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +123 -0
  409. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +125 -0
  410. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +91 -0
  411. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +10 -0
  412. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +10 -0
  413. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +10 -0
  414. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +42 -0
  415. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +10 -0
  416. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +10 -0
  417. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +10 -0
  418. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +71 -0
  419. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +10 -0
  420. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +10 -0
  421. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +10 -0
  422. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +80 -0
  423. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +10 -0
  424. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +16 -0
  425. data/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +10 -0
  426. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +36 -0
  427. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +51 -0
  428. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +7 -0
  429. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +7 -0
  430. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +7 -0
  431. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +10 -0
  432. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +10 -0
  433. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +86 -0
  434. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +10 -0
  435. data/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +1 -0
  436. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +78 -0
  437. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +10 -0
  438. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +10 -0
  439. data/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +10 -0
  440. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +37 -0
  441. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +41 -0
  442. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +10 -0
  443. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +10 -0
  444. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +10 -0
  445. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +44 -0
  446. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +10 -0
  447. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +10 -0
  448. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +10 -0
  449. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +10 -0
  450. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +10 -0
  451. data/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +10 -0
  452. data/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +34 -0
  453. data/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +28 -0
  454. data/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +1 -0
  455. data/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +36 -0
  456. data/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +19 -0
  457. data/ext/ffi_c/rbffi.h +55 -0
  458. data/ext/ffi_c/rbffi_endian.h +59 -0
  459. data/ext/ffi_c/win32/stdbool.h +8 -0
  460. data/ext/ffi_c/win32/stdint.h +201 -0
  461. data/ffi.gemspec +43 -0
  462. data/lib/ffi.rb +20 -0
  463. data/lib/ffi/autopointer.rb +203 -0
  464. data/lib/ffi/buffer.rb +4 -0
  465. data/lib/ffi/callback.rb +4 -0
  466. data/lib/ffi/data_converter.rb +67 -0
  467. data/lib/ffi/enum.rb +296 -0
  468. data/lib/ffi/errno.rb +43 -0
  469. data/lib/ffi/ffi.rb +45 -0
  470. data/lib/ffi/io.rb +62 -0
  471. data/lib/ffi/library.rb +588 -0
  472. data/lib/ffi/managedstruct.rb +84 -0
  473. data/lib/ffi/memorypointer.rb +1 -0
  474. data/lib/ffi/platform.rb +175 -0
  475. data/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  476. data/lib/ffi/platform/aarch64-freebsd12/types.conf +128 -0
  477. data/lib/ffi/platform/aarch64-linux/types.conf +104 -0
  478. data/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  479. data/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  480. data/lib/ffi/platform/arm-linux/types.conf +104 -0
  481. data/lib/ffi/platform/i386-cygwin/types.conf +3 -0
  482. data/lib/ffi/platform/i386-darwin/types.conf +100 -0
  483. data/lib/ffi/platform/i386-freebsd/types.conf +152 -0
  484. data/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  485. data/lib/ffi/platform/i386-gnu/types.conf +107 -0
  486. data/lib/ffi/platform/i386-linux/types.conf +103 -0
  487. data/lib/ffi/platform/i386-netbsd/types.conf +126 -0
  488. data/lib/ffi/platform/i386-openbsd/types.conf +128 -0
  489. data/lib/ffi/platform/i386-solaris/types.conf +122 -0
  490. data/lib/ffi/platform/i386-windows/types.conf +105 -0
  491. data/lib/ffi/platform/ia64-linux/types.conf +104 -0
  492. data/lib/ffi/platform/mips-linux/types.conf +102 -0
  493. data/lib/ffi/platform/mips64-linux/types.conf +104 -0
  494. data/lib/ffi/platform/mips64el-linux/types.conf +104 -0
  495. data/lib/ffi/platform/mipsel-linux/types.conf +102 -0
  496. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +102 -0
  497. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +102 -0
  498. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +104 -0
  499. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +104 -0
  500. data/lib/ffi/platform/powerpc-aix/types.conf +180 -0
  501. data/lib/ffi/platform/powerpc-darwin/types.conf +100 -0
  502. data/lib/ffi/platform/powerpc-linux/types.conf +100 -0
  503. data/lib/ffi/platform/powerpc64-linux/types.conf +104 -0
  504. data/lib/ffi/platform/s390-linux/types.conf +102 -0
  505. data/lib/ffi/platform/s390x-linux/types.conf +102 -0
  506. data/lib/ffi/platform/sparc-linux/types.conf +102 -0
  507. data/lib/ffi/platform/sparc-solaris/types.conf +128 -0
  508. data/lib/ffi/platform/sparc64-linux/types.conf +102 -0
  509. data/lib/ffi/platform/sparcv9-solaris/types.conf +128 -0
  510. data/lib/ffi/platform/x86_64-cygwin/types.conf +3 -0
  511. data/lib/ffi/platform/x86_64-darwin/types.conf +126 -0
  512. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +148 -0
  513. data/lib/ffi/platform/x86_64-freebsd/types.conf +128 -0
  514. data/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  515. data/lib/ffi/platform/x86_64-linux/types.conf +111 -0
  516. data/lib/ffi/platform/x86_64-netbsd/types.conf +128 -0
  517. data/lib/ffi/platform/x86_64-openbsd/types.conf +134 -0
  518. data/lib/ffi/platform/x86_64-solaris/types.conf +122 -0
  519. data/lib/ffi/platform/x86_64-windows/types.conf +120 -0
  520. data/lib/ffi/pointer.rb +160 -0
  521. data/lib/ffi/struct.rb +311 -0
  522. data/lib/ffi/struct_by_reference.rb +72 -0
  523. data/lib/ffi/struct_layout.rb +96 -0
  524. data/lib/ffi/struct_layout_builder.rb +227 -0
  525. data/lib/ffi/tools/const_generator.rb +230 -0
  526. data/lib/ffi/tools/generator.rb +105 -0
  527. data/lib/ffi/tools/generator_task.rb +32 -0
  528. data/lib/ffi/tools/struct_generator.rb +194 -0
  529. data/lib/ffi/tools/types_generator.rb +135 -0
  530. data/lib/ffi/types.rb +194 -0
  531. data/lib/ffi/union.rb +43 -0
  532. data/lib/ffi/variadic.rb +78 -0
  533. data/lib/ffi/version.rb +3 -0
  534. data/samples/getlogin.rb +8 -0
  535. data/samples/getpid.rb +8 -0
  536. data/samples/gettimeofday.rb +18 -0
  537. data/samples/hello.rb +7 -0
  538. data/samples/inotify.rb +60 -0
  539. data/samples/pty.rb +76 -0
  540. data/samples/qsort.rb +21 -0
  541. data/samples/sample_helper.rb +6 -0
  542. metadata +677 -0
@@ -0,0 +1,43 @@
1
+ #!/bin/bash
2
+ set -x
3
+
4
+ if [[ $TRAVIS_OS_NAME != 'linux' ]]; then
5
+ brew update > brew-update.log 2>&1
6
+ # fix an issue with libtool on travis by reinstalling it
7
+ brew uninstall libtool;
8
+ brew install libtool dejagnu;
9
+ else
10
+ sudo apt-get clean # clear the cache
11
+ sudo apt-get update
12
+ case $HOST in
13
+ aarch64-linux-gnu | powerpc64le-unknown-linux-gnu | mips64el-linux-gnu | sparc64-linux-gnu)
14
+ ;;
15
+ alpha-linux-gnu | arm32v7-linux-gnu | m68k-linux-gnu | sh4-linux-gnu | s390x-linux-gnu )
16
+ sudo apt-get install qemu-user-static
17
+ ;;
18
+ hppa-linux-gnu )
19
+ sudo apt-get install -y qemu-user-static g++-5-hppa-linux-gnu
20
+ ;;
21
+ i386-pc-linux-gnu)
22
+ sudo apt-get install gcc-multilib g++-multilib;
23
+ ;;
24
+ moxie-elf)
25
+ echo 'deb https://repos.moxielogic.org:7114/MoxieLogic moxiedev main' | sudo tee -a /etc/apt/sources.list
26
+ sudo apt-get clean # clear the cache
27
+ sudo apt-get update ## -qq
28
+ sudo apt-get update
29
+ sudo apt-get install -y --allow-unauthenticated moxielogic-moxie-elf-gcc moxielogic-moxie-elf-gcc-c++ moxielogic-moxie-elf-gcc-libstdc++ moxielogic-moxie-elf-gdb-sim
30
+ ;;
31
+ i686-w64-mingw32)
32
+ sudo apt-get install gcc-mingw-w64-i686 binutils-mingw-w64-i686 wine;
33
+ ;;
34
+ esac
35
+ case $HOST in
36
+ arm32v7-linux-gnu | aarch64-linux-gnu | ppc64le-linux-gnu | s390x-linux-gnu)
37
+ # don't install host tools
38
+ ;;
39
+ *)
40
+ sudo apt-get install dejagnu texinfo sharutils
41
+ ;;
42
+ esac
43
+ fi
@@ -0,0 +1,60 @@
1
+ # Copyright (C) 2010 Free Software Foundation, Inc.
2
+ #
3
+ # This file is part of DejaGnu.
4
+ #
5
+ # DejaGnu is free software; you can redistribute it and/or modify it
6
+ # under the terms of the GNU General Public License as published by
7
+ # the Free Software Foundation; either version 2 of the License, or
8
+ # (at your option) any later version.
9
+ #
10
+ # DejaGnu is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with DejaGnu; if not, write to the Free Software Foundation,
17
+ # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
+
19
+ # This is a list of toolchains that are supported on this board.
20
+ set_board_info target_install {moxie-elf}
21
+
22
+ # Load the generic configuration for this board. This will define a basic set
23
+ # of routines needed by the tool to communicate with the board.
24
+ load_generic_config "sim"
25
+
26
+ # basic-sim.exp is a basic description for the standard Cygnus simulator.
27
+ load_base_board_description "basic-sim"
28
+
29
+ # "moxie" is the name of the sim subdir in devo/sim.
30
+ setup_sim moxie
31
+
32
+ # No multilib options needed by default.
33
+ process_multilib_options ""
34
+
35
+ # We only support newlib on this target. We assume that all multilib
36
+ # options have been specified before we get here.
37
+
38
+ set_board_info compiler "[find_gcc]"
39
+ set_board_info cflags "[libgloss_include_flags] [newlib_include_flags]"
40
+ set_board_info ldflags "[libgloss_link_flags] [newlib_link_flags]"
41
+ # No linker script needed.
42
+ set_board_info ldscript "-Tsim.ld"
43
+
44
+ # Configuration settings for testsuites
45
+ set_board_info noargs 1
46
+ set_board_info gdb,nosignals 1
47
+ set_board_info gdb,noresults 1
48
+ set_board_info gdb,cannot_call_functions 1
49
+ set_board_info gdb,skip_float_tests 1
50
+ set_board_info gdb,can_reverse 1
51
+ set_board_info gdb,use_precord 1
52
+
53
+ # More time is needed
54
+ set_board_info gcc,timeout 800
55
+ set_board_info gdb,timeout 60
56
+
57
+ # Used by a few gcc.c-torture testcases to delimit how large the stack can
58
+ # be.
59
+ set_board_info gcc,stack_size 5000
60
+
@@ -0,0 +1,18 @@
1
+ # Copyright (C) 2008, 2010, 2018 Anthony Green
2
+
3
+ # Make sure we look in the right place for the board description files.
4
+ if ![info exists boards_dir] {
5
+ set boards_dir {}
6
+ }
7
+
8
+ lappend boards_dir $::env(TRAVIS_BUILD_DIR)/.travis
9
+
10
+ verbose "Global Config File: target_triplet is $target_triplet" 2
11
+ global target_list
12
+
13
+ case "$target_triplet" in {
14
+ { "moxie-elf" } {
15
+ set target_list "moxie-sim"
16
+ }
17
+ }
18
+
@@ -0,0 +1,584 @@
1
+ 2011-02-08 Andreas Tobler <andreast@fgznet.ch>
2
+
3
+ * testsuite/lib/libffi.exp: Tweak for stand-alone mode.
4
+
5
+ 2009-12-25 Samuli Suominen <ssuominen@gentoo.org>
6
+
7
+ * configure.ac: Undefine _AC_ARG_VAR_PRECIOUS for autoconf 2.64.
8
+ * configure: Rebuilt.
9
+ * fficonfig.h.in: Rebuilt.
10
+
11
+ 2009-06-16 Andrew Haley <aph@redhat.com>
12
+
13
+ * testsuite/libffi.call/cls_align_sint64.c,
14
+ testsuite/libffi.call/cls_align_uint64.c,
15
+ testsuite/libffi.call/cls_longdouble_va.c,
16
+ testsuite/libffi.call/cls_ulonglong.c,
17
+ testsuite/libffi.call/return_ll1.c,
18
+ testsuite/libffi.call/stret_medium2.c: Fix printf format
19
+ specifiers.
20
+ * testsuite/libffi.call/huge_struct.c: Ad x86 XFAILs.
21
+ * testsuite/libffi.call/float2.c: Fix dg-excess-errors.
22
+ * testsuite/libffi.call/ffitest.h,
23
+ testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
24
+
25
+ 2009-06-12 Andrew Haley <aph@redhat.com>
26
+
27
+ * testsuite/libffi.call/cls_align_sint64.c,
28
+ testsuite/libffi.call/cls_align_uint64.c,
29
+ testsuite/libffi.call/cls_ulonglong.c,
30
+ testsuite/libffi.call/return_ll1.c,
31
+ testsuite/libffi.call/stret_medium2.c: Fix printf format
32
+ specifiers.
33
+ testsuite/libffi.special/unwindtest.cc: include stdint.h.
34
+
35
+ 2009-06-11 Timothy Wall <twall@users.sf.net>
36
+
37
+ * Makefile.am,
38
+ configure.ac,
39
+ include/ffi.h.in,
40
+ include/ffi_common.h,
41
+ src/closures.c,
42
+ src/dlmalloc.c,
43
+ src/x86/ffi.c,
44
+ src/x86/ffitarget.h,
45
+ src/x86/win64.S (new),
46
+ README: Added win64 support (mingw or MSVC)
47
+ * Makefile.in,
48
+ include/Makefile.in,
49
+ man/Makefile.in,
50
+ testsuite/Makefile.in,
51
+ configure,
52
+ aclocal.m4: Regenerated
53
+ * ltcf-c.sh: properly escape cygwin/w32 path
54
+ * man/ffi_call.3: Clarify size requirements for return value.
55
+ * src/x86/ffi64.c: Fix filename in comment.
56
+ * src/x86/win32.S: Remove unused extern.
57
+
58
+ * testsuite/libffi.call/closure_fn0.c,
59
+ testsuite/libffi.call/closure_fn1.c,
60
+ testsuite/libffi.call/closure_fn2.c,
61
+ testsuite/libffi.call/closure_fn3.c,
62
+ testsuite/libffi.call/closure_fn4.c,
63
+ testsuite/libffi.call/closure_fn5.c,
64
+ testsuite/libffi.call/closure_fn6.c,
65
+ testsuite/libffi.call/closure_stdcall.c,
66
+ testsuite/libffi.call/cls_12byte.c,
67
+ testsuite/libffi.call/cls_16byte.c,
68
+ testsuite/libffi.call/cls_18byte.c,
69
+ testsuite/libffi.call/cls_19byte.c,
70
+ testsuite/libffi.call/cls_1_1byte.c,
71
+ testsuite/libffi.call/cls_20byte.c,
72
+ testsuite/libffi.call/cls_20byte1.c,
73
+ testsuite/libffi.call/cls_24byte.c,
74
+ testsuite/libffi.call/cls_2byte.c,
75
+ testsuite/libffi.call/cls_3_1byte.c,
76
+ testsuite/libffi.call/cls_3byte1.c,
77
+ testsuite/libffi.call/cls_3byte2.c,
78
+ testsuite/libffi.call/cls_4_1byte.c,
79
+ testsuite/libffi.call/cls_4byte.c,
80
+ testsuite/libffi.call/cls_5_1_byte.c,
81
+ testsuite/libffi.call/cls_5byte.c,
82
+ testsuite/libffi.call/cls_64byte.c,
83
+ testsuite/libffi.call/cls_6_1_byte.c,
84
+ testsuite/libffi.call/cls_6byte.c,
85
+ testsuite/libffi.call/cls_7_1_byte.c,
86
+ testsuite/libffi.call/cls_7byte.c,
87
+ testsuite/libffi.call/cls_8byte.c,
88
+ testsuite/libffi.call/cls_9byte1.c,
89
+ testsuite/libffi.call/cls_9byte2.c,
90
+ testsuite/libffi.call/cls_align_double.c,
91
+ testsuite/libffi.call/cls_align_float.c,
92
+ testsuite/libffi.call/cls_align_longdouble.c,
93
+ testsuite/libffi.call/cls_align_longdouble_split.c,
94
+ testsuite/libffi.call/cls_align_longdouble_split2.c,
95
+ testsuite/libffi.call/cls_align_pointer.c,
96
+ testsuite/libffi.call/cls_align_sint16.c,
97
+ testsuite/libffi.call/cls_align_sint32.c,
98
+ testsuite/libffi.call/cls_align_sint64.c,
99
+ testsuite/libffi.call/cls_align_uint16.c,
100
+ testsuite/libffi.call/cls_align_uint32.c,
101
+ testsuite/libffi.call/cls_align_uint64.c,
102
+ testsuite/libffi.call/cls_dbls_struct.c,
103
+ testsuite/libffi.call/cls_double.c,
104
+ testsuite/libffi.call/cls_double_va.c,
105
+ testsuite/libffi.call/cls_float.c,
106
+ testsuite/libffi.call/cls_longdouble.c,
107
+ testsuite/libffi.call/cls_longdouble_va.c,
108
+ testsuite/libffi.call/cls_multi_schar.c,
109
+ testsuite/libffi.call/cls_multi_sshort.c,
110
+ testsuite/libffi.call/cls_multi_sshortchar.c,
111
+ testsuite/libffi.call/cls_multi_uchar.c,
112
+ testsuite/libffi.call/cls_multi_ushort.c,
113
+ testsuite/libffi.call/cls_multi_ushortchar.c,
114
+ testsuite/libffi.call/cls_pointer.c,
115
+ testsuite/libffi.call/cls_pointer_stack.c,
116
+ testsuite/libffi.call/cls_schar.c,
117
+ testsuite/libffi.call/cls_sint.c,
118
+ testsuite/libffi.call/cls_sshort.c,
119
+ testsuite/libffi.call/cls_uchar.c,
120
+ testsuite/libffi.call/cls_uint.c,
121
+ testsuite/libffi.call/cls_ulonglong.c,
122
+ testsuite/libffi.call/cls_ushort.c,
123
+ testsuite/libffi.call/err_bad_abi.c,
124
+ testsuite/libffi.call/err_bad_typedef.c,
125
+ testsuite/libffi.call/float2.c,
126
+ testsuite/libffi.call/huge_struct.c,
127
+ testsuite/libffi.call/nested_struct.c,
128
+ testsuite/libffi.call/nested_struct1.c,
129
+ testsuite/libffi.call/nested_struct10.c,
130
+ testsuite/libffi.call/nested_struct2.c,
131
+ testsuite/libffi.call/nested_struct3.c,
132
+ testsuite/libffi.call/nested_struct4.c,
133
+ testsuite/libffi.call/nested_struct5.c,
134
+ testsuite/libffi.call/nested_struct6.c,
135
+ testsuite/libffi.call/nested_struct7.c,
136
+ testsuite/libffi.call/nested_struct8.c,
137
+ testsuite/libffi.call/nested_struct9.c,
138
+ testsuite/libffi.call/problem1.c,
139
+ testsuite/libffi.call/return_ldl.c,
140
+ testsuite/libffi.call/return_ll1.c,
141
+ testsuite/libffi.call/stret_large.c,
142
+ testsuite/libffi.call/stret_large2.c,
143
+ testsuite/libffi.call/stret_medium.c,
144
+ testsuite/libffi.call/stret_medium2.c,
145
+ testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
146
+ of checking for MMAP. Use intptr_t instead of long casts.
147
+
148
+ 2009-06-04 Andrew Haley <aph@redhat.com>
149
+
150
+ * src/powerpc/ffitarget.h: Fix misapplied merge from gcc.
151
+
152
+ 2009-06-04 Andrew Haley <aph@redhat.com>
153
+
154
+ * src/mips/o32.S,
155
+ src/mips/n32.S: Fix licence formatting.
156
+
157
+ 2009-06-04 Andrew Haley <aph@redhat.com>
158
+
159
+ * src/x86/darwin.S: Fix licence formatting.
160
+ src/x86/win32.S: Likewise.
161
+ src/sh64/sysv.S: Likewise.
162
+ src/sh/sysv.S: Likewise.
163
+
164
+ 2009-06-04 Andrew Haley <aph@redhat.com>
165
+
166
+ * src/sh64/ffi.c: Remove lint directives. Was missing from merge
167
+ of Andreas Tobler's patch from 2006-04-22.
168
+
169
+ 2009-06-04 Andrew Haley <aph@redhat.com>
170
+
171
+ * src/sh/ffi.c: Apply missing hunk from Alexandre Oliva's patch of
172
+ 2007-03-07.
173
+
174
+ 2008-12-26 Timothy Wall <twall@users.sf.net>
175
+
176
+ * testsuite/libffi.call/cls_longdouble.c,
177
+ testsuite/libffi.call/cls_longdouble_va.c,
178
+ testsuite/libffi.call/cls_align_longdouble.c,
179
+ testsuite/libffi.call/cls_align_longdouble_split.c,
180
+ testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
181
+ failures on x86_64 cygwin/mingw.
182
+
183
+ 2008-12-22 Timothy Wall <twall@users.sf.net>
184
+
185
+ * testsuite/libffi.call/closure_fn0.c,
186
+ testsuite/libffi.call/closure_fn1.c,
187
+ testsuite/libffi.call/closure_fn2.c,
188
+ testsuite/libffi.call/closure_fn3.c,
189
+ testsuite/libffi.call/closure_fn4.c,
190
+ testsuite/libffi.call/closure_fn5.c,
191
+ testsuite/libffi.call/closure_fn6.c,
192
+ testsuite/libffi.call/closure_loc_fn0.c,
193
+ testsuite/libffi.call/closure_stdcall.c,
194
+ testsuite/libffi.call/cls_align_pointer.c,
195
+ testsuite/libffi.call/cls_pointer.c,
196
+ testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
197
+ pointer to integer (intptr_t).
198
+ * testsuite/libffi.call/cls_longdouble.c: disable for win64.
199
+
200
+ 2008-12-19 Anthony Green <green@redhat.com>
201
+
202
+ * configure.ac: Bump version to 3.0.8.
203
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
204
+ * libtool-version: Increment revision.
205
+ * README: Update for new release.
206
+
207
+ 2008-11-11 Anthony Green <green@redhat.com>
208
+
209
+ * configure.ac: Bump version to 3.0.7.
210
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
211
+ * libtool-version: Increment revision.
212
+ * README: Update for new release.
213
+
214
+ 2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
215
+
216
+ * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
217
+ FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
218
+ Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
219
+ Adjust copyright notice.
220
+ * src/powerpc/ffi.c: Add two new flags to indicate if we have one
221
+ register or two register to use for FFI_SYSV structs.
222
+ (ffi_prep_cif_machdep): Pass the right register flag introduced above.
223
+ (ffi_closure_helper_SYSV): Fix the return type for
224
+ FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
225
+ Adjust copyright notice.
226
+
227
+ 2008-07-24 Anthony Green <green@redhat.com>
228
+
229
+ * testsuite/libffi.call/cls_dbls_struct.c,
230
+ testsuite/libffi.call/cls_double_va.c,
231
+ testsuite/libffi.call/cls_longdouble.c,
232
+ testsuite/libffi.call/cls_longdouble_va.c,
233
+ testsuite/libffi.call/cls_pointer.c,
234
+ testsuite/libffi.call/cls_pointer_stack.c,
235
+ testsuite/libffi.call/err_bad_abi.c: Clean up failures from
236
+ compiler warnings.
237
+
238
+ 2008-07-17 Anthony Green <green@redhat.com>
239
+
240
+ * configure.ac: Bump version to 3.0.6.
241
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
242
+ * libtool-version: Increment revision. Add documentation.
243
+ * README: Update for new release.
244
+
245
+ 2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
246
+
247
+ * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
248
+ int.
249
+
250
+ 2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
251
+
252
+ * src/sh/sysv.S: Add .note.GNU-stack on Linux.
253
+ * src/sh64/sysv.S: Likewise.
254
+
255
+ 2008-04-03 Anthony Green <green@redhat.com>
256
+
257
+ * libffi.pc.in (Libs): Add -L${libdir}.
258
+ * configure.ac: Bump version to 3.0.5.
259
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
260
+ * libtool-version: Increment revision.
261
+ * README: Update for new release.
262
+
263
+ 2008-04-03 Anthony Green <green@redhat.com>
264
+ Xerces Ranby <xerxes@zafena.se>
265
+
266
+ * include/ffi.h.in: Wrap definition of target architecture to
267
+ protect from double definitions.
268
+
269
+ 2008-03-22 Moriyoshi Koizumi <moriyoshi@gmail.com>
270
+
271
+ * src/x86/ffi.c (ffi_prep_closure_loc): Fix for bug revealed in
272
+ closure_loc_fn0.c.
273
+ * testsuite/libffi.call/closure_loc_fn0.c (closure_loc_test_fn0):
274
+ New test.
275
+
276
+ 2008-03-04 Anthony Green <green@redhat.com>
277
+ Blake Chaffin
278
+ hos@tamanegi.org
279
+
280
+ * testsuite/libffi.call/cls_align_longdouble_split2.c
281
+ testsuite/libffi.call/cls_align_longdouble_split.c
282
+ testsuite/libffi.call/cls_dbls_struct.c
283
+ testsuite/libffi.call/cls_double_va.c
284
+ testsuite/libffi.call/cls_longdouble.c
285
+ testsuite/libffi.call/cls_longdouble_va.c
286
+ testsuite/libffi.call/cls_pointer.c
287
+ testsuite/libffi.call/cls_pointer_stack.c
288
+ testsuite/libffi.call/err_bad_abi.c
289
+ testsuite/libffi.call/err_bad_typedef.c
290
+ testsuite/libffi.call/huge_struct.c
291
+ testsuite/libffi.call/stret_large2.c
292
+ testsuite/libffi.call/stret_large.c
293
+ testsuite/libffi.call/stret_medium2.c
294
+ testsuite/libffi.call/stret_medium.c: New tests from Apple.
295
+
296
+ 2008-02-26 Jakub Jelinek <jakub@redhat.com>
297
+ Anthony Green <green@redhat.com>
298
+
299
+ * src/alpha/osf.S: Add .note.GNU-stack on Linux.
300
+ * src/s390/sysv.S: Likewise.
301
+ * src/powerpc/linux64.S: Likewise.
302
+ * src/powerpc/linux64_closure.S: Likewise.
303
+ * src/powerpc/ppc_closure.S: Likewise.
304
+ * src/powerpc/sysv.S: Likewise.
305
+ * src/x86/unix64.S: Likewise.
306
+ * src/x86/sysv.S: Likewise.
307
+ * src/sparc/v8.S: Likewise.
308
+ * src/sparc/v9.S: Likewise.
309
+ * src/m68k/sysv.S: Likewise.
310
+ * src/ia64/unix.S: Likewise.
311
+ * src/arm/sysv.S: Likewise.
312
+
313
+ 2008-02-26 Anthony Green <green@redhat.com>
314
+ Thomas Heller <theller@ctypes.org>
315
+
316
+ * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
317
+ comment.
318
+
319
+ 2008-02-26 Anthony Green <green@redhat.org>
320
+ Thomas Heller <theller@ctypes.org>
321
+
322
+ * include/ffi.h.in: Change void (*)() to void (*)(void).
323
+
324
+ 2008-02-26 Anthony Green <green@redhat.org>
325
+ Thomas Heller <theller@ctypes.org>
326
+
327
+ * src/alpha/ffi.c: Change void (*)() to void (*)(void).
328
+ src/alpha/osf.S, src/arm/ffi.c, src/frv/ffi.c, src/ia64/ffi.c,
329
+ src/ia64/unix.S, src/java_raw_api.c, src/m32r/ffi.c,
330
+ src/mips/ffi.c, src/pa/ffi.c, src/pa/hpux32.S, src/pa/linux.S,
331
+ src/powerpc/ffi.c, src/powerpc/ffi_darwin.c, src/raw_api.c,
332
+ src/s390/ffi.c, src/sh/ffi.c, src/sh64/ffi.c, src/sparc/ffi.c,
333
+ src/x86/ffi.c, src/x86/unix64.S, src/x86/darwin64.S,
334
+ src/x86/ffi64.c: Ditto.
335
+
336
+ 2008-02-24 Anthony Green <green@redhat.org>
337
+
338
+ * configure.ac: Accept openbsd*, not just openbsd.
339
+ Bump version to 3.0.4.
340
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
341
+ * libtool-version: Increment revision.
342
+ * README: Update for new release.
343
+
344
+ 2008-02-22 Anthony Green <green@redhat.com>
345
+
346
+ * README: Clean up list of tested platforms.
347
+
348
+ 2008-02-22 Anthony Green <green@redhat.com>
349
+
350
+ * configure.ac: Bump version to 3.0.3.
351
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
352
+ * libtool-version: Increment revision.
353
+ * README: Update for new release. Clean up test docs.
354
+
355
+ 2008-02-22 Bjoern Koenig <bkoenig@alpha-tierchen.de>
356
+ Andreas Tobler <a.tobler@schweiz.org>
357
+
358
+ * configure.ac: Add amd64-*-freebsd* target.
359
+ * configure: Regenerate.
360
+
361
+ 2008-02-22 Thomas Heller <theller@ctypes.org>
362
+
363
+ * configure.ac: Add x86 OpenBSD support.
364
+ * configure: Rebuilt.
365
+
366
+ 2008-02-21 Thomas Heller <theller@ctypes.org>
367
+
368
+ * README: Change "make test" to "make check".
369
+
370
+ 2008-02-21 Anthony Green <green@redhat.com>
371
+
372
+ * configure.ac: Bump version to 3.0.2.
373
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
374
+ * libtool-version: Increment revision.
375
+ * README: Update for new release.
376
+
377
+ 2008-02-21 Björn König <bkoenig@alpha-tierchen.de>
378
+
379
+ * src/x86/freebsd.S: New file.
380
+ * configure.ac: Add x86 FreeBSD support.
381
+ * Makefile.am: Ditto.
382
+
383
+ 2008-02-15 Anthony Green <green@redhat.com>
384
+
385
+ * configure.ac: Bump version to 3.0.1.
386
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
387
+ * libtool-version: Increment revision.
388
+ * README: Update for new release.
389
+
390
+ 2008-02-15 David Daney <ddaney@avtrex.com>
391
+
392
+ * src/mips/ffi.c: Remove extra '>' from include directive.
393
+ (ffi_prep_closure_loc): Use clear_location instead of tramp.
394
+
395
+ 2008-02-15 Anthony Green <green@redhat.com>
396
+
397
+ * configure.ac: Bump version to 3.0.0.
398
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
399
+
400
+ 2008-02-15 David Daney <ddaney@avtrex.com>
401
+
402
+ * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
403
+ Define (conditionally), and use it to include cachectl.h.
404
+ (ffi_prep_closure_loc): Fix cache flushing.
405
+ * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
406
+
407
+ 2008-02-15 Anthony Green <green@redhat.com>
408
+
409
+ * man/ffi_call.3, man/ffi_prep_cif.3, man/ffi.3:
410
+ Update dates and remove all references to ffi_prep_closure.
411
+ * configure.ac: Bump version to 2.99.9.
412
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
413
+
414
+ 2008-02-15 Anthony Green <green@redhat.com>
415
+
416
+ * man/ffi_prep_closure.3: Delete.
417
+ * man/Makefile.am (EXTRA_DIST): Remove ffi_prep_closure.3.
418
+ (man_MANS): Ditto.
419
+ * man/Makefile.in: Rebuilt.
420
+ * configure.ac: Bump version to 2.99.8.
421
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
422
+
423
+ 2008-02-14 Anthony Green <green@redhat.com>
424
+
425
+ * configure.ac: Bump version to 2.99.7.
426
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
427
+ * include/ffi.h.in LICENSE src/debug.c src/closures.c
428
+ src/ffitest.c src/s390/sysv.S src/s390/ffitarget.h
429
+ src/types.c src/m68k/ffitarget.h src/raw_api.c src/frv/ffi.c
430
+ src/frv/ffitarget.h src/sh/ffi.c src/sh/sysv.S
431
+ src/sh/ffitarget.h src/powerpc/ffitarget.h src/pa/ffi.c
432
+ src/pa/ffitarget.h src/pa/linux.S src/java_raw_api.c
433
+ src/cris/ffitarget.h src/x86/ffi.c src/x86/sysv.S
434
+ src/x86/unix64.S src/x86/win32.S src/x86/ffitarget.h
435
+ src/x86/ffi64.c src/x86/darwin.S src/ia64/ffi.c
436
+ src/ia64/ffitarget.h src/ia64/ia64_flags.h src/ia64/unix.S
437
+ src/sparc/ffi.c src/sparc/v9.S src/sparc/ffitarget.h
438
+ src/sparc/v8.S src/alpha/ffi.c src/alpha/ffitarget.h
439
+ src/alpha/osf.S src/sh64/ffi.c src/sh64/sysv.S
440
+ src/sh64/ffitarget.h src/mips/ffi.c src/mips/ffitarget.h
441
+ src/mips/n32.S src/mips/o32.S src/arm/ffi.c src/arm/sysv.S
442
+ src/arm/ffitarget.h src/prep_cif.c: Update license text.
443
+
444
+ 2008-02-14 Anthony Green <green@redhat.com>
445
+
446
+ * README: Update tested platforms.
447
+ * configure.ac: Bump version to 2.99.6.
448
+ * configure: Rebuilt.
449
+
450
+ 2008-02-14 Anthony Green <green@redhat.com>
451
+
452
+ * configure.ac: Bump version to 2.99.5.
453
+ * configure: Rebuilt.
454
+ * Makefile.am (EXTRA_DIST): Add darwin64.S
455
+ * Makefile.in: Rebuilt.
456
+ * testsuite/lib/libffi-dg.exp: Remove libstdc++ bits from GCC tree.
457
+ * LICENSE: Update WARRANTY.
458
+
459
+ 2008-02-14 Anthony Green <green@redhat.com>
460
+
461
+ * libffi.pc.in (libdir): Fix libdir definition.
462
+ * configure.ac: Bump version to 2.99.4.
463
+ * configure: Rebuilt.
464
+
465
+ 2008-02-14 Anthony Green <green@redhat.com>
466
+
467
+ * README: Update.
468
+ * libffi.info: New file.
469
+ * doc/stamp-vti: New file.
470
+ * configure.ac: Bump version to 2.99.3.
471
+ * configure: Rebuilt.
472
+
473
+ 2008-02-14 Anthony Green <green@redhat.com>
474
+
475
+ * Makefile.am (SUBDIRS): Add man dir.
476
+ * Makefile.in: Rebuilt.
477
+ * configure.ac: Create Makefile.
478
+ * configure: Rebuilt.
479
+ * man/ffi_call.3 man/ffi_prep_cif.3 man/ffi_prep_closure.3
480
+ man/Makefile.am man/Makefile.in: New files.
481
+
482
+ 2008-02-14 Tom Tromey <tromey@redhat.com>
483
+
484
+ * aclocal.m4, Makefile.in, configure, fficonfig.h.in: Rebuilt.
485
+ * mdate-sh, texinfo.tex: New files.
486
+ * Makefile.am (info_TEXINFOS): New variable.
487
+ * doc/libffi.texi: New file.
488
+ * doc/version.texi: Likewise.
489
+
490
+ 2008-02-14 Anthony Green <green@redhat.com>
491
+
492
+ * Makefile.am (AM_CFLAGS): Don't compile with -D$(TARGET).
493
+ (lib_LTLIBRARIES): Define.
494
+ (toolexeclib_LIBRARIES): Undefine.
495
+ * Makefile.in: Rebuilt.
496
+ * configure.ac: Reset version to 2.99.1.
497
+ * configure.in: Rebuilt.
498
+
499
+ 2008-02-14 Anthony Green <green@redhat.com>
500
+
501
+ * libffi.pc.in: Use @PACKAGE_NAME@ and @PACKAGE_VERSION@.
502
+ * configure.ac: Reset version to 2.99.1.
503
+ * configure.in: Rebuilt.
504
+ * Makefile.am (EXTRA_DIST): Add ChangeLog.libffi.
505
+ * Makefile.in: Rebuilt.
506
+ * LICENSE: Update copyright notice.
507
+
508
+ 2008-02-14 Anthony Green <green@redhat.com>
509
+
510
+ * include/Makefile.am (nodist_includes_HEADERS): Define. Don't
511
+ distribute ffitarget.h or ffi.h from the build include dir.
512
+ * Makefile.in: Rebuilt.
513
+
514
+ 2008-02-14 Anthony Green <green@redhat.com>
515
+
516
+ * include/Makefile.am (includesdir): Install headers under libdir.
517
+ (pkgconfigdir): Define. Install libffi.pc.
518
+ * include/Makefile.in: Rebuilt.
519
+ * libffi.pc.in: Create.
520
+ * libtool-version: Increment CURRENT
521
+ * configure.ac: Add libffi.pc.in
522
+ * configure: Rebuilt.
523
+
524
+ 2008-02-03 Anthony Green <green@redhat.com>
525
+
526
+ * include/Makefile.am (includesdir): Fix header install with
527
+ DESTDIR.
528
+ * include/Makefile.in: Rebuilt.
529
+
530
+ 2008-02-03 Timothy Wall <twall@users.sf.net>
531
+
532
+ * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
533
+ offset based on code pointer, not data pointer.
534
+
535
+ 2008-02-01 Anthony Green <green@redhat.com>
536
+
537
+ * include/Makefile.am: Fix header installs.
538
+ * Makefile.am: Ditto.
539
+ * include/Makefile.in: Rebuilt.
540
+ * Makefile.in: Ditto.
541
+
542
+ 2008-02-01 Anthony Green <green@redhat.com>
543
+
544
+ * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL,
545
+ FFI_INIT_TRAMPOLINE): Revert my broken changes to twall's last
546
+ patch.
547
+
548
+ 2008-01-31 Anthony Green <green@redhat.com>
549
+
550
+ * Makefile.am (EXTRA_DIST): Add missing files.
551
+ * testsuite/Makefile.am: Ditto.
552
+ * Makefile.in, testsuite/Makefile.in: Rebuilt.
553
+
554
+ 2008-01-31 Timothy Wall <twall@users.sf.net>
555
+
556
+ * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
557
+ closures.
558
+ * src/x86/ffitarget.h: Increase size of trampoline for stdcall
559
+ closures.
560
+ * src/x86/win32.S: Add assembly for stdcall closure.
561
+ * src/x86/ffi.c: Initialize stdcall closure trampoline.
562
+
563
+ 2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
564
+
565
+ PR libffi/34612
566
+ * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
567
+ returning struct.
568
+
569
+ * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
570
+ tests.
571
+
572
+ 2008-01-30 Anthony Green <green@redhat.com>
573
+
574
+ * Makefile.am, include/Makefile.am: Move headers to
575
+ libffi_la_SOURCES for new automake.
576
+ * Makefile.in, include/Makefile.in: Rebuilt.
577
+
578
+ * testsuite/lib/wrapper.exp: Copied from gcc tree to allow for
579
+ execution outside of gcc tree.
580
+ * testsuite/lib/target-libpath.exp: Ditto.
581
+
582
+ * testsuite/lib/libffi-dg.exp: Many changes to allow for execution
583
+ outside of gcc tree.
584
+