ffi 1.9.25 → 1.12.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/{appveyor.yml → .appveyor.yml} +7 -2
  3. data/.gitignore +3 -0
  4. data/.gitmodules +1 -0
  5. data/.travis.yml +22 -30
  6. data/CHANGELOG.md +107 -0
  7. data/Gemfile +2 -2
  8. data/README.md +29 -17
  9. data/Rakefile +17 -89
  10. data/ext/ffi_c/AbstractMemory.c +5 -9
  11. data/ext/ffi_c/Call.c +18 -39
  12. data/ext/ffi_c/Call.h +4 -7
  13. data/ext/ffi_c/DynamicLibrary.c +1 -1
  14. data/ext/ffi_c/Function.c +29 -113
  15. data/ext/ffi_c/LastError.c +47 -2
  16. data/ext/ffi_c/LongDouble.c +7 -7
  17. data/ext/ffi_c/Platform.c +0 -47
  18. data/ext/ffi_c/Struct.c +47 -51
  19. data/ext/ffi_c/Struct.h +12 -6
  20. data/ext/ffi_c/StructLayout.c +13 -12
  21. data/ext/ffi_c/Thread.c +6 -222
  22. data/ext/ffi_c/Thread.h +2 -13
  23. data/ext/ffi_c/Type.c +0 -18
  24. data/ext/ffi_c/Type.h +0 -1
  25. data/ext/ffi_c/Types.c +1 -1
  26. data/ext/ffi_c/Variadic.c +9 -15
  27. data/ext/ffi_c/extconf.rb +34 -21
  28. data/ext/ffi_c/ffi.c +3 -8
  29. data/ext/ffi_c/libffi/.appveyor.yml +29 -13
  30. data/ext/ffi_c/libffi/.gitattributes +4 -0
  31. data/ext/ffi_c/libffi/.travis/bfin-sim.exp +58 -0
  32. data/ext/ffi_c/libffi/.travis/build-cross-in-container.sh +14 -0
  33. data/ext/ffi_c/libffi/.travis/build-in-container.sh +12 -0
  34. data/ext/ffi_c/libffi/.travis/build.sh +112 -8
  35. data/ext/ffi_c/libffi/.travis/install.sh +65 -16
  36. data/ext/ffi_c/libffi/.travis/m32r-sim.exp +58 -0
  37. data/ext/ffi_c/libffi/.travis/or1k-sim.exp +58 -0
  38. data/ext/ffi_c/libffi/.travis/powerpc-eabisim.exp +58 -0
  39. data/ext/ffi_c/libffi/.travis/site.exp +10 -1
  40. data/ext/ffi_c/libffi/.travis/wine-sim.exp +55 -0
  41. data/ext/ffi_c/libffi/.travis.yml +47 -2
  42. data/ext/ffi_c/libffi/{ChangeLog.libffi-3.1 → ChangeLog.old} +1407 -0
  43. data/ext/ffi_c/libffi/LICENSE +1 -1
  44. data/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +5 -4
  45. data/ext/ffi_c/libffi/Makefile.am +33 -40
  46. data/ext/ffi_c/libffi/Makefile.in +392 -176
  47. data/ext/ffi_c/libffi/README.md +23 -8
  48. data/ext/ffi_c/libffi/configure +319 -343
  49. data/ext/ffi_c/libffi/configure.ac +6 -2
  50. data/ext/ffi_c/libffi/configure.host +26 -9
  51. data/ext/ffi_c/libffi/doc/Makefile.in +9 -5
  52. data/ext/ffi_c/libffi/doc/libffi.texi +26 -14
  53. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  54. data/ext/ffi_c/libffi/fficonfig.h.in +4 -0
  55. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +1 -3
  56. data/ext/ffi_c/libffi/include/Makefile.in +10 -6
  57. data/ext/ffi_c/libffi/include/ffi.h.in +11 -7
  58. data/ext/ffi_c/libffi/include/ffi_common.h +5 -1
  59. data/ext/ffi_c/libffi/install-sh +23 -13
  60. data/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +2 -48
  61. data/ext/ffi_c/libffi/ltmain.sh +153 -60
  62. data/ext/ffi_c/libffi/m4/asmcfi.m4 +1 -1
  63. data/ext/ffi_c/libffi/m4/ax_append_flag.m4 +5 -26
  64. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +5 -26
  65. data/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +2 -1
  66. data/ext/ffi_c/libffi/m4/ax_configure_args.m4 +5 -26
  67. data/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +7 -3
  68. data/ext/ffi_c/libffi/make_sunver.pl +333 -0
  69. data/ext/ffi_c/libffi/man/Makefile.in +9 -5
  70. data/ext/ffi_c/libffi/missing +8 -8
  71. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +33 -0
  72. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +130 -0
  73. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +57 -0
  74. data/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +4 -0
  75. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +511 -0
  76. data/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/fficonfig.h +219 -0
  77. data/ext/ffi_c/libffi/msvcc.sh +27 -2
  78. data/ext/ffi_c/libffi/src/aarch64/ffi.c +126 -58
  79. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +13 -2
  80. data/ext/ffi_c/libffi/src/aarch64/sysv.S +8 -6
  81. data/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +506 -0
  82. data/ext/ffi_c/libffi/src/arm/ffi.c +40 -5
  83. data/ext/ffi_c/libffi/src/arm/ffitarget.h +8 -1
  84. data/ext/ffi_c/libffi/src/arm/sysv.S +2 -0
  85. data/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +311 -0
  86. data/ext/ffi_c/libffi/src/closures.c +41 -9
  87. data/ext/ffi_c/libffi/src/frv/ffi.c +1 -1
  88. data/ext/ffi_c/libffi/src/metag/ffi.c +1 -1
  89. data/ext/ffi_c/libffi/src/mips/o32.S +2 -0
  90. data/ext/ffi_c/libffi/src/moxie/ffi.c +1 -1
  91. data/ext/ffi_c/libffi/src/pa/linux.S +23 -2
  92. data/ext/ffi_c/libffi/src/powerpc/ffi.c +6 -4
  93. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +211 -32
  94. data/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +18 -7
  95. data/ext/ffi_c/libffi/src/powerpc/ffitarget.h +10 -4
  96. data/ext/ffi_c/libffi/src/powerpc/linux64.S +83 -28
  97. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +68 -4
  98. data/ext/ffi_c/libffi/src/prep_cif.c +4 -2
  99. data/ext/ffi_c/libffi/src/riscv/ffi.c +42 -6
  100. data/ext/ffi_c/libffi/src/riscv/ffitarget.h +1 -0
  101. data/ext/ffi_c/libffi/src/riscv/sysv.S +86 -7
  102. data/ext/ffi_c/libffi/src/x86/ffi.c +14 -6
  103. data/ext/ffi_c/libffi/src/x86/ffi64.c +5 -3
  104. data/ext/ffi_c/libffi/src/x86/ffiw64.c +5 -2
  105. data/ext/ffi_c/libffi/src/x86/sysv.S +90 -4
  106. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +995 -0
  107. data/ext/ffi_c/libffi/src/x86/unix64.S +41 -0
  108. data/ext/ffi_c/libffi/src/x86/win64.S +5 -0
  109. data/ext/ffi_c/libffi/testsuite/Makefile.am +114 -109
  110. data/ext/ffi_c/libffi/testsuite/Makefile.in +124 -84
  111. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +26 -22
  112. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +7 -2
  113. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +1 -1
  114. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +1 -1
  115. data/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +12 -1
  116. data/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +9 -8
  117. data/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +1 -1
  118. data/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +67 -0
  119. data/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +138 -0
  120. data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/huge_struct.c +1 -1
  121. data/ext/ffi_c/libffi.darwin.mk +1 -1
  122. data/ext/ffi_c/rbffi.h +0 -2
  123. data/ffi.gemspec +12 -5
  124. data/lib/ffi/data_converter.rb +67 -0
  125. data/lib/ffi/ffi.rb +2 -0
  126. data/lib/ffi/library.rb +6 -6
  127. data/lib/ffi/platform/aarch64-freebsd/types.conf +128 -0
  128. data/lib/ffi/platform/aarch64-freebsd12/types.conf +128 -0
  129. data/lib/ffi/platform/aarch64-linux/types.conf +81 -81
  130. data/lib/ffi/platform/arm-freebsd/types.conf +152 -0
  131. data/lib/ffi/platform/arm-freebsd12/types.conf +152 -0
  132. data/lib/ffi/platform/arm-linux/types.conf +79 -79
  133. data/lib/ffi/platform/i386-cygwin/types.conf +1 -1
  134. data/lib/ffi/platform/i386-darwin/types.conf +63 -63
  135. data/lib/ffi/platform/i386-freebsd/types.conf +89 -89
  136. data/lib/ffi/platform/i386-freebsd12/types.conf +152 -0
  137. data/lib/ffi/platform/i386-gnu/types.conf +84 -84
  138. data/lib/ffi/platform/i386-linux/types.conf +77 -77
  139. data/lib/ffi/platform/i386-netbsd/types.conf +87 -87
  140. data/lib/ffi/platform/i386-openbsd/types.conf +89 -89
  141. data/lib/ffi/platform/i386-solaris/types.conf +96 -96
  142. data/lib/ffi/platform/i386-windows/types.conf +84 -84
  143. data/lib/ffi/platform/ia64-linux/types.conf +79 -79
  144. data/lib/ffi/platform/mips-linux/types.conf +79 -79
  145. data/lib/ffi/platform/mips64-linux/types.conf +81 -81
  146. data/lib/ffi/platform/mips64el-linux/types.conf +81 -81
  147. data/lib/ffi/platform/mipsel-linux/types.conf +79 -79
  148. data/lib/ffi/platform/mipsisa32r6-linux/types.conf +79 -79
  149. data/lib/ffi/platform/mipsisa32r6el-linux/types.conf +79 -79
  150. data/lib/ffi/platform/mipsisa64r6-linux/types.conf +81 -81
  151. data/lib/ffi/platform/mipsisa64r6el-linux/types.conf +81 -81
  152. data/lib/ffi/platform/powerpc-aix/types.conf +155 -155
  153. data/lib/ffi/platform/powerpc-darwin/types.conf +63 -63
  154. data/lib/ffi/platform/powerpc-linux/types.conf +77 -77
  155. data/lib/ffi/platform/powerpc64-linux/types.conf +81 -81
  156. data/lib/ffi/platform/s390-linux/types.conf +79 -79
  157. data/lib/ffi/platform/s390x-linux/types.conf +79 -79
  158. data/lib/ffi/platform/sparc-linux/types.conf +79 -79
  159. data/lib/ffi/platform/sparc-solaris/types.conf +103 -103
  160. data/lib/ffi/platform/sparc64-linux/types.conf +79 -79
  161. data/lib/ffi/platform/sparcv9-solaris/types.conf +103 -103
  162. data/lib/ffi/platform/x86_64-cygwin/types.conf +1 -1
  163. data/lib/ffi/platform/x86_64-darwin/types.conf +84 -84
  164. data/lib/ffi/platform/x86_64-dragonflybsd/types.conf +148 -0
  165. data/lib/ffi/platform/x86_64-freebsd/types.conf +90 -90
  166. data/lib/ffi/platform/x86_64-freebsd12/types.conf +158 -0
  167. data/lib/ffi/platform/x86_64-linux/types.conf +86 -77
  168. data/lib/ffi/platform/x86_64-netbsd/types.conf +89 -89
  169. data/lib/ffi/platform/x86_64-openbsd/types.conf +86 -86
  170. data/lib/ffi/platform/x86_64-solaris/types.conf +96 -96
  171. data/lib/ffi/platform/x86_64-windows/types.conf +99 -99
  172. data/lib/ffi/platform.rb +13 -2
  173. data/lib/ffi/pointer.rb +5 -6
  174. data/lib/ffi/struct.rb +5 -66
  175. data/lib/ffi/struct_by_reference.rb +72 -0
  176. data/lib/ffi/struct_layout.rb +96 -0
  177. data/lib/ffi/tools/const_generator.rb +5 -4
  178. data/lib/ffi/tools/generator.rb +47 -2
  179. data/lib/ffi/tools/generator_task.rb +13 -17
  180. data/lib/ffi/tools/struct_generator.rb +4 -4
  181. data/lib/ffi/tools/types_generator.rb +5 -4
  182. data/lib/ffi/types.rb +1 -1
  183. data/lib/ffi/version.rb +1 -1
  184. metadata +144 -115
  185. data/ext/ffi_c/DataConverter.c +0 -91
  186. data/ext/ffi_c/StructByReference.c +0 -190
  187. data/ext/ffi_c/StructByReference.h +0 -50
  188. data/ext/ffi_c/libffi/ChangeLog.libffi +0 -584
  189. data/ext/ffi_c/libffi/ChangeLog.libgcj +0 -40
  190. data/ext/ffi_c/libffi/ChangeLog.v1 +0 -764
  191. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn0.c +0 -0
  192. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn1.c +0 -0
  193. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn2.c +0 -0
  194. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn3.c +0 -0
  195. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn4.c +0 -0
  196. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn5.c +0 -0
  197. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_fn6.c +0 -0
  198. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_loc_fn0.c +0 -0
  199. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/closure_simple.c +0 -0
  200. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_12byte.c +0 -0
  201. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_16byte.c +0 -0
  202. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_18byte.c +0 -0
  203. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_19byte.c +0 -0
  204. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_1_1byte.c +0 -0
  205. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte.c +0 -0
  206. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_20byte1.c +0 -0
  207. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_24byte.c +0 -0
  208. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_2byte.c +0 -0
  209. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3_1byte.c +0 -0
  210. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte1.c +0 -0
  211. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3byte2.c +0 -0
  212. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_3float.c +0 -0
  213. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4_1byte.c +0 -0
  214. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_4byte.c +0 -0
  215. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5_1_byte.c +0 -0
  216. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_5byte.c +0 -0
  217. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_64byte.c +0 -0
  218. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6_1_byte.c +0 -0
  219. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_6byte.c +0 -0
  220. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7_1_byte.c +0 -0
  221. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_7byte.c +0 -0
  222. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_8byte.c +0 -0
  223. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte1.c +0 -0
  224. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_9byte2.c +0 -0
  225. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_double.c +0 -0
  226. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_float.c +0 -0
  227. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble.c +0 -0
  228. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split.c +0 -0
  229. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_longdouble_split2.c +0 -0
  230. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_pointer.c +0 -0
  231. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint16.c +0 -0
  232. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint32.c +0 -0
  233. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_sint64.c +0 -0
  234. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint16.c +0 -0
  235. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint32.c +0 -0
  236. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_align_uint64.c +0 -0
  237. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_dbls_struct.c +0 -0
  238. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double.c +0 -0
  239. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_double_va.c +0 -0
  240. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_float.c +0 -0
  241. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble.c +0 -0
  242. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_longdouble_va.c +0 -0
  243. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_many_mixed_args.c +0 -0
  244. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_many_mixed_float_double.c +0 -0
  245. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_schar.c +0 -0
  246. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshort.c +0 -0
  247. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_sshortchar.c +0 -0
  248. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_uchar.c +0 -0
  249. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushort.c +0 -0
  250. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_multi_ushortchar.c +0 -0
  251. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer.c +0 -0
  252. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_pointer_stack.c +0 -0
  253. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_schar.c +0 -0
  254. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sint.c +0 -0
  255. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_sshort.c +0 -0
  256. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_struct_va1.c +0 -0
  257. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uchar.c +0 -0
  258. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uchar_va.c +0 -0
  259. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uint.c +0 -0
  260. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_uint_va.c +0 -0
  261. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ulong_va.c +0 -0
  262. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ulonglong.c +0 -0
  263. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ushort.c +0 -0
  264. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/cls_ushort_va.c +0 -0
  265. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/err_bad_abi.c +0 -0
  266. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct.c +0 -0
  267. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct1.c +0 -0
  268. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct10.c +0 -0
  269. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct11.c +0 -0
  270. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct2.c +0 -0
  271. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct3.c +0 -0
  272. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct4.c +0 -0
  273. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct5.c +0 -0
  274. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct6.c +0 -0
  275. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct7.c +0 -0
  276. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct8.c +0 -0
  277. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/nested_struct9.c +0 -0
  278. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/problem1.c +0 -0
  279. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large.c +0 -0
  280. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_large2.c +0 -0
  281. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium.c +0 -0
  282. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/stret_medium2.c +0 -0
  283. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/testclosure.c +0 -0
  284. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/unwindtest.cc +0 -0
  285. /data/ext/ffi_c/libffi/testsuite/{libffi.call → libffi.closures}/unwindtest_ffi_call.cc +0 -0
