ffi 0.5.0 → 0.6.0

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 (212) hide show
  1. data/LICENSE +1 -27
  2. data/Rakefile +9 -12
  3. data/ext/ffi_c/AbstractMemory.c +11 -8
  4. data/ext/ffi_c/AbstractMemory.h +23 -21
  5. data/ext/ffi_c/AutoPointer.c +0 -1
  6. data/ext/ffi_c/Buffer.c +24 -8
  7. data/ext/ffi_c/Call.c +28 -0
  8. data/ext/ffi_c/Call.h +8 -4
  9. data/ext/ffi_c/ClosurePool.c +7 -5
  10. data/ext/ffi_c/DynamicLibrary.c +0 -1
  11. data/ext/ffi_c/Function.c +19 -2
  12. data/ext/ffi_c/MemoryPointer.c +3 -3
  13. data/ext/ffi_c/MethodHandle.c +1 -1
  14. data/ext/ffi_c/Pointer.c +23 -9
  15. data/ext/ffi_c/Struct.c +142 -69
  16. data/ext/ffi_c/Struct.h +16 -7
  17. data/ext/ffi_c/StructLayout.c +92 -55
  18. data/ext/ffi_c/Type.c +5 -22
  19. data/ext/ffi_c/Type.h +1 -1
  20. data/ext/ffi_c/Types.c +8 -2
  21. data/ext/ffi_c/Types.h +2 -0
  22. data/ext/ffi_c/Variadic.c +7 -19
  23. data/ext/ffi_c/endian.h +1 -1
  24. data/ext/ffi_c/extconf.rb +20 -11
  25. data/ext/ffi_c/libffi/ChangeLog +900 -84
  26. data/ext/ffi_c/libffi/ChangeLog.libffi +311 -0
  27. data/ext/ffi_c/libffi/LICENSE +1 -1
  28. data/ext/ffi_c/libffi/Makefile.am +14 -4
  29. data/ext/ffi_c/libffi/Makefile.in +362 -211
  30. data/ext/ffi_c/libffi/README +70 -92
  31. data/ext/ffi_c/libffi/aclocal.m4 +6068 -4586
  32. data/ext/ffi_c/libffi/config.guess +125 -143
  33. data/ext/ffi_c/libffi/config.sub +103 -27
  34. data/ext/ffi_c/libffi/configure +11364 -18497
  35. data/ext/ffi_c/libffi/configure.ac +43 -4
  36. data/ext/ffi_c/libffi/doc/libffi.info +15 -15
  37. data/ext/ffi_c/libffi/doc/libffi.texi +1 -1
  38. data/ext/ffi_c/libffi/doc/stamp-vti +4 -4
  39. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  40. data/ext/ffi_c/libffi/fficonfig.h.in +24 -3
  41. data/ext/ffi_c/libffi/include/Makefile.am +1 -1
  42. data/ext/ffi_c/libffi/include/Makefile.in +97 -50
  43. data/ext/ffi_c/libffi/include/ffi.h.in +8 -2
  44. data/ext/ffi_c/libffi/include/ffi_common.h +24 -0
  45. data/ext/ffi_c/libffi/libtool-version +1 -1
  46. data/ext/ffi_c/libffi/ltmain.sh +7346 -5870
  47. data/ext/ffi_c/libffi/m4/libtool.m4 +7360 -0
  48. data/ext/ffi_c/libffi/m4/ltoptions.m4 +368 -0
  49. data/ext/ffi_c/libffi/m4/ltsugar.m4 +123 -0
  50. data/ext/ffi_c/libffi/m4/ltversion.m4 +23 -0
  51. data/ext/ffi_c/libffi/m4/lt~obsolete.m4 +92 -0
  52. data/ext/ffi_c/libffi/man/Makefile.in +115 -62
  53. data/ext/ffi_c/libffi/man/ffi_call.3 +3 -3
  54. data/ext/ffi_c/libffi/missing +15 -8
  55. data/ext/ffi_c/libffi/src/arm/sysv.S +15 -8
  56. data/ext/ffi_c/libffi/src/avr32/ffi.c +421 -0
  57. data/ext/ffi_c/libffi/src/avr32/ffitarget.h +50 -0
  58. data/ext/ffi_c/libffi/src/avr32/sysv.S +208 -0
  59. data/ext/ffi_c/libffi/src/closures.c +47 -10
  60. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  61. data/ext/ffi_c/libffi/src/java_raw_api.c +0 -3
  62. data/ext/ffi_c/libffi/src/mips/ffi.c +135 -32
  63. data/ext/ffi_c/libffi/src/mips/ffitarget.h +37 -4
  64. data/ext/ffi_c/libffi/src/mips/n32.S +67 -10
  65. data/ext/ffi_c/libffi/src/mips/o32.S +8 -8
  66. data/ext/ffi_c/libffi/src/pa/ffi.c +7 -0
  67. data/ext/ffi_c/libffi/src/powerpc/aix.S +163 -64
  68. data/ext/ffi_c/libffi/src/powerpc/aix_closure.S +308 -112
  69. data/ext/ffi_c/libffi/src/powerpc/ffi.c +20 -7
  70. data/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +208 -80
  71. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +11 -3
  72. data/ext/ffi_c/libffi/src/powerpc/sysv.S +12 -23
  73. data/ext/ffi_c/libffi/src/s390/sysv.S +1 -1
  74. data/ext/ffi_c/libffi/src/sh/sysv.S +9 -9
  75. data/ext/ffi_c/libffi/src/sh64/ffi.c +37 -22
  76. data/ext/ffi_c/libffi/src/sh64/sysv.S +23 -14
  77. data/ext/ffi_c/libffi/src/sparc/ffi.c +21 -6
  78. data/ext/ffi_c/libffi/src/sparc/v8.S +55 -14
  79. data/ext/ffi_c/libffi/src/x86/darwin.S +10 -9
  80. data/ext/ffi_c/libffi/src/x86/ffi.c +293 -86
  81. data/ext/ffi_c/libffi/src/x86/ffi64.c +73 -19
  82. data/ext/ffi_c/libffi/src/x86/ffitarget.h +30 -0
  83. data/ext/ffi_c/libffi/src/x86/sysv.S +21 -4
  84. data/ext/ffi_c/libffi/src/x86/unix64.S +8 -4
  85. data/ext/ffi_c/libffi/src/x86/win32.S +633 -147
  86. data/ext/ffi_c/libffi/src/x86/win64.S +460 -0
  87. data/ext/ffi_c/libffi/testsuite/Makefile.am +63 -54
  88. data/ext/ffi_c/libffi/testsuite/Makefile.in +112 -77
  89. data/ext/ffi_c/libffi/testsuite/lib/libffi-dg.exp +12 -1
  90. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +4 -4
  91. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn0.c +7 -15
  92. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn1.c +7 -15
  93. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn2.c +7 -15
  94. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn3.c +7 -15
  95. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn4.c +7 -15
  96. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn5.c +7 -14
  97. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_fn6.c +7 -15
  98. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_loc_fn0.c +95 -0
  99. data/ext/ffi_c/libffi/testsuite/libffi.call/closure_stdcall.c +6 -14
  100. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_12byte.c +4 -12
  101. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_16byte.c +4 -12
  102. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_18byte.c +4 -12
  103. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_19byte.c +4 -12
  104. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_1_1byte.c +4 -12
  105. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte.c +4 -12
  106. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_20byte1.c +4 -12
  107. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_24byte.c +4 -12
  108. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_2byte.c +4 -12
  109. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3_1byte.c +4 -12
  110. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte1.c +4 -12
  111. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_3byte2.c +4 -12
  112. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4_1byte.c +4 -12
  113. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_4byte.c +4 -12
  114. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5_1_byte.c +4 -12
  115. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_5byte.c +4 -12
  116. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_64byte.c +4 -12
  117. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6_1_byte.c +4 -12
  118. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_6byte.c +4 -12
  119. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7_1_byte.c +4 -12
  120. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_7byte.c +4 -12
  121. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_8byte.c +4 -12
  122. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte1.c +4 -12
  123. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_9byte2.c +4 -12
  124. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_double.c +4 -12
  125. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_float.c +4 -12
  126. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble.c +4 -12
  127. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split.c +134 -0
  128. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_longdouble_split2.c +117 -0
  129. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_pointer.c +11 -17
  130. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint16.c +4 -12
  131. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint32.c +4 -12
  132. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_sint64.c +7 -15
  133. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint16.c +4 -12
  134. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint32.c +4 -12
  135. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_align_uint64.c +7 -15
  136. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_dbls_struct.c +66 -0
  137. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double.c +4 -12
  138. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_double_va.c +57 -0
  139. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_float.c +4 -13
  140. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble.c +105 -0
  141. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_longdouble_va.c +57 -0
  142. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_schar.c +4 -12
  143. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshort.c +4 -12
  144. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_sshortchar.c +4 -12
  145. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_uchar.c +4 -12
  146. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushort.c +4 -12
  147. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_multi_ushortchar.c +4 -12
  148. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer.c +74 -0
  149. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_pointer_stack.c +140 -0
  150. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_schar.c +4 -12
  151. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sint.c +4 -12
  152. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_sshort.c +4 -12
  153. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uchar.c +4 -12
  154. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_uint.c +4 -12
  155. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ulonglong.c +8 -16
  156. data/ext/ffi_c/libffi/testsuite/libffi.call/cls_ushort.c +4 -12
  157. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_abi.c +37 -0
  158. data/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +25 -0
  159. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +31 -0
  160. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +2 -1
  161. data/ext/ffi_c/libffi/testsuite/libffi.call/huge_struct.c +342 -0
  162. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct.c +4 -12
  163. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct1.c +4 -12
  164. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct10.c +4 -12
  165. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct2.c +4 -12
  166. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct3.c +4 -12
  167. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct4.c +4 -12
  168. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct5.c +4 -12
  169. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct6.c +4 -12
  170. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct7.c +4 -12
  171. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct8.c +4 -12
  172. data/ext/ffi_c/libffi/testsuite/libffi.call/nested_struct9.c +4 -12
  173. data/ext/ffi_c/libffi/testsuite/libffi.call/problem1.c +4 -12
  174. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +1 -1
  175. data/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +1 -1
  176. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large.c +145 -0
  177. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_large2.c +148 -0
  178. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium.c +124 -0
  179. data/ext/ffi_c/libffi/testsuite/libffi.call/stret_medium2.c +124 -0
  180. data/ext/ffi_c/libffi/testsuite/libffi.call/testclosure.c +70 -0
  181. data/ext/ffi_c/libffi/testsuite/libffi.special/ffitestcxx.h +10 -0
  182. data/ext/ffi_c/libffi/testsuite/libffi.special/special.exp +4 -5
  183. data/ext/ffi_c/libffi/testsuite/libffi.special/unwindtest.cc +17 -16
  184. data/ext/ffi_c/libffi/texinfo.tex +155 -427
  185. data/ext/ffi_c/libffi.bsd.mk +1 -1
  186. data/lib/ffi/autopointer.rb +79 -20
  187. data/lib/ffi/buffer.rb +4 -0
  188. data/lib/ffi/callback.rb +4 -10
  189. data/lib/ffi/enum.rb +28 -0
  190. data/lib/ffi/ffi.rb +0 -1
  191. data/lib/ffi/io.rb +28 -0
  192. data/lib/ffi/library.rb +237 -182
  193. data/lib/ffi/memorypointer.rb +28 -62
  194. data/lib/ffi/platform.rb +27 -0
  195. data/lib/ffi/pointer.rb +28 -0
  196. data/lib/ffi/struct.rb +55 -1
  197. data/lib/ffi/types.rb +29 -0
  198. data/lib/ffi/variadic.rb +29 -0
  199. data/spec/ffi/library_spec.rb +31 -5
  200. data/spec/ffi/managed_struct_spec.rb +1 -1
  201. data/spec/ffi/pointer_spec.rb +1 -1
  202. data/spec/ffi/rbx/attach_function_spec.rb +2 -1
  203. data/spec/ffi/rbx/memory_pointer_spec.rb +2 -1
  204. data/spec/ffi/spec_helper.rb +5 -1
  205. data/spec/ffi/struct_spec.rb +77 -0
  206. metadata +28 -18
  207. data/ext/ffi_c/libffi/TODO +0 -1
  208. data/ext/ffi_c/libffi/ltcf-c.sh +0 -861
  209. data/ext/ffi_c/libffi/ltcf-cxx.sh +0 -1069
  210. data/ext/ffi_c/libffi/ltcf-gcj.sh +0 -700
  211. data/ext/ffi_c/libffi/ltconfig +0 -2862
  212. data/ext/ffi_c/libffi/mkinstalldirs +0 -158