@@ -9,7 +9,6 @@
9
9
  /* Begin PBXBuildFile section */
10
10
  43B5D3F81D35473200D1E1FD /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */; };
11
11
  43B5D3FA1D3547CE00D1E1FD /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */; };
12
- 43E9A5C71D352C1500926A8F /* sysv_i386.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C51D352C1500926A8F /* sysv_i386.S */; };
13
12
  43E9A5C81D352C1500926A8F /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */; };
14
13
  DBFA714A187F1D8600A76262 /* ffi.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; };
15
14
  DBFA714B187F1D8600A76262 /* ffi_common.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA713F187F1D8600A76262 /* ffi_common.h */; };
@@ -28,26 +27,18 @@
28
27
  DBFA7179187F1D9B00A76262 /* ffi_armv7.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716F187F1D9B00A76262 /* ffi_armv7.c */; };
29
28
  DBFA717A187F1D9B00A76262 /* sysv_armv7.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7170187F1D9B00A76262 /* sysv_armv7.S */; };
30
29
  DBFA717E187F1D9B00A76262 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */; };
31
- DBFA717F187F1D9B00A76262 /* ffi_i386.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7176187F1D9B00A76262 /* ffi_i386.c */; };
32
- DBFA718E187F1DA100A76262 /* ffi_i386.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7182187F1DA100A76262 /* ffi_i386.h */; };
33
30
  DBFA718F187F1DA100A76262 /* ffi_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7183187F1DA100A76262 /* ffi_x86_64.h */; };
34
- DBFA7190187F1DA100A76262 /* fficonfig_i386.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7184187F1DA100A76262 /* fficonfig_i386.h */; };
35
31
  DBFA7191187F1DA100A76262 /* fficonfig_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */; };
36
- DBFA7192187F1DA100A76262 /* ffitarget_i386.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7186187F1DA100A76262 /* ffitarget_i386.h */; };
37
32
  DBFA7193187F1DA100A76262 /* ffitarget_x86_64.h in Headers */ = {isa = PBXBuildFile; fileRef = DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */; };
38
33
  DBFA7194187F1DA100A76262 /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718A187F1DA100A76262 /* unix64_x86_64.S */; };
39
- DBFA7195187F1DA100A76262 /* sysv_i386.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718B187F1DA100A76262 /* sysv_i386.S */; };
40
34
  DBFA7196187F1DA100A76262 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */; };
41
- DBFA7197187F1DA100A76262 /* ffi_i386.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718D187F1DA100A76262 /* ffi_i386.c */; };
42
35
  FDB52FB31F6144FA00AA92E6 /* unix64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C61D352C1500926A8F /* unix64_x86_64.S */; };
43
- FDB52FB41F6144FA00AA92E6 /* sysv_i386.S in Sources */ = {isa = PBXBuildFile; fileRef = 43E9A5C51D352C1500926A8F /* sysv_i386.S */; };
44
36
  FDB52FB51F6144FA00AA92E6 /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */; };
45
37
  FDB52FB61F6144FA00AA92E6 /* ffi_armv7.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716F187F1D9B00A76262 /* ffi_armv7.c */; };
46
38
  FDB52FB71F6144FA00AA92E6 /* closures.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7143187F1D8600A76262 /* closures.c */; };
47
39
  FDB52FB81F6144FA00AA92E6 /* sysv_armv7.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7170187F1D9B00A76262 /* sysv_armv7.S */; };
48
40
  FDB52FB91F6144FA00AA92E6 /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = 43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */; };
49
41
  FDB52FBA1F6144FA00AA92E6 /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; };
50
- FDB52FBB1F6144FA00AA92E6 /* ffi_i386.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7176187F1D9B00A76262 /* ffi_i386.c */; };
51
42
  FDB52FBC1F6144FA00AA92E6 /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; };
52
43
  FDB52FBD1F6144FA00AA92E6 /* sysv_arm64.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA716D187F1D9B00A76262 /* sysv_arm64.S */; };
53
44
  FDB52FBE1F6144FA00AA92E6 /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; };
@@ -56,7 +47,6 @@
56
47
  FDB52FD01F614A8B00AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; };
57
48
  FDB52FD11F614AA700AA92E6 /* ffi_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715E187F1D9B00A76262 /* ffi_arm64.h */; };
58
49
  FDB52FD21F614AAB00AA92E6 /* ffi_armv7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715F187F1D9B00A76262 /* ffi_armv7.h */; };
59
- FDB52FD31F614AB000AA92E6 /* ffi_i386.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7160187F1D9B00A76262 /* ffi_i386.h */; };
60
50
  FDB52FD41F614AB500AA92E6 /* ffi_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */; };
61
51
  FDB52FD51F614AE200AA92E6 /* ffi.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA713E187F1D8600A76262 /* ffi.h */; };