@@ -1,3 +1,314 @@
1
+ 2009-12-27 Matthias Klose <doko@ubuntu.com>
2
+
3
+ * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
4
+ appropriate.
5
+ * configure: Rebuilt.
6
+
7
+ 2009-12-27 Anthony Green <green@redhat.com>
8
+
9
+ * testsuite/libffi.call/cls_longdouble.c: Don't xfail for ARM.
10
+
11
+ 2009-12-26 Anthony Green <green@redhat.com>
12
+
13
+ * testsuite/libffi.call/huge_struct.c: Don't xfail for avr32*-*-*.
14
+ * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
15
+ avr32*-*-*.
16
+ * testsuite/libffi.call/cls_double_va.c: Ditto.
17
+
18
+ 2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
19
+
20
+ * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
21
+ and inttypes.h.
22
+ * testsuite/libffi.special/unwindtest.cc: Ditto.
23
+ * testsuite/libffi.call/huge_struct.c: Don't include stdint.h
24
+ directly.
25
+
26
+ 2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
27
+
28
+ * configure.ac: Add amd64-*-openbsd*.
29
+ * configure: Rebuilt.
30
+ * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
31
+ openbsd programs with -lpthread.
32
+
33
+ 2009-12-26 Anthony Green <green@redhat.com>
34
+
35
+ * testsuite/libffi.call/cls_double_va.c,
36
+ testsuite/libffi.call/cls_longdouble.c,
37
+ testsuite/libffi.call/cls_longdouble_va.c,
38
+ testsuite/libffi.call/cls_pointer.c,
39
+ testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
40
+ mips*-*-* and arm*-*-*.
41
+ * testsuite/libffi.call/cls_align_longdouble_split.c,
42
+ testsuite/libffi.call/cls_align_longdouble_split2.c,
43
+ testsuite/libffi.call/stret_medium2.c,
44
+ testsuite/libffi.call/stret_medium.c,
45
+ testsuite/libffi.call/stret_large.c,
46
+ testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
47
+
48
+ 2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
49
+ Anthony Green <green@redhat.com>
50
+
51
+ * testsuite/libffi.call/huge_struct.c (test_large_fn): Replace
52
+ format code %p with %#lx because %p does not add a leading 0x on
53
+ Solaris. Also change relevant arguments to unsigned long.
54
+
55
+ 2009-12-25 Samuli Suominen <ssuominen@gentoo.org>
56
+
57
+ * configure.ac: Undefine _AC_ARG_VAR_PRECIOUS for autoconf 2.64.
58
+ * configure: Rebuilt.
59
+ * fficonfig.h.in: Rebuilt.
60
+
61
+ 2009-12-29 Kay Tietz <ktietz70@googlemail.com>
62
+
63
+ * testsuite/libffi.call/ffitest.h,
64
+ testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
65
+ definitions.
66
+
67
+ 2009-12-25 Carlo Bramini <carlo.bramix@libero.it>
68
+
69
+ * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
70
+ * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
71
+ * configure: Rebuilt.
72
+ * Makefile.in: Rebuilt.
73
+
74
+ 2009-12-24 Anthony Green <green@redhat.com>
75
+
76
+ * testsuite/libffi.call/huge_struct.c: Fix printf format, and
77
+ don't xfail x86 Linux.
78
+ * testsuite/libffi.call/huge_struct.c: Don't xfail mips.
79
+ * testsuite/libffi.call/cls_pointer.c: Ditto.
80
+ * testsuite/libffi.call/cls_pointer_stack.c: Ditto.
81
+ * testsuite/libffi.call/cls_longdouble_va.c: Ditto.
82
+ * testsuite/libffi.call/cls_longdouble.c: Ditto.
83
+ * testsuite/libffi.call/cls_double_va.c: Ditto.
84
+
85
+ 2009-06-16 Andrew Haley <aph@redhat.com>
86
+
87
+ * testsuite/libffi.call/cls_align_sint64.c,
88
+ testsuite/libffi.call/cls_align_uint64.c,
89
+ testsuite/libffi.call/cls_longdouble_va.c,
90
+ testsuite/libffi.call/cls_ulonglong.c,
91
+ testsuite/libffi.call/return_ll1.c,
92
+ testsuite/libffi.call/stret_medium2.c: Fix printf format
93
+ specifiers.
94
+ * testsuite/libffi.call/huge_struct.c: Ad x86 XFAILs.
95
+ * testsuite/libffi.call/float2.c: Fix dg-excess-errors.
96
+ * testsuite/libffi.call/ffitest.h,
97
+ testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
98
+
99
+ 2009-06-12 Andrew Haley <aph@redhat.com>
100
+
101
+ * testsuite/libffi.call/cls_align_sint64.c,
102
+ testsuite/libffi.call/cls_align_uint64.c,
103
+ testsuite/libffi.call/cls_ulonglong.c,
104
+ testsuite/libffi.call/return_ll1.c,
105
+ testsuite/libffi.call/stret_medium2.c: Fix printf format
106
+ specifiers.
107
+ testsuite/libffi.special/unwindtest.cc: include stdint.h.
108
+
109
+ 2009-06-11 Timothy Wall <twall@users.sf.net>
110
+
111
+ * Makefile.am,
112
+ configure.ac,
113
+ include/ffi.h.in,
114
+ include/ffi_common.h,
115
+ src/closures.c,
116
+ src/dlmalloc.c,
117
+ src/x86/ffi.c,
118
+ src/x86/ffitarget.h,
119
+ src/x86/win64.S (new),
120
+ README: Added win64 support (mingw or MSVC)
121
+ * Makefile.in,
122
+ include/Makefile.in,
123
+ man/Makefile.in,
124
+ testsuite/Makefile.in,
125
+ configure,
126
+ aclocal.m4: Regenerated
127
+ * ltcf-c.sh: properly escape cygwin/w32 path
128
+ * man/ffi_call.3: Clarify size requirements for return value.
129
+ * src/x86/ffi64.c: Fix filename in comment.
130
+ * src/x86/win32.S: Remove unused extern.
131
+
132
+ * testsuite/libffi.call/closure_fn0.c,
133
+ testsuite/libffi.call/closure_fn1.c,
134
+ testsuite/libffi.call/closure_fn2.c,
135
+ testsuite/libffi.call/closure_fn3.c,
136
+ testsuite/libffi.call/closure_fn4.c,
137
+ testsuite/libffi.call/closure_fn5.c,
138
+ testsuite/libffi.call/closure_fn6.c,
139
+ testsuite/libffi.call/closure_stdcall.c,
140
+ testsuite/libffi.call/cls_12byte.c,
141
+ testsuite/libffi.call/cls_16byte.c,
142
+ testsuite/libffi.call/cls_18byte.c,
143
+ testsuite/libffi.call/cls_19byte.c,
144
+ testsuite/libffi.call/cls_1_1byte.c,
145
+ testsuite/libffi.call/cls_20byte.c,
146
+ testsuite/libffi.call/cls_20byte1.c,
147
+ testsuite/libffi.call/cls_24byte.c,
148
+ testsuite/libffi.call/cls_2byte.c,
149
+ testsuite/libffi.call/cls_3_1byte.c,
150
+ testsuite/libffi.call/cls_3byte1.c,
151
+ testsuite/libffi.call/cls_3byte2.c,
152
+ testsuite/libffi.call/cls_4_1byte.c,
153
+ testsuite/libffi.call/cls_4byte.c,
154
+ testsuite/libffi.call/cls_5_1_byte.c,
155
+ testsuite/libffi.call/cls_5byte.c,
156
+ testsuite/libffi.call/cls_64byte.c,
157
+ testsuite/libffi.call/cls_6_1_byte.c,
158
+ testsuite/libffi.call/cls_6byte.c,
159
+ testsuite/libffi.call/cls_7_1_byte.c,
160
+ testsuite/libffi.call/cls_7byte.c,
161
+ testsuite/libffi.call/cls_8byte.c,
162
+ testsuite/libffi.call/cls_9byte1.c,
163
+ testsuite/libffi.call/cls_9byte2.c,
164
+ testsuite/libffi.call/cls_align_double.c,
165
+ testsuite/libffi.call/cls_align_float.c,
166
+ testsuite/libffi.call/cls_align_longdouble.c,
167
+ testsuite/libffi.call/cls_align_longdouble_split.c,
168
+ testsuite/libffi.call/cls_align_longdouble_split2.c,
169
+ testsuite/libffi.call/cls_align_pointer.c,
170
+ testsuite/libffi.call/cls_align_sint16.c,
171
+ testsuite/libffi.call/cls_align_sint32.c,
172
+ testsuite/libffi.call/cls_align_sint64.c,
173
+ testsuite/libffi.call/cls_align_uint16.c,
174
+ testsuite/libffi.call/cls_align_uint32.c,
175
+ testsuite/libffi.call/cls_align_uint64.c,
176
+ testsuite/libffi.call/cls_dbls_struct.c,
177
+ testsuite/libffi.call/cls_double.c,
178
+ testsuite/libffi.call/cls_double_va.c,
179
+ testsuite/libffi.call/cls_float.c,
180
+ testsuite/libffi.call/cls_longdouble.c,
181
+ testsuite/libffi.call/cls_longdouble_va.c,
182
+ testsuite/libffi.call/cls_multi_schar.c,
183
+ testsuite/libffi.call/cls_multi_sshort.c,
184
+ testsuite/libffi.call/cls_multi_sshortchar.c,
185
+ testsuite/libffi.call/cls_multi_uchar.c,
186
+ testsuite/libffi.call/cls_multi_ushort.c,
187
+ testsuite/libffi.call/cls_multi_ushortchar.c,
188
+ testsuite/libffi.call/cls_pointer.c,
189
+ testsuite/libffi.call/cls_pointer_stack.c,
190
+ testsuite/libffi.call/cls_schar.c,
191
+ testsuite/libffi.call/cls_sint.c,
192
+ testsuite/libffi.call/cls_sshort.c,
193
+ testsuite/libffi.call/cls_uchar.c,
194
+ testsuite/libffi.call/cls_uint.c,
195
+ testsuite/libffi.call/cls_ulonglong.c,
196
+ testsuite/libffi.call/cls_ushort.c,
197
+ testsuite/libffi.call/err_bad_abi.c,
198
+ testsuite/libffi.call/err_bad_typedef.c,
199
+ testsuite/libffi.call/float2.c,
200
+ testsuite/libffi.call/huge_struct.c,
201
+ testsuite/libffi.call/nested_struct.c,
202
+ testsuite/libffi.call/nested_struct1.c,
203
+ testsuite/libffi.call/nested_struct10.c,
204
+ testsuite/libffi.call/nested_struct2.c,
205
+ testsuite/libffi.call/nested_struct3.c,
206
+ testsuite/libffi.call/nested_struct4.c,
207
+ testsuite/libffi.call/nested_struct5.c,
208
+ testsuite/libffi.call/nested_struct6.c,
209
+ testsuite/libffi.call/nested_struct7.c,
210
+ testsuite/libffi.call/nested_struct8.c,
211
+ testsuite/libffi.call/nested_struct9.c,
212
+ testsuite/libffi.call/problem1.c,
213
+ testsuite/libffi.call/return_ldl.c,
214
+ testsuite/libffi.call/return_ll1.c,
215
+ testsuite/libffi.call/stret_large.c,
216
+ testsuite/libffi.call/stret_large2.c,
217
+ testsuite/libffi.call/stret_medium.c,
218
+ testsuite/libffi.call/stret_medium2.c,
219
+ testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
220
+ of checking for MMAP. Use intptr_t instead of long casts.
221
+
222
+ 2009-06-04 Andrew Haley <aph@redhat.com>
223
+
224
+ * src/powerpc/ffitarget.h: Fix misapplied merge from gcc.
225
+
226
+ 2009-06-04 Andrew Haley <aph@redhat.com>
227
+
228
+ * src/mips/o32.S,
229
+ src/mips/n32.S: Fix licence formatting.
230
+
231
+ 2009-06-04 Andrew Haley <aph@redhat.com>
232
+
233
+ * src/x86/darwin.S: Fix licence formatting.
234
+ src/x86/win32.S: Likewise.
235
+ src/sh64/sysv.S: Likewise.
236
+ src/sh/sysv.S: Likewise.
237
+
238
+ 2009-06-04 Andrew Haley <aph@redhat.com>
239
+
240
+ * src/sh64/ffi.c: Remove lint directives. Was missing from merge
241
+ of Andreas Tobler's patch from 2006-04-22.
242
+
243
+ 2009-06-04 Andrew Haley <aph@redhat.com>
244
+
245
+ * src/sh/ffi.c: Apply missing hunk from Alexandre Oliva's patch of
246
+ 2007-03-07.
247
+
248
+ 2008-12-26 Timothy Wall <twall@users.sf.net>
249
+
250
+ * testsuite/libffi.call/cls_longdouble.c,
251
+ testsuite/libffi.call/cls_longdouble_va.c,
252
+ testsuite/libffi.call/cls_align_longdouble.c,
253
+ testsuite/libffi.call/cls_align_longdouble_split.c,
254
+ testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
255
+ failures on x86_64 cygwin/mingw.
256
+
257
+ 2008-12-22 Timothy Wall <twall@users.sf.net>
258
+
259
+ * testsuite/libffi.call/closure_fn0.c,
260
+ testsuite/libffi.call/closure_fn1.c,
261
+ testsuite/libffi.call/closure_fn2.c,
262
+ testsuite/libffi.call/closure_fn3.c,
263
+ testsuite/libffi.call/closure_fn4.c,
264
+ testsuite/libffi.call/closure_fn5.c,
265
+ testsuite/libffi.call/closure_fn6.c,
266
+ testsuite/libffi.call/closure_loc_fn0.c,
267
+ testsuite/libffi.call/closure_stdcall.c,
268
+ testsuite/libffi.call/cls_align_pointer.c,
269
+ testsuite/libffi.call/cls_pointer.c,
270
+ testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
271
+ pointer to integer (intptr_t).
272
+ * testsuite/libffi.call/cls_longdouble.c: disable for win64.
273
+
274
+ 2008-12-19 Anthony Green <green@redhat.com>
275
+
276
+ * configure.ac: Bump version to 3.0.8.
277
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
278
+ * libtool-version: Increment revision.
279
+ * README: Update for new release.
280
+
281
+ 2008-11-11 Anthony Green <green@redhat.com>
282
+
283
+ * configure.ac: Bump version to 3.0.7.
284
+ * configure, doc/stamp-vti, doc/version.texi: Rebuilt.
285
+ * libtool-version: Increment revision.
286
+ * README: Update for new release.
287
+
288
+ 2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
289
+
290
+ * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
291
+ FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
292
+ Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
293
+ Adjust copyright notice.
294
+ * src/powerpc/ffi.c: Add two new flags to indicate if we have one
295
+ register or two register to use for FFI_SYSV structs.
296
+ (ffi_prep_cif_machdep): Pass the right register flag introduced above.
297
+ (ffi_closure_helper_SYSV): Fix the return type for
298
+ FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
299
+ Adjust copyright notice.
300
+
301
+ 2008-07-24 Anthony Green <green@redhat.com>
302
+
303
+ * testsuite/libffi.call/cls_dbls_struct.c,
304
+ testsuite/libffi.call/cls_double_va.c,
305
+ testsuite/libffi.call/cls_longdouble.c,
306
+ testsuite/libffi.call/cls_longdouble_va.c,
307
+ testsuite/libffi.call/cls_pointer.c,
308
+ testsuite/libffi.call/cls_pointer_stack.c,
309
+ testsuite/libffi.call/err_bad_abi.c: Clean up failures from
310
+ compiler warnings.
311
+
1
312
  2008-07-17 Anthony Green <green@redhat.com>