62
52
  FDB52FD61F614AEA00AA92E6 /* ffi_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA715E187F1D9B00A76262 /* ffi_arm64.h */; };
@@ -64,7 +54,6 @@
64
54
  FDB52FD81F614B8700AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; };
65
55
  FDB52FD91F614B8E00AA92E6 /* ffitarget_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */; };
66
56
  FDB52FDA1F614B9300AA92E6 /* ffitarget_armv7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */; };
67
- FDB52FDB1F614B9700AA92E6 /* ffitarget_i386.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7168187F1D9B00A76262 /* ffitarget_i386.h */; };
68
57
  FDB52FDD1F614BA900AA92E6 /* ffitarget_x86_64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */; };
69
58
  FDB52FDE1F6155E300AA92E6 /* ffitarget.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7141187F1D8600A76262 /* ffitarget.h */; };
70
59
  FDB52FDF1F6155EA00AA92E6 /* ffitarget_arm64.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */; };
@@ -76,9 +65,7 @@
76
65
  FDDB2F411F5D66E200EF414E /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */; };
77
66
  FDDB2F461F5D691E00EF414E /* win64_x86_64.S in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F441F5D68C900EF414E /* win64_x86_64.S */; };
78
67
  FDDB2F4A1F5D846400EF414E /* ffi64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */; };
79
- FDDB2F4B1F5D846400EF414E /* sysv_i386.S in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718B187F1DA100A76262 /* sysv_i386.S */; };
80
68
  FDDB2F4C1F5D846400EF414E /* prep_cif.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7147187F1D8600A76262 /* prep_cif.c */; };
81
- FDDB2F4D1F5D846400EF414E /* ffi_i386.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA718D187F1DA100A76262 /* ffi_i386.c */; };
82
69
  FDDB2F4E1F5D846400EF414E /* ffiw64_x86_64.c in Sources */ = {isa = PBXBuildFile; fileRef = FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */; };
83
70
  FDDB2F4F1F5D846400EF414E /* types.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7149187F1D8600A76262 /* types.c */; };
84
71
  FDDB2F501F5D846400EF414E /* raw_api.c in Sources */ = {isa = PBXBuildFile; fileRef = DBFA7148187F1D8600A76262 /* raw_api.c */; };
@@ -97,12 +84,10 @@
97
84
  FDB52FD01F614A8B00AA92E6 /* ffi.h in CopyFiles */,
98
85
  FDB52FD11F614AA700AA92E6 /* ffi_arm64.h in CopyFiles */,
99
86
  FDB52FD21F614AAB00AA92E6 /* ffi_armv7.h in CopyFiles */,
100
- FDB52FD31F614AB000AA92E6 /* ffi_i386.h in CopyFiles */,
101
87
  FDB52FD41F614AB500AA92E6 /* ffi_x86_64.h in CopyFiles */,
102
88
  FDB52FD81F614B8700AA92E6 /* ffitarget.h in CopyFiles */,
103
89
  FDB52FD91F614B8E00AA92E6 /* ffitarget_arm64.h in CopyFiles */,
104
90
  FDB52FDA1F614B9300AA92E6 /* ffitarget_armv7.h in CopyFiles */,
105
- FDB52FDB1F614B9700AA92E6 /* ffitarget_i386.h in CopyFiles */,
106
91
  FDB52FDD1F614BA900AA92E6 /* ffitarget_x86_64.h in CopyFiles */,
107
92
  );
108
93
  runOnlyForDeploymentPostprocessing = 0;
@@ -140,7 +125,6 @@
140
125
  /* Begin PBXFileReference section */
141
126
  43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffiw64_x86_64.c; sourceTree = "<group>"; };
142
127
  43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = win64_x86_64.S; sourceTree = "<group>"; };
143
- 43E9A5C51D352C1500926A8F /* sysv_i386.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_i386.S; sourceTree = "<group>"; };
144
128
  43E9A5C61D352C1500926A8F /* unix64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = unix64_x86_64.S; sourceTree = "<group>"; };
145
129
  43E9A5DA1D35373600926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = "<group>"; };
146
130
  43E9A5DB1D35374400926A8F /* internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = internal.h; sourceTree = "<group>"; };
@@ -159,32 +143,23 @@
159
143
  DBFA7149187F1D8600A76262 /* types.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = types.c; sourceTree = "<group>"; };
160
144
  DBFA715E187F1D9B00A76262 /* ffi_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_arm64.h; sourceTree = "<group>"; };
161
145
  DBFA715F187F1D9B00A76262 /* ffi_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_armv7.h; sourceTree = "<group>"; };
162
- DBFA7160187F1D9B00A76262 /* ffi_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_i386.h; sourceTree = "<group>"; };
163
146
  DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_x86_64.h; sourceTree = "<group>"; };
164
147
  DBFA7162187F1D9B00A76262 /* fficonfig_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_arm64.h; sourceTree = "<group>"; };
165
148
  DBFA7163187F1D9B00A76262 /* fficonfig_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_armv7.h; sourceTree = "<group>"; };
166
- DBFA7164187F1D9B00A76262 /* fficonfig_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_i386.h; sourceTree = "<group>"; };
167
149
  DBFA7165187F1D9B00A76262 /* fficonfig_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_x86_64.h; sourceTree = "<group>"; };
168
150
  DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_arm64.h; sourceTree = "<group>"; };
169
151
  DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_armv7.h; sourceTree = "<group>"; };
170
- DBFA7168187F1D9B00A76262 /* ffitarget_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_i386.h; sourceTree = "<group>"; };
171
152
  DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_x86_64.h; sourceTree = "<group>"; };
172
153
  DBFA716C187F1D9B00A76262 /* ffi_arm64.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi_arm64.c; sourceTree = "<group>"; };
173
154
  DBFA716D187F1D9B00A76262 /* sysv_arm64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_arm64.S; sourceTree = "<group>"; };
174
155
  DBFA716F187F1D9B00A76262 /* ffi_armv7.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi_armv7.c; sourceTree = "<group>"; };
175
156
  DBFA7170187F1D9B00A76262 /* sysv_armv7.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_armv7.S; sourceTree = "<group>"; };
176
157
  DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffi64_x86_64.c; sourceTree = "<group>"; };
177
- DBFA7176187F1D9B00A76262 /* ffi_i386.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffi_i386.c; sourceTree = "<group>"; };
178
- DBFA7182187F1DA100A76262 /* ffi_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_i386.h; sourceTree = "<group>"; };
179
158
  DBFA7183187F1DA100A76262 /* ffi_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffi_x86_64.h; sourceTree = "<group>"; };
180
- DBFA7184187F1DA100A76262 /* fficonfig_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_i386.h; sourceTree = "<group>"; };
181
159
  DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fficonfig_x86_64.h; sourceTree = "<group>"; };
182
- DBFA7186187F1DA100A76262 /* ffitarget_i386.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_i386.h; sourceTree = "<group>"; };
183
160
  DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffitarget_x86_64.h; sourceTree = "<group>"; };
184
161
  DBFA718A187F1DA100A76262 /* unix64_x86_64.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = unix64_x86_64.S; sourceTree = "<group>"; };
185
- DBFA718B187F1DA100A76262 /* sysv_i386.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; path = sysv_i386.S; sourceTree = "<group>"; };
186
162
  DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.c; path = ffi64_x86_64.c; sourceTree = "<group>"; };
187
- DBFA718D187F1DA100A76262 /* ffi_i386.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffi_i386.c; sourceTree = "<group>"; };
188
163
  FDB52FC51F6144FA00AA92E6 /* libffi.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libffi.a; sourceTree = BUILT_PRODUCTS_DIR; };
189
164
  FDDB2F3E1F5D61BC00EF414E /* asmnames.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = asmnames.h; sourceTree = "<group>"; };
190
165
  FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffiw64_x86_64.c; sourceTree = "<group>"; };
@@ -262,15 +237,12 @@
262
237
  children = (
263
238
  DBFA715E187F1D9B00A76262 /* ffi_arm64.h */,
264
239
  DBFA715F187F1D9B00A76262 /* ffi_armv7.h */,
265
- DBFA7160187F1D9B00A76262 /* ffi_i386.h */,
266
240
  DBFA7161187F1D9B00A76262 /* ffi_x86_64.h */,
267
241
  DBFA7162187F1D9B00A76262 /* fficonfig_arm64.h */,
268
242
  DBFA7163187F1D9B00A76262 /* fficonfig_armv7.h */,
269
- DBFA7164187F1D9B00A76262 /* fficonfig_i386.h */,
270
243
  DBFA7165187F1D9B00A76262 /* fficonfig_x86_64.h */,
271
244
  DBFA7166187F1D9B00A76262 /* ffitarget_arm64.h */,
272
245
  DBFA7167187F1D9B00A76262 /* ffitarget_armv7.h */,
273
- DBFA7168187F1D9B00A76262 /* ffitarget_i386.h */,
274
246
  DBFA7169187F1D9B00A76262 /* ffitarget_x86_64.h */,
275
247
  );
276
248
  path = include;
@@ -313,8 +285,6 @@
313
285
  43E9A5DD1D35375400926A8F /* internal64.h */,
314
286
  DBFA7175187F1D9B00A76262 /* ffi64_x86_64.c */,
315
287
  43B5D3F71D35473200D1E1FD /* ffiw64_x86_64.c */,
316
- DBFA7176187F1D9B00A76262 /* ffi_i386.c */,
317
- 43E9A5C51D352C1500926A8F /* sysv_i386.S */,
318
288
  43E9A5C61D352C1500926A8F /* unix64_x86_64.S */,
319
289
  43B5D3F91D3547CE00D1E1FD /* win64_x86_64.S */,
320
290
  );
@@ -333,11 +303,8 @@
333
303
  DBFA7181187F1DA100A76262 /* include */ = {
334
304
  isa = PBXGroup;
335
305
  children = (
336
- DBFA7182187F1DA100A76262 /* ffi_i386.h */,
337
306
  DBFA7183187F1DA100A76262 /* ffi_x86_64.h */,
338
- DBFA7184187F1DA100A76262 /* fficonfig_i386.h */,
339
307
  DBFA7185187F1DA100A76262 /* fficonfig_x86_64.h */,
340
- DBFA7186187F1DA100A76262 /* ffitarget_i386.h */,
341
308
  DBFA7187187F1DA100A76262 /* ffitarget_x86_64.h */,
342
309
  );
343
310
  path = include;
@@ -359,8 +326,6 @@
359
326
  FDDB2F3E1F5D61BC00EF414E /* asmnames.h */,
360
327
  DBFA718C187F1DA100A76262 /* ffi64_x86_64.c */,
361
328
  FDDB2F3F1F5D666900EF414E /* ffiw64_x86_64.c */,
362
- DBFA718D187F1DA100A76262 /* ffi_i386.c */,
363
- DBFA718B187F1DA100A76262 /* sysv_i386.S */,
364
329
  DBFA718A187F1DA100A76262 /* unix64_x86_64.S */,
365
330
  FDDB2F441F5D68C900EF414E /* win64_x86_64.S */,
366
331
  );
@@ -379,11 +344,8 @@
379
344
  DBFA714A187F1D8600A76262 /* ffi.h in Headers */,
380
345
  DBFA718F187F1DA100A76262 /* ffi_x86_64.h in Headers */,
381
346
  DBFA7191187F1DA100A76262 /* fficonfig_x86_64.h in Headers */,
382
- DBFA718E187F1DA100A76262 /* ffi_i386.h in Headers */,
383
- DBFA7190187F1DA100A76262 /* fficonfig_i386.h in Headers */,
384
347
  DBFA714B187F1D8600A76262 /* ffi_common.h in Headers */,
385
348
  DBFA7193187F1DA100A76262 /* ffitarget_x86_64.h in Headers */,
386
- DBFA7192187F1DA100A76262 /* ffitarget_i386.h in Headers */,
387
349
  );
388
350
  runOnlyForDeploymentPostprocessing = 0;
389
351
  };
@@ -549,14 +511,12 @@
549
511
  buildActionMask = 2147483647;