2
313
 
3
314
  * configure.ac: Bump version to 3.0.6.
@@ -1,4 +1,4 @@
1
- libffi - Copyright (c) 1996-2008 Red Hat, Inc and others.
1
+ libffi - Copyright (c) 1996-2009 Anthony Green, Red Hat, Inc and others.
2
2
  See source files for details.
3
3
 
4
4
  Permission is hereby granted, free of charge, to any person obtaining
@@ -7,6 +7,7 @@ SUBDIRS = include testsuite man
7
7
  EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
8
8
  src/alpha/ffi.c src/alpha/osf.S src/alpha/ffitarget.h \
9
9
  src/arm/ffi.c src/arm/sysv.S src/arm/ffitarget.h \
10
+ src/avr32/ffi.c src/avr32/sysv.S src/avr32/ffitarget.h \
10
11
  src/cris/ffi.c src/cris/sysv.S src/cris/ffitarget.h \
11
12
  src/ia64/ffi.c src/ia64/ffitarget.h src/ia64/ia64_flags.h \
12
13
  src/ia64/unix.S \
@@ -25,12 +26,13 @@ EXTRA_DIST = LICENSE ChangeLog.v1 ChangeLog.libgcj configure.host \
25
26
  src/sh64/ffi.c src/sh64/sysv.S src/sh64/ffitarget.h \