550
512
  files = (
551
513
  43E9A5C81D352C1500926A8F /* unix64_x86_64.S in Sources */,
552
- 43E9A5C71D352C1500926A8F /* sysv_i386.S in Sources */,
553
514
  DBFA717E187F1D9B00A76262 /* ffi64_x86_64.c in Sources */,
554
515
  DBFA7179187F1D9B00A76262 /* ffi_armv7.c in Sources */,
555
516
  DBFA714E187F1D8600A76262 /* closures.c in Sources */,
556
517
  DBFA717A187F1D9B00A76262 /* sysv_armv7.S in Sources */,
557
518
  43B5D3F81D35473200D1E1FD /* ffiw64_x86_64.c in Sources */,
558
519
  DBFA7156187F1D8600A76262 /* prep_cif.c in Sources */,
559
- DBFA717F187F1D9B00A76262 /* ffi_i386.c in Sources */,
560
520
  DBFA7158187F1D8600A76262 /* raw_api.c in Sources */,
561
521
  DBFA7178187F1D9B00A76262 /* sysv_arm64.S in Sources */,
562
522
  DBFA715A187F1D8600A76262 /* types.c in Sources */,
@@ -570,9 +530,7 @@
570
530
  buildActionMask = 2147483647;
571
531
  files = (
572
532
  DBFA7196187F1DA100A76262 /* ffi64_x86_64.c in Sources */,
573
- DBFA7195187F1DA100A76262 /* sysv_i386.S in Sources */,
574
533
  DBFA7157187F1D8600A76262 /* prep_cif.c in Sources */,
575
- DBFA7197187F1DA100A76262 /* ffi_i386.c in Sources */,
576
534
  FDDB2F411F5D66E200EF414E /* ffiw64_x86_64.c in Sources */,
577
535
  DBFA715B187F1D8600A76262 /* types.c in Sources */,
578
536
  DBFA7159187F1D8600A76262 /* raw_api.c in Sources */,
@@ -587,14 +545,12 @@
587
545
  buildActionMask = 2147483647;
588
546
  files = (
589
547
  FDB52FB31F6144FA00AA92E6 /* unix64_x86_64.S in Sources */,
590
- FDB52FB41F6144FA00AA92E6 /* sysv_i386.S in Sources */,
591
548
  FDB52FB51F6144FA00AA92E6 /* ffi64_x86_64.c in Sources */,
592
549
  FDB52FB61F6144FA00AA92E6 /* ffi_armv7.c in Sources */,
593
550
  FDB52FB71F6144FA00AA92E6 /* closures.c in Sources */,
594
551
  FDB52FB81F6144FA00AA92E6 /* sysv_armv7.S in Sources */,
595
552
  FDB52FB91F6144FA00AA92E6 /* ffiw64_x86_64.c in Sources */,
596
553
  FDB52FBA1F6144FA00AA92E6 /* prep_cif.c in Sources */,
597
- FDB52FBB1F6144FA00AA92E6 /* ffi_i386.c in Sources */,
598
554
  FDB52FBC1F6144FA00AA92E6 /* raw_api.c in Sources */,
599
555
  FDB52FBD1F6144FA00AA92E6 /* sysv_arm64.S in Sources */,
600
556
  FDB52FBE1F6144FA00AA92E6 /* types.c in Sources */,
@@ -608,9 +564,7 @@
608
564
  buildActionMask = 2147483647;
609
565
  files = (
610
566
  FDDB2F4A1F5D846400EF414E /* ffi64_x86_64.c in Sources */,
611
- FDDB2F4B1F5D846400EF414E /* sysv_i386.S in Sources */,
612
567
  FDDB2F4C1F5D846400EF414E /* prep_cif.c in Sources */,
613
- FDDB2F4D1F5D846400EF414E /* ffi_i386.c in Sources */,
614
568
  FDDB2F4E1F5D846400EF414E /* ffiw64_x86_64.c in Sources */,
615
569
  FDDB2F4F1F5D846400EF414E /* types.c in Sources */,
616
570
  FDDB2F501F5D846400EF414E /* raw_api.c in Sources */,
@@ -712,7 +666,7 @@
712
666
  PRODUCT_NAME = ffi;
713
667
  SDKROOT = iphoneos;
714
668
  SKIP_INSTALL = YES;
715
- VALID_ARCHS = "arm64 armv7 armv7s i386 x86_64";
669
+ VALID_ARCHS = "arm64 armv7 armv7s x86_64";
716
670
  };
717
671
  name = Debug;
718
672
  };
@@ -746,7 +700,7 @@
746
700
  SDKROOT = iphoneos;
747
701
  SKIP_INSTALL = YES;
748
702
  VALIDATE_PRODUCT = YES;
749
- VALID_ARCHS = "arm64 armv7 armv7s i386 x86_64";
703
+ VALID_ARCHS = "arm64 armv7 armv7s x86_64";
750
704
  };
751
705
  name = Release;
752
706
  };
@@ -31,7 +31,7 @@
31
31
 
32
32
  PROGRAM=libtool
33
33
  PACKAGE=libtool
34
- VERSION="2.4.6 Debian-2.4.6-2"
34
+ VERSION="2.4.6 Debian-2.4.6-11"
35
35
  package_revision=2.4.6
36
36
 
37
37
 
@@ -1370,7 +1370,7 @@ func_lt_ver ()
1370
1370
  #! /bin/sh
1371
1371
 
1372
1372
  # Set a version string for this script.
1373
- scriptversion=2014-01-07.03; # UTC
1373
+ scriptversion=2015-10-07.11; # UTC
1374
1374
 
1375
1375
  # A portable, pluggable option parser for Bourne shell.
1376
1376
  # Written by Gary V. Vaughan, 2010
@@ -1530,6 +1530,8 @@ func_run_hooks ()
1530
1530
  {
1531
1531
  $debug_cmd
1532
1532
 
1533
+ _G_rc_run_hooks=false
1534
+
1533
1535
  case " $hookable_fns " in
1534
1536
  *" $1 "*) ;;
1535
1537
  *) func_fatal_error "'$1' does not support hook funcions.n" ;;
@@ -1538,16 +1540,16 @@ func_run_hooks ()
1538
1540
  eval _G_hook_fns=\$$1_hooks; shift
1539
1541
 
1540
1542
  for _G_hook in $_G_hook_fns; do
1541
- eval $_G_hook '"$@"'
1542
-
1543
- # store returned options list back into positional
1544
- # parameters for next 'cmd' execution.
1545
- eval _G_hook_result=\$${_G_hook}_result
1546
- eval set dummy "$_G_hook_result"; shift
1543
+ if eval $_G_hook '"$@"'; then
1544
+ # store returned options list back into positional
1545
+ # parameters for next 'cmd' execution.
1546
+ eval _G_hook_result=\$${_G_hook}_result
1547
+ eval set dummy "$_G_hook_result"; shift
1548
+ _G_rc_run_hooks=:
1549
+ fi
1547
1550
  done
1548
1551
 
1549
- func_quote_for_eval ${1+"$@"}
1550
- func_run_hooks_result=$func_quote_for_eval_result
1552
+ $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
1551
1553
  }
1552
1554
 
1553
1555
 
@@ -1557,10 +1559,16 @@ func_run_hooks ()
1557
1559
  ## --------------- ##
1558
1560
 
1559
1561
  # In order to add your own option parsing hooks, you must accept the
1560
- # full positional parameter list in your hook function, remove any
1561
- # options that you action, and then pass back the remaining unprocessed
1562
+ # full positional parameter list in your hook function, you may remove/edit
1563
+ # any options that you action, and then pass back the remaining unprocessed
1562
1564
  # options in '<hooked_function_name>_result', escaped suitably for
1563
- # 'eval'. Like this:
1565
+ # 'eval'. In this case you also must return $EXIT_SUCCESS to let the
1566
+ # hook's caller know that it should pay attention to
1567
+ # '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
1568
+ # arguments are left untouched by the hook and therefore caller will ignore the
1569
+ # result variable.
1570
+ #
1571
+ # Like this:
1564
1572
  #
1565
1573
  # my_options_prep ()
1566
1574
  # {
@@ -1570,9 +1578,11 @@ func_run_hooks ()
1570
1578
  # usage_message=$usage_message'
1571
1579
  # -s, --silent don'\''t print informational messages
1572
1580
  # '
1573
- #
1574
- # func_quote_for_eval ${1+"$@"}
1575
- # my_options_prep_result=$func_quote_for_eval_result
1581
+ # # No change in '$@' (ignored completely by this hook). There is
1582
+ # # no need to do the equivalent (but slower) action:
1583
+ # # func_quote_for_eval ${1+"$@"}
1584
+ # # my_options_prep_result=$func_quote_for_eval_result
1585
+ # false
1576
1586
  # }
1577
1587
  # func_add_hook func_options_prep my_options_prep
1578
1588
  #
@@ -1581,25 +1591,37 @@ func_run_hooks ()
1581
1591
  # {
1582
1592
  # $debug_cmd
1583
1593
  #
1594
+ # args_changed=false
1595
+ #
1584
1596
  # # Note that for efficiency, we parse as many options as we can
1585
1597
  # # recognise in a loop before passing the remainder back to the
1586
1598
  # # caller on the first unrecognised argument we encounter.
1587
1599
  # while test $# -gt 0; do
1588
1600
  # opt=$1; shift
1589
1601
  # case $opt in