26
27
  src/sparc/v8.S src/sparc/v9.S src/sparc/ffitarget.h \
27
28
  src/sparc/ffi.c src/x86/darwin64.S \
28
- src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/darwin.S \
29
- src/x86/freebsd.S \
29
+ src/x86/ffi.c src/x86/sysv.S src/x86/win32.S src/x86/win64.S \
30
+ src/x86/darwin.S src/x86/freebsd.S \
30
31
  src/x86/ffi64.c src/x86/unix64.S src/x86/ffitarget.h \
31
32
  src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
32
33
  src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c \
33
- libtool-version ChangeLog.libffi
34
+ libtool-version ChangeLog.libffi m4/libtool.m4 \
35
+ m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
34
36
 
35
37
  info_TEXINFOS = doc/libffi.texi
36
38
 
@@ -79,6 +81,8 @@ AM_MAKEFLAGS = \
79
81
 
80
82
  MAKEOVERRIDES=
81
83
 
84
+ ACLOCAL_AMFLAGS=$(ACLOCAL_AMFLAGS) -I m4
85
+
82
86
  lib_LTLIBRARIES = libffi.la
83
87
  noinst_LTLIBRARIES = libffi_convenience.la
84
88
 
@@ -102,6 +106,9 @@ endif
102
106
  if X86_WIN32
103
107
  nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win32.S
104
108
  endif
109
+ if X86_WIN64
110
+ nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/win64.S
111
+ endif
105
112
  if X86_DARWIN
106
113
  nodist_libffi_la_SOURCES += src/x86/ffi.c src/x86/darwin.S src/x86/ffi64.c src/x86/darwin64.S
107
114
  endif
@@ -135,6 +142,9 @@ endif
135
142
  if ARM
136
143
  nodist_libffi_la_SOURCES += src/arm/sysv.S src/arm/ffi.c
137
144
  endif
145
+ if AVR32
146
+ nodist_libffi_la_SOURCES += src/avr32/sysv.S src/avr32/ffi.c
147
+ endif
138
148
  if LIBFFI_CRIS
139
149
  nodist_libffi_la_SOURCES += src/cris/sysv.S src/cris/ffi.c
140
150
  endif
@@ -165,7 +175,7 @@ nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
165
175
 
166
176
  AM_CFLAGS = -Wall -g -fexceptions
167
177
 
168
- libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
178
+ libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` $(AM_LTLDFLAGS)
169
179
 
170
180
  AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
171
181
  AM_CCASFLAGS = $(AM_CPPFLAGS)