1590
- # --silent|-s) opt_silent=: ;;
1602
+ # --silent|-s) opt_silent=:
1603
+ # args_changed=:
1604
+ # ;;
1591
1605
  # # Separate non-argument short options:
1592
1606
  # -s*) func_split_short_opt "$_G_opt"
1593
1607
  # set dummy "$func_split_short_opt_name" \
1594
1608
  # "-$func_split_short_opt_arg" ${1+"$@"}
1595
1609
  # shift
1610
+ # args_changed=:
1596
1611
  # ;;
1597
- # *) set dummy "$_G_opt" "$*"; shift; break ;;
1612
+ # *) # Make sure the first unrecognised option "$_G_opt"
1613
+ # # is added back to "$@", we could need that later
1614
+ # # if $args_changed is true.
1615
+ # set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
1598
1616
  # esac
1599
1617
  # done
1600
1618
  #
1601
- # func_quote_for_eval ${1+"$@"}
1602
- # my_silent_option_result=$func_quote_for_eval_result
1619
+ # if $args_changed; then
1620
+ # func_quote_for_eval ${1+"$@"}
1621
+ # my_silent_option_result=$func_quote_for_eval_result
1622
+ # fi
1623
+ #
1624
+ # $args_changed
1603
1625
  # }
1604
1626
  # func_add_hook func_parse_options my_silent_option
1605
1627
  #
@@ -1611,16 +1633,32 @@ func_run_hooks ()
1611
1633
  # $opt_silent && $opt_verbose && func_fatal_help "\
1612
1634
  # '--silent' and '--verbose' options are mutually exclusive."
1613
1635
  #
1614
- # func_quote_for_eval ${1+"$@"}
1615
- # my_option_validation_result=$func_quote_for_eval_result
1636
+ # false
1616
1637
  # }
1617
1638
  # func_add_hook func_validate_options my_option_validation
1618
1639
  #
1619
- # You'll alse need to manually amend $usage_message to reflect the extra
1640
+ # You'll also need to manually amend $usage_message to reflect the extra
1620
1641
  # options you parse. It's preferable to append if you can, so that
1621
1642
  # multiple option parsing hooks can be added safely.
1622
1643
 
1623
1644
 
1645
+ # func_options_finish [ARG]...
1646
+ # ----------------------------
1647
+ # Finishing the option parse loop (call 'func_options' hooks ATM).
1648
+ func_options_finish ()
1649
+ {
1650
+ $debug_cmd
1651
+
1652
+ _G_func_options_finish_exit=false
1653
+ if func_run_hooks func_options ${1+"$@"}; then
1654
+ func_options_finish_result=$func_run_hooks_result
1655
+ _G_func_options_finish_exit=:
1656
+ fi
1657
+
1658
+ $_G_func_options_finish_exit
1659
+ }
1660
+
1661
+
1624
1662
  # func_options [ARG]...
1625
1663
  # ---------------------
1626
1664
  # All the functions called inside func_options are hookable. See the
@@ -1630,17 +1668,28 @@ func_options ()
1630
1668
  {
1631
1669
  $debug_cmd
1632
1670
 
1633
- func_options_prep ${1+"$@"}
1634
- eval func_parse_options \
1635
- ${func_options_prep_result+"$func_options_prep_result"}
1636
- eval func_validate_options \
1637
- ${func_parse_options_result+"$func_parse_options_result"}
1671
+ _G_rc_options=false
1638
1672
 
1639
- eval func_run_hooks func_options \
1640
- ${func_validate_options_result+"$func_validate_options_result"}
1673
+ for my_func in options_prep parse_options validate_options options_finish
1674
+ do
1675
+ if eval func_$my_func '${1+"$@"}'; then
1676
+ eval _G_res_var='$'"func_${my_func}_result"
1677
+ eval set dummy "$_G_res_var" ; shift
1678
+ _G_rc_options=:
1679
+ fi
1680
+ done
1681
+
1682
+ # Save modified positional parameters for caller. As a top-level
1683
+ # options-parser function we always need to set the 'func_options_result'
1684
+ # variable (regardless the $_G_rc_options value).
1685
+ if $_G_rc_options; then
1686
+ func_options_result=$_G_res_var
1687
+ else
1688
+ func_quote_for_eval ${1+"$@"}
1689
+ func_options_result=$func_quote_for_eval_result
1690
+ fi
1641
1691
 
1642
- # save modified positional parameters for caller
1643
- func_options_result=$func_run_hooks_result
1692
+ $_G_rc_options
1644
1693
  }
1645
1694
 
1646
1695
 
@@ -1649,9 +1698,9 @@ func_options ()
1649
1698
  # All initialisations required before starting the option parse loop.
1650
1699
  # Note that when calling hook functions, we pass through the list of
1651
1700
  # positional parameters. If a hook function modifies that list, and
1652
- # needs to propogate that back to rest of this script, then the complete
1701
+ # needs to propagate that back to rest of this script, then the complete
1653
1702
  # modified list must be put in 'func_run_hooks_result' before
1654
- # returning.
1703
+ # returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
1655
1704
  func_hookable func_options_prep
1656
1705
  func_options_prep ()
1657
1706
  {
@@ -1661,10 +1710,14 @@ func_options_prep ()
1661
1710
  opt_verbose=false
1662
1711
  opt_warning_types=
1663
1712
 
1664
- func_run_hooks func_options_prep ${1+"$@"}
1713
+ _G_rc_options_prep=false
1714
+ if func_run_hooks func_options_prep ${1+"$@"}; then
1715
+ _G_rc_options_prep=:
1716
+ # save modified positional parameters for caller
1717
+ func_options_prep_result=$func_run_hooks_result
1718
+ fi
1665
1719
 
1666
- # save modified positional parameters for caller
1667
- func_options_prep_result=$func_run_hooks_result
1720
+ $_G_rc_options_prep
1668
1721
  }
1669
1722
 
1670
1723
 
@@ -1678,18 +1731,20 @@ func_parse_options ()
1678
1731
 
1679
1732
  func_parse_options_result=
1680
1733
 
1734
+ _G_rc_parse_options=false
1681
1735
  # this just eases exit handling
1682
1736
  while test $# -gt 0; do
1683
1737
  # Defer to hook functions for initial option parsing, so they
1684
1738
  # get priority in the event of reusing an option name.
1685
- func_run_hooks func_parse_options ${1+"$@"}
1686
-
1687
- # Adjust func_parse_options positional parameters to match
1688
- eval set dummy "$func_run_hooks_result"; shift
1739
+ if func_run_hooks func_parse_options ${1+"$@"}; then
1740
+ eval set dummy "$func_run_hooks_result"; shift
1741
+ _G_rc_parse_options=:
1742
+ fi
1689
1743
 
1690
1744
  # Break out of the loop if we already parsed every option.
1691
1745
  test $# -gt 0 || break
1692
1746
 
1747
+ _G_match_parse_options=:
1693
1748
  _G_opt=$1
1694
1749
  shift
1695
1750
  case $_G_opt in
@@ -1704,7 +1759,10 @@ func_parse_options ()
1704
1759
  ;;
1705
1760
 
1706
1761
  --warnings|--warning|-W)
1707
- test $# = 0 && func_missing_arg $_G_opt && break
1762
+ if test $# = 0 && func_missing_arg $_G_opt; then
1763
+ _G_rc_parse_options=:
1764
+ break
1765
+ fi
1708
1766
  case " $warning_categories $1" in
1709
1767
  *" $1 "*)
1710
1768
  # trailing space prevents matching last $1 above
@@ -1757,15 +1815,25 @@ func_parse_options ()
1757
1815
  shift
1758
1816
  ;;
1759
1817
 
1760
- --) break ;;
1818
+ --) _G_rc_parse_options=: ; break ;;
1761
1819
  -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
1762
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
1820
+ *) set dummy "$_G_opt" ${1+"$@"}; shift
1821
+ _G_match_parse_options=false
1822
+ break
1823
+ ;;
1763
1824
  esac
1825
+
1826
+ $_G_match_parse_options && _G_rc_parse_options=:
1764
1827
  done
1765
1828
 
1766
- # save modified positional parameters for caller
1767
- func_quote_for_eval ${1+"$@"}
1768
- func_parse_options_result=$func_quote_for_eval_result
1829
+
1830
+ if $_G_rc_parse_options; then
1831
+ # save modified positional parameters for caller
1832
+ func_quote_for_eval ${1+"$@"}
1833
+ func_parse_options_result=$func_quote_for_eval_result
1834
+ fi
1835
+
1836
+ $_G_rc_parse_options
1769
1837
  }
1770
1838
 
1771
1839
 
@@ -1778,16 +1846,21 @@ func_validate_options ()
1778
1846
  {
1779
1847
  $debug_cmd
1780
1848
 
1849
+ _G_rc_validate_options=false
1850
+
1781
1851
  # Display all warnings if -W was not given.
1782
1852
  test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
1783
1853
 
1784
- func_run_hooks func_validate_options ${1+"$@"}
1854
+ if func_run_hooks func_validate_options ${1+"$@"}; then
1855
+ # save modified positional parameters for caller
1856
+ func_validate_options_result=$func_run_hooks_result
1857
+ _G_rc_validate_options=:
1858
+ fi
1785
1859
 
1786
1860
  # Bail if the options were screwed!
1787
1861
  $exit_cmd $EXIT_FAILURE
1788
1862
 
1789
- # save modified positional parameters for caller
1790
- func_validate_options_result=$func_run_hooks_result
1863
+ $_G_rc_validate_options
1791
1864
  }
1792
1865
 
1793
1866
 
@@ -2068,7 +2141,7 @@ include the following information:
2068
2141
  compiler: $LTCC
2069
2142
  compiler flags: $LTCFLAGS
2070
2143
  linker: $LD (gnu? $with_gnu_ld)
2071
- version: $progname $scriptversion Debian-2.4.6-2
2144
+ version: $progname $scriptversion Debian-2.4.6-11
2072
2145
  automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
2073
2146
  autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
2074
2147
 
@@ -2270,6 +2343,8 @@ libtool_options_prep ()
2270
2343
  nonopt=
2271
2344
  preserve_args=
2272
2345
 
2346
+ _G_rc_lt_options_prep=:
2347
+
2273
2348
  # Shorthand for --mode=foo, only valid as the first argument
2274
2349
  case $1 in
2275
2350
  clean|clea|cle|cl)
@@ -2293,11 +2368,18 @@ libtool_options_prep ()
2293
2368
  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
2294
2369
  shift; set dummy --mode uninstall ${1+"$@"}; shift
2295
2370
  ;;
2371
+ *)
2372
+ _G_rc_lt_options_prep=false
2373
+ ;;
2296
2374
  esac
2297
2375
 
2298
- # Pass back the list of options.
2299
- func_quote_for_eval ${1+"$@"}
2300
- libtool_options_prep_result=$func_quote_for_eval_result
2376
+ if $_G_rc_lt_options_prep; then
2377
+ # Pass back the list of options.
2378
+ func_quote_for_eval ${1+"$@"}
2379
+ libtool_options_prep_result=$func_quote_for_eval_result
2380
+ fi
2381
+
2382
+ $_G_rc_lt_options_prep
2301
2383
  }
2302
2384
  func_add_hook func_options_prep libtool_options_prep
2303
2385
 
@@ -2309,9 +2391,12 @@ libtool_parse_options ()
2309
2391
  {
2310
2392
  $debug_cmd
2311
2393
 
2394
+ _G_rc_lt_parse_options=false
2395
+
2312
2396
  # Perform our own loop to consume as many options as possible in
2313
2397
  # each iteration.
2314
2398
  while test $# -gt 0; do
2399
+ _G_match_lt_parse_options=:
2315
2400
  _G_opt=$1
2316
2401
  shift
2317
2402
  case $_G_opt in
@@ -2386,15 +2471,22 @@ libtool_parse_options ()
2386
2471
  func_append preserve_args " $_G_opt"
2387
2472
  ;;
2388
2473
 
2389
- # An option not handled by this hook function:
2390
- *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
2474
+ # An option not handled by this hook function:
2475
+ *) set dummy "$_G_opt" ${1+"$@"} ; shift
2476
+ _G_match_lt_parse_options=false
2477
+ break
2478
+ ;;
2391
2479
  esac
2480
+ $_G_match_lt_parse_options && _G_rc_lt_parse_options=:
2392
2481
  done
2393
2482
 
2483
+ if $_G_rc_lt_parse_options; then
2484
+ # save modified positional parameters for caller
2485
+ func_quote_for_eval ${1+"$@"}
2486
+ libtool_parse_options_result=$func_quote_for_eval_result
2487
+ fi
2394
2488
 
2395
- # save modified positional parameters for caller
2396
- func_quote_for_eval ${1+"$@"}
2397
- libtool_parse_options_result=$func_quote_for_eval_result
2489
+ $_G_rc_lt_parse_options
2398
2490
  }
2399
2491
  func_add_hook func_parse_options libtool_parse_options
2400
2492
 
@@ -7275,10 +7367,11 @@ func_mode_link ()
7275
7367
  # -specs=* GCC specs files
7276
7368
  # -stdlib=* select c++ std lib with clang
7277
7369
  # -fsanitize=* Clang/GCC memory and address sanitizer
7370
+ # -fuse-ld=* Linker select flags for GCC
7278
7371
  -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
7279
7372
  -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
7280
7373
  -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
7281
- -specs=*|-fsanitize=*)
7374
+ -specs=*|-fsanitize=*|-fuse-ld=*)
7282
7375
  func_quote_for_eval "$arg"
7283
7376
  arg=$func_quote_for_eval_result
7284
7377
  func_append compile_command " $arg"
@@ -2,7 +2,7 @@ AC_DEFUN([GCC_AS_CFI_PSEUDO_OP],
2
2
  [AC_CACHE_CHECK([assembler .cfi pseudo-op support],
3
3
  gcc_cv_as_cfi_pseudo_op, [
4
4
  gcc_cv_as_cfi_pseudo_op=unknown
5
- AC_TRY_COMPILE([asm (".cfi_startproc\n\t.cfi_endproc");],,
5
+ AC_TRY_COMPILE([asm (".cfi_sections\n\t.cfi_startproc\n\t.cfi_endproc");],,
6
6
  [gcc_cv_as_cfi_pseudo_op=yes],
7
7
  [gcc_cv_as_cfi_pseudo_op=no])
8
8
  ])