cybrid_api_id_ruby 0.117.27 → 0.117.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (706) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +5 -5
  4. data/cybrid_api_id_ruby.gemspec +1 -1
  5. data/lib/cybrid_api_id_ruby/api/bank_applications_idp_api.rb +1 -1
  6. data/lib/cybrid_api_id_ruby/api/customer_tokens_idp_api.rb +1 -1
  7. data/lib/cybrid_api_id_ruby/api/organization_applications_idp_api.rb +1 -1
  8. data/lib/cybrid_api_id_ruby/api/users_idp_api.rb +1 -1
  9. data/lib/cybrid_api_id_ruby/api_client.rb +1 -1
  10. data/lib/cybrid_api_id_ruby/api_error.rb +1 -1
  11. data/lib/cybrid_api_id_ruby/configuration.rb +1 -1
  12. data/lib/cybrid_api_id_ruby/models/application_idp_model.rb +1 -1
  13. data/lib/cybrid_api_id_ruby/models/application_list_idp_model.rb +1 -1
  14. data/lib/cybrid_api_id_ruby/models/application_with_secret_all_of_idp_model.rb +1 -1
  15. data/lib/cybrid_api_id_ruby/models/application_with_secret_idp_model.rb +1 -1
  16. data/lib/cybrid_api_id_ruby/models/customer_token_idp_model.rb +1 -1
  17. data/lib/cybrid_api_id_ruby/models/error_response_idp_model.rb +1 -1
  18. data/lib/cybrid_api_id_ruby/models/post_bank_application_idp_model.rb +1 -1
  19. data/lib/cybrid_api_id_ruby/models/post_customer_token_idp_model.rb +1 -1
  20. data/lib/cybrid_api_id_ruby/models/post_organization_application_idp_model.rb +1 -1
  21. data/lib/cybrid_api_id_ruby/models/post_user_idp_model.rb +1 -1
  22. data/lib/cybrid_api_id_ruby/models/user_idp_model.rb +1 -1
  23. data/lib/cybrid_api_id_ruby/models/user_list_idp_model.rb +1 -1
  24. data/lib/cybrid_api_id_ruby/version.rb +2 -2
  25. data/lib/cybrid_api_id_ruby.rb +1 -1
  26. data/spec/api/bank_applications_idp_api_spec.rb +1 -1
  27. data/spec/api/customer_tokens_idp_api_spec.rb +1 -1
  28. data/spec/api/organization_applications_idp_api_spec.rb +1 -1
  29. data/spec/api/users_idp_api_spec.rb +1 -1
  30. data/spec/api_client_spec.rb +1 -1
  31. data/spec/configuration_spec.rb +1 -1
  32. data/spec/models/application_idp_model_spec.rb +1 -1
  33. data/spec/models/application_list_idp_model_spec.rb +1 -1
  34. data/spec/models/application_with_secret_all_of_idp_model_spec.rb +1 -1
  35. data/spec/models/application_with_secret_idp_model_spec.rb +1 -1
  36. data/spec/models/customer_token_idp_model_spec.rb +1 -1
  37. data/spec/models/error_response_idp_model_spec.rb +1 -1
  38. data/spec/models/post_bank_application_idp_model_spec.rb +1 -1
  39. data/spec/models/post_customer_token_idp_model_spec.rb +1 -1
  40. data/spec/models/post_organization_application_idp_model_spec.rb +1 -1
  41. data/spec/models/post_user_idp_model_spec.rb +1 -1
  42. data/spec/models/user_idp_model_spec.rb +1 -1
  43. data/spec/models/user_list_idp_model_spec.rb +1 -1
  44. data/spec/spec_helper.rb +1 -1
  45. data/vendor/bundle/ruby/3.2.0/cache/ffi-1.17.0-x86_64-linux-gnu.gem +0 -0
  46. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-11.1.3/gem_make.out +5 -5
  47. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  48. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.1.2/gem_make.out +5 -5
  49. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.0/gem_make.out +5 -5
  50. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.1.0/gem_make.out +5 -5
  51. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/CHANGELOG.md +42 -0
  52. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/Gemfile +9 -2
  53. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/README.md +1 -1
  54. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/Rakefile +17 -5
  55. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/2.5/ffi_c.so +0 -0
  56. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/2.6/ffi_c.so +0 -0
  57. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/2.7/ffi_c.so +0 -0
  58. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.0/ffi_c.so +0 -0
  59. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.1/ffi_c.so +0 -0
  60. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.2/ffi_c.so +0 -0
  61. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.3/ffi_c.so +0 -0
  62. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/autopointer.rb +1 -9
  63. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/dynamic_library.rb +34 -5
  64. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/enum.rb +0 -1
  65. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/function.rb +1 -1
  66. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/io.rb +2 -2
  67. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/library.rb +23 -23
  68. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/ffi/platform/aarch64-linux/types.conf +175 -0
  69. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/pointer.rb +6 -6
  70. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/struct.rb +4 -4
  71. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/struct_layout.rb +2 -2
  72. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/struct_layout_builder.rb +8 -8
  73. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/types.rb +51 -49
  74. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/ffi/version.rb +3 -0
  75. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/abstract_memory.rbs +165 -0
  76. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/auto_pointer.rbs +27 -0
  77. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/buffer.rbs +18 -0
  78. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/data_converter.rbs +10 -0
  79. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/dynamic_library.rbs +9 -0
  80. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/enum.rbs +38 -0
  81. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs +39 -0
  82. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/library.rbs +42 -0
  83. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/native_type.rbs +86 -0
  84. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/pointer.rbs +42 -0
  85. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct.rbs +76 -0
  86. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_by_reference.rbs +11 -0
  87. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_by_value.rbs +7 -0
  88. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_layout.rbs +9 -0
  89. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_layout_builder.rbs +5 -0
  90. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/type.rbs +39 -0
  91. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi.rbs +26 -0
  92. data/vendor/bundle/ruby/3.2.0/specifications/ffi-1.17.0-x86_64-linux-gnu.gemspec +31 -0
  93. metadata +136 -630
  94. data/vendor/bundle/ruby/3.2.0/cache/ffi-1.16.3.gem +0 -0
  95. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/ffi_c.so +0 -0
  96. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/gem.build_complete +0 -0
  97. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/gem_make.out +0 -55
  98. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/mkmf.log +0 -268
  99. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.c +0 -1128
  100. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.h +0 -176
  101. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.c +0 -198
  102. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.h +0 -60
  103. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.c +0 -417
  104. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Call.c +0 -498
  105. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Call.h +0 -107
  106. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.c +0 -333
  107. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.h +0 -59
  108. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.c +0 -397
  109. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.h +0 -98
  110. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Function.c +0 -1063
  111. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Function.h +0 -84
  112. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.c +0 -322
  113. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LastError.c +0 -243
  114. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LastError.h +0 -47
  115. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.c +0 -65
  116. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.h +0 -47
  117. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Makefile +0 -269
  118. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.c +0 -211
  119. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.h +0 -57
  120. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.c +0 -219
  121. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.h +0 -49
  122. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.c +0 -350
  123. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.h +0 -56
  124. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Platform.c +0 -78
  125. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Platform.h +0 -45
  126. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.c +0 -546
  127. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.h +0 -60
  128. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Struct.c +0 -897
  129. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Struct.h +0 -115
  130. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.c +0 -177
  131. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.h +0 -55
  132. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.c +0 -769
  133. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Thread.c +0 -129
  134. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Thread.h +0 -76
  135. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Type.c +0 -447
  136. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Type.h +0 -63
  137. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Types.c +0 -138
  138. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Types.h +0 -88
  139. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.c +0 -345
  140. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/compat.h +0 -82
  141. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/extconf.h +0 -8
  142. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/extconf.rb +0 -115
  143. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ffi.c +0 -97
  144. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/site.exp +0 -16
  145. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/unix-noexec.exp +0 -7
  146. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor.yml +0 -84
  147. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/ar-lib +0 -270
  148. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/bfin-sim.exp +0 -58
  149. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/build-cross-in-container.sh +0 -18
  150. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/build-in-container.sh +0 -10
  151. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/build.sh +0 -124
  152. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/compile +0 -351
  153. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/install.sh +0 -78
  154. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/m32r-sim.exp +0 -58
  155. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/moxie-sim.exp +0 -60
  156. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/msvs-detect +0 -1103
  157. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/or1k-sim.exp +0 -58
  158. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/powerpc-eabisim.exp +0 -58
  159. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/site.exp +0 -29
  160. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/wine-sim.exp +0 -55
  161. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.circleci/config.yml +0 -156
  162. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.gitattributes +0 -4
  163. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/issue_template.md +0 -10
  164. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/build.yml +0 -460
  165. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/emscripten.yml +0 -171
  166. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.gitignore +0 -46
  167. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/ChangeLog.old +0 -7407
  168. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE +0 -21
  169. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +0 -353
  170. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/Makefile.am +0 -157
  171. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/Makefile.in +0 -2127
  172. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/README.md +0 -526
  173. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/acinclude.m4 +0 -377
  174. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/autogen.sh +0 -2
  175. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/compile +0 -348
  176. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.guess +0 -1754
  177. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.sub +0 -1892
  178. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure +0 -22791
  179. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.ac +0 -451
  180. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.host +0 -337
  181. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/Makefile.am +0 -3
  182. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/Makefile.in +0 -818
  183. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/libffi.texi +0 -1046
  184. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/version.texi +0 -4
  185. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/fficonfig.h.in +0 -188
  186. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +0 -312
  187. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/Makefile.am +0 -9
  188. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/Makefile.in +0 -609
  189. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi.h.in +0 -527
  190. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_cfi.h +0 -76
  191. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_common.h +0 -182
  192. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/tramp.h +0 -45
  193. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh +0 -541
  194. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.map.in +0 -76
  195. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.pc.in +0 -11
  196. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +0 -997
  197. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-ldflags +0 -106
  198. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-version +0 -29
  199. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/ltmain.sh +0 -11448
  200. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/asmcfi.m4 +0 -13
  201. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_append_flag.m4 +0 -50
  202. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +0 -198
  203. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +0 -158
  204. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +0 -53
  205. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +0 -119
  206. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_configure_args.m4 +0 -49
  207. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +0 -302
  208. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +0 -267
  209. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +0 -89
  210. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 +0 -51
  211. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_require_defined.m4 +0 -37
  212. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/make_sunver.pl +0 -333
  213. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/Makefile.am +0 -8
  214. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/Makefile.in +0 -565
  215. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi.3 +0 -41
  216. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_call.3 +0 -103
  217. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif.3 +0 -68
  218. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +0 -73
  219. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing +0 -215
  220. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +0 -33
  221. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +0 -130
  222. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.filters +0 -57
  223. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj.user +0 -4
  224. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/ffi.h +0 -511
  225. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/aarch64_include/fficonfig.h +0 -219
  226. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvcc.sh +0 -353
  227. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffi.c +0 -1129
  228. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffitarget.h +0 -97
  229. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/internal.h +0 -100
  230. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/sysv.S +0 -543
  231. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +0 -506
  232. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffi.c +0 -521
  233. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffitarget.h +0 -57
  234. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/internal.h +0 -23
  235. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/osf.S +0 -282
  236. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/arcompact.S +0 -210
  237. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffi.c +0 -443
  238. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffitarget.h +0 -67
  239. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffi.c +0 -921
  240. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffitarget.h +0 -89
  241. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/internal.h +0 -17
  242. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv.S +0 -456
  243. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +0 -311
  244. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffi.c +0 -423
  245. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffitarget.h +0 -55
  246. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/sysv.S +0 -208
  247. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffi.c +0 -196
  248. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffitarget.h +0 -43
  249. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/sysv.S +0 -179
  250. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/closures.c +0 -1107
  251. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffi.c +0 -386
  252. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffitarget.h +0 -56
  253. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/sysv.S +0 -215
  254. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffi.c +0 -395
  255. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffitarget.h +0 -63
  256. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/sysv.S +0 -371
  257. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/debug.c +0 -64
  258. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/dlmalloc.c +0 -5171
  259. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/eabi.S +0 -128
  260. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffi.c +0 -292
  261. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffitarget.h +0 -62
  262. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffi.c +0 -616
  263. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffitarget.h +0 -56
  264. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ia64_flags.h +0 -40
  265. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/unix.S +0 -585
  266. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c +0 -374
  267. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/asm.h +0 -5
  268. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffi.c +0 -273
  269. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffitarget.h +0 -75
  270. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/sysv.S +0 -127
  271. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffi.c +0 -621
  272. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffitarget.h +0 -82
  273. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/sysv.S +0 -327
  274. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffi.c +0 -249
  275. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffitarget.h +0 -53
  276. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/sysv.S +0 -121
  277. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffi.c +0 -362
  278. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffitarget.h +0 -54
  279. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/sysv.S +0 -357
  280. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffi.c +0 -400
  281. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffitarget.h +0 -49
  282. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/obsd.S +0 -209
  283. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffi.c +0 -330
  284. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffitarget.h +0 -53
  285. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/sysv.S +0 -311
  286. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffi.c +0 -321
  287. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffitarget.h +0 -53
  288. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/sysv.S +0 -302
  289. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffi.c +0 -1309
  290. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffitarget.h +0 -251
  291. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/n32.S +0 -772
  292. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/o32.S +0 -561
  293. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/eabi.S +0 -101
  294. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffi.c +0 -310
  295. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffitarget.h +0 -52
  296. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffi.c +0 -304
  297. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffitarget.h +0 -52
  298. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/sysv.S +0 -136
  299. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffi.c +0 -341
  300. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffitarget.h +0 -58
  301. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/sysv.S +0 -107
  302. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi.c +0 -673
  303. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi64.c +0 -614
  304. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffitarget.h +0 -94
  305. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux32.S +0 -417
  306. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux64.S +0 -681
  307. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/linux.S +0 -427
  308. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix.S +0 -566
  309. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix_closure.S +0 -694
  310. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/asm.h +0 -125
  311. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin.S +0 -378
  312. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +0 -571
  313. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi.c +0 -175
  314. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +0 -1452
  315. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +0 -1153
  316. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +0 -105
  317. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +0 -923
  318. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffitarget.h +0 -204
  319. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64.S +0 -293
  320. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +0 -566
  321. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +0 -397
  322. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/sysv.S +0 -173
  323. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/t-aix +0 -5
  324. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/prep_cif.c +0 -283
  325. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/raw_api.c +0 -267
  326. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffi.c +0 -514
  327. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffitarget.h +0 -69
  328. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/sysv.S +0 -293
  329. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffi.c +0 -756
  330. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffitarget.h +0 -70
  331. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/internal.h +0 -11
  332. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/sysv.S +0 -325
  333. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffi.c +0 -717
  334. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffitarget.h +0 -54
  335. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/sysv.S +0 -850
  336. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffi.c +0 -469
  337. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffitarget.h +0 -58
  338. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/sysv.S +0 -539
  339. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi.c +0 -468
  340. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi64.c +0 -624
  341. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffitarget.h +0 -81
  342. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/internal.h +0 -26
  343. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v8.S +0 -443
  344. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v9.S +0 -440
  345. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffi.c +0 -355
  346. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffitarget.h +0 -65
  347. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/tile.S +0 -360
  348. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tramp.c +0 -716
  349. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/types.c +0 -108
  350. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/elfbsd.S +0 -195
  351. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffi.c +0 -276
  352. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffitarget.h +0 -49
  353. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffi.c +0 -934
  354. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffitarget.h +0 -62
  355. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/asmnames.h +0 -30
  356. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi.c +0 -832
  357. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi64.c +0 -950
  358. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -164
  359. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffiw64.c +0 -361
  360. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal.h +0 -43
  361. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal64.h +0 -36
  362. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv.S +0 -1272
  363. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv_intel.S +0 -998
  364. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/unix64.S +0 -711
  365. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64.S +0 -254
  366. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64_intel.S +0 -238
  367. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffi.c +0 -306
  368. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffitarget.h +0 -57
  369. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/sysv.S +0 -268
  370. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/stamp-h.in +0 -1
  371. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/Makefile.am +0 -135
  372. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/Makefile.in +0 -664
  373. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/config/default.exp +0 -1
  374. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +0 -54
  375. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build.sh +0 -63
  376. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/conftest.py +0 -80
  377. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +0 -48
  378. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test.html +0 -7
  379. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py +0 -51
  380. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/lib/libffi.exp +0 -682
  381. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +0 -283
  382. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +0 -45
  383. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +0 -28
  384. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +0 -78
  385. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +0 -50
  386. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +0 -63
  387. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +0 -1746
  388. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +0 -2885
  389. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +0 -747
  390. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +0 -46
  391. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +0 -46
  392. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c +0 -41
  393. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +0 -54
  394. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/err_bad_typedef.c +0 -26
  395. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +0 -163
  396. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float.c +0 -59
  397. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +0 -60
  398. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +0 -61
  399. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +0 -74
  400. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +0 -62
  401. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +0 -110
  402. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many.c +0 -59
  403. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +0 -57
  404. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +0 -70
  405. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +0 -78
  406. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -52
  407. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +0 -46
  408. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +0 -127
  409. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +0 -59
  410. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc_tc.c +0 -114
  411. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +0 -36
  412. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +0 -43
  413. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +0 -42
  414. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +0 -35
  415. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +0 -36
  416. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +0 -49
  417. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +0 -42
  418. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +0 -34
  419. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +0 -41
  420. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +0 -48
  421. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +0 -36
  422. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +0 -42
  423. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +0 -38
  424. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +0 -42
  425. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/s55.c +0 -60
  426. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +0 -43
  427. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +0 -49
  428. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +0 -49
  429. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +0 -55
  430. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +0 -67
  431. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +0 -57
  432. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +0 -67
  433. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +0 -60
  434. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +0 -64
  435. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +0 -66
  436. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +0 -64
  437. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +0 -74
  438. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +0 -81
  439. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +0 -68
  440. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_2.c +0 -63
  441. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3.c +0 -65
  442. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_3f.c +0 -65
  443. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4.c +0 -67
  444. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_4f.c +0 -67
  445. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_big.c +0 -93
  446. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_by_value_small.c +0 -61
  447. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_2H.c +0 -63
  448. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct_return_8H.c +0 -90
  449. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +0 -61
  450. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +0 -78
  451. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c +0 -220
  452. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c +0 -154
  453. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +0 -134
  454. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +0 -134
  455. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +0 -140
  456. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +0 -67
  457. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c +0 -90
  458. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c +0 -83
  459. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c +0 -83
  460. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c +0 -102
  461. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c +0 -91
  462. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c +0 -94
  463. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c +0 -92
  464. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_loc_fn0.c +0 -96
  465. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c +0 -61
  466. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c +0 -112
  467. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c +0 -117
  468. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c +0 -120
  469. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c +0 -131
  470. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_1_1byte.c +0 -93
  471. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c +0 -109
  472. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c +0 -113
  473. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c +0 -145
  474. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c +0 -103
  475. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3_1byte.c +0 -114
  476. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c +0 -103
  477. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c +0 -103
  478. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c +0 -113
  479. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4_1byte.c +0 -120
  480. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c +0 -103
  481. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5_1_byte.c +0 -137
  482. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c +0 -116
  483. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c +0 -148
  484. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6_1_byte.c +0 -140
  485. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c +0 -121
  486. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7_1_byte.c +0 -155
  487. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c +0 -121
  488. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c +0 -102
  489. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c +0 -103
  490. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c +0 -103
  491. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_double.c +0 -111
  492. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_float.c +0 -109
  493. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble.c +0 -111
  494. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split.c +0 -147
  495. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_longdouble_split2.c +0 -152
  496. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_pointer.c +0 -113
  497. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint16.c +0 -108
  498. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint32.c +0 -106
  499. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_sint64.c +0 -109
  500. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint16.c +0 -108
  501. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint32.c +0 -109
  502. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_align_uint64.c +0 -111
  503. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c +0 -68
  504. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double.c +0 -43
  505. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double_va.c +0 -69
  506. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c +0 -46
  507. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c +0 -115
  508. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble_va.c +0 -80
  509. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_args.c +0 -70
  510. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_many_mixed_float_double.c +0 -55
  511. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_schar.c +0 -78
  512. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshort.c +0 -79
  513. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c +0 -94
  514. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_uchar.c +0 -99
  515. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushort.c +0 -78
  516. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c +0 -94
  517. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c +0 -79
  518. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer_stack.c +0 -152
  519. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c +0 -47
  520. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c +0 -44
  521. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c +0 -45
  522. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_struct_va1.c +0 -125
  523. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c +0 -45
  524. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c +0 -47
  525. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint_va.c +0 -49
  526. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulong_va.c +0 -49
  527. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c +0 -49
  528. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c +0 -46
  529. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/err_bad_abi.c +0 -36
  530. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +0 -1
  531. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +0 -343
  532. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c +0 -175
  533. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c +0 -161
  534. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c +0 -146
  535. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c +0 -137
  536. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c +0 -86
  537. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c +0 -115
  538. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c +0 -119
  539. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c +0 -120
  540. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c +0 -120
  541. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c +0 -121
  542. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c +0 -142
  543. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c +0 -120
  544. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c +0 -142
  545. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c +0 -142
  546. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/problem1.c +0 -90
  547. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs1.c +0 -86
  548. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs2.c +0 -102
  549. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/single_entry_structs3.c +0 -101
  550. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large.c +0 -145
  551. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large2.c +0 -148
  552. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c +0 -124
  553. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c +0 -125
  554. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c +0 -75
  555. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +0 -118
  556. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc +0 -55
  557. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex.inc +0 -91
  558. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_double.c +0 -10
  559. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_float.c +0 -10
  560. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_align_complex_longdouble.c +0 -10
  561. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +0 -42
  562. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_double.c +0 -10
  563. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_float.c +0 -10
  564. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_longdouble.c +0 -10
  565. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct.inc +0 -71
  566. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_double.c +0 -10
  567. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_float.c +0 -10
  568. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_struct_longdouble.c +0 -10
  569. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va.inc +0 -80
  570. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_double.c +0 -10
  571. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_float.c +0 -16
  572. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex_va_longdouble.c +0 -10
  573. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +0 -36
  574. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +0 -51
  575. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_double.inc +0 -7
  576. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_float.inc +0 -7
  577. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_defs_longdouble.inc +0 -7
  578. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +0 -10
  579. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +0 -10
  580. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +0 -86
  581. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +0 -10
  582. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +0 -1
  583. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +0 -78
  584. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_double.c +0 -10
  585. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_float.c +0 -10
  586. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex_longdouble.c +0 -10
  587. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +0 -37
  588. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +0 -41
  589. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_double.c +0 -10
  590. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_float.c +0 -10
  591. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1_longdouble.c +0 -10
  592. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +0 -44
  593. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_double.c +0 -10
  594. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_float.c +0 -10
  595. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2_longdouble.c +0 -10
  596. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_double.c +0 -10
  597. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_float.c +0 -10
  598. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex_longdouble.c +0 -10
  599. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +0 -34
  600. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +0 -28
  601. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +0 -1
  602. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +0 -36
  603. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +0 -19
  604. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.bsd.mk +0 -40
  605. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.darwin.mk +0 -105
  606. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.gnu.mk +0 -32
  607. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.mk +0 -18
  608. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc.mk +0 -26
  609. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc64.mk +0 -26
  610. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/rbffi.h +0 -55
  611. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/rbffi_endian.h +0 -59
  612. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/platform/aarch64-linux/types.conf +0 -104
  613. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/version.rb +0 -3
  614. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi_c.so +0 -0
  615. data/vendor/bundle/ruby/3.2.0/specifications/ffi-1.16.3.gemspec +0 -34
  616. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/COPYING +0 -0
  617. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/LICENSE +0 -0
  618. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/LICENSE.SPECS +0 -0
  619. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/ffi.gemspec +0 -0
  620. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/abstract_memory.rb +0 -0
  621. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/buffer.rb +0 -0
  622. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/callback.rb +0 -0
  623. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/compat.rb +0 -0
  624. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/data_converter.rb +0 -0
  625. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/errno.rb +0 -0
  626. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/ffi.rb +0 -0
  627. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/library_path.rb +0 -0
  628. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/managedstruct.rb +0 -0
  629. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/memorypointer.rb +0 -0
  630. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/aarch64-darwin/types.conf +0 -0
  631. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/aarch64-freebsd/types.conf +0 -0
  632. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/aarch64-freebsd12/types.conf +0 -0
  633. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/aarch64-openbsd/types.conf +0 -0
  634. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/aarch64-windows/types.conf +0 -0
  635. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/arm-freebsd/types.conf +0 -0
  636. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/arm-freebsd12/types.conf +0 -0
  637. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/arm-linux/types.conf +0 -0
  638. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/hppa1.1-linux/types.conf +0 -0
  639. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/hppa2.0-linux/types.conf +0 -0
  640. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-cygwin/types.conf +0 -0
  641. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-darwin/types.conf +0 -0
  642. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-freebsd/types.conf +0 -0
  643. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-freebsd12/types.conf +0 -0
  644. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-gnu/types.conf +0 -0
  645. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-linux/types.conf +0 -0
  646. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-netbsd/types.conf +0 -0
  647. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-openbsd/types.conf +0 -0
  648. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-solaris/types.conf +0 -0
  649. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/i386-windows/types.conf +0 -0
  650. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/ia64-linux/types.conf +0 -0
  651. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/loongarch64-linux/types.conf +0 -0
  652. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mips-linux/types.conf +0 -0
  653. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mips64-linux/types.conf +0 -0
  654. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mips64el-linux/types.conf +0 -0
  655. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mipsel-linux/types.conf +0 -0
  656. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mipsisa32r6-linux/types.conf +0 -0
  657. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mipsisa32r6el-linux/types.conf +0 -0
  658. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mipsisa64r6-linux/types.conf +0 -0
  659. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/mipsisa64r6el-linux/types.conf +0 -0
  660. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/powerpc-aix/types.conf +0 -0
  661. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/powerpc-darwin/types.conf +0 -0
  662. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/powerpc-linux/types.conf +0 -0
  663. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/powerpc-openbsd/types.conf +0 -0
  664. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/powerpc64-linux/types.conf +0 -0
  665. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/powerpc64le-linux/types.conf +0 -0
  666. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/riscv64-linux/types.conf +0 -0
  667. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/s390-linux/types.conf +0 -0
  668. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/s390x-linux/types.conf +0 -0
  669. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/sparc-linux/types.conf +0 -0
  670. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/sparc-solaris/types.conf +0 -0
  671. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/sparcv9-linux/types.conf +0 -0
  672. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/sparcv9-openbsd/types.conf +0 -0
  673. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/sparcv9-solaris/types.conf +0 -0
  674. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/sw_64-linux/types.conf +0 -0
  675. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-cygwin/types.conf +0 -0
  676. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-darwin/types.conf +0 -0
  677. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-dragonflybsd/types.conf +0 -0
  678. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-freebsd/types.conf +0 -0
  679. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-freebsd12/types.conf +0 -0
  680. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-haiku/types.conf +0 -0
  681. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-linux/types.conf +0 -0
  682. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-msys/types.conf +0 -0
  683. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-netbsd/types.conf +0 -0
  684. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-openbsd/types.conf +0 -0
  685. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-solaris/types.conf +0 -0
  686. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform/x86_64-windows/types.conf +0 -0
  687. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/platform.rb +0 -0
  688. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/struct_by_reference.rb +0 -0
  689. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/tools/const_generator.rb +0 -0
  690. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/tools/generator.rb +0 -0
  691. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/tools/generator_task.rb +0 -0
  692. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/tools/struct_generator.rb +0 -0
  693. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/tools/types_generator.rb +0 -0
  694. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/union.rb +0 -0
  695. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi/variadic.rb +0 -0
  696. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/lib/ffi.rb +0 -0
  697. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/rakelib/ffi_gem_helper.rb +0 -0
  698. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/getlogin.rb +0 -0
  699. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/getpid.rb +0 -0
  700. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/gettimeofday.rb +0 -0
  701. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/hello.rb +0 -0
  702. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/hello_ractor.rb +0 -0
  703. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/inotify.rb +0 -0
  704. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/pty.rb +0 -0
  705. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/qsort.rb +0 -0
  706. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/samples/qsort_ractor.rb +0 -0
@@ -1,1452 +0,0 @@
1
- /* -----------------------------------------------------------------------
2
- ffi_darwin.c
3
-
4
- Copyright (C) 1998 Geoffrey Keating
5
- Copyright (C) 2001 John Hornkvist
6
- Copyright (C) 2002, 2006, 2007, 2009, 2010 Free Software Foundation, Inc.
7
-
8
- FFI support for Darwin and AIX.
9
-
10
- Permission is hereby granted, free of charge, to any person obtaining
11
- a copy of this software and associated documentation files (the
12
- ``Software''), to deal in the Software without restriction, including
13
- without limitation the rights to use, copy, modify, merge, publish,
14
- distribute, sublicense, and/or sell copies of the Software, and to
15
- permit persons to whom the Software is furnished to do so, subject to
16
- the following conditions:
17
-
18
- The above copyright notice and this permission notice shall be included
19
- in all copies or substantial portions of the Software.
20
-
21
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS
22
- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24
- IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR
25
- OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26
- ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27
- OTHER DEALINGS IN THE SOFTWARE.
28
- ----------------------------------------------------------------------- */
29
-
30
- #include <ffi.h>
31
- #include <ffi_common.h>
32
-
33
- #include <stdlib.h>
34
-
35
- extern void ffi_closure_ASM (void);
36
-
37
- #if defined (FFI_GO_CLOSURES)
38
- extern void ffi_go_closure_ASM (void);
39
- #endif
40
-
41
- enum {
42
- /* The assembly depends on these exact flags.
43
- For Darwin64 (when FLAG_RETURNS_STRUCT is set):
44
- FLAG_RETURNS_FP indicates that the structure embeds FP data.
45
- FLAG_RETURNS_128BITS signals a special struct size that is not
46
- expanded for float content. */
47
- FLAG_RETURNS_128BITS = 1 << (31-31), /* These go in cr7 */
48
- FLAG_RETURNS_NOTHING = 1 << (31-30),
49
- FLAG_RETURNS_FP = 1 << (31-29),
50
- FLAG_RETURNS_64BITS = 1 << (31-28),
51
-
52
- FLAG_RETURNS_STRUCT = 1 << (31-27), /* This goes in cr6 */
53
-
54
- FLAG_ARG_NEEDS_COPY = 1 << (31- 7),
55
- FLAG_FP_ARGUMENTS = 1 << (31- 6), /* cr1.eq; specified by ABI */
56
- FLAG_4_GPR_ARGUMENTS = 1 << (31- 5),
57
- FLAG_RETVAL_REFERENCE = 1 << (31- 4)
58
- };
59
-
60
- /* About the DARWIN ABI. */
61
- enum {
62
- NUM_GPR_ARG_REGISTERS = 8,
63
- NUM_FPR_ARG_REGISTERS = 13,
64
- LINKAGE_AREA_GPRS = 6
65
- };
66
-
67
- enum { ASM_NEEDS_REGISTERS = 4 }; /* r28-r31 */
68
-
69
- /* ffi_prep_args is called by the assembly routine once stack space
70
- has been allocated for the function's arguments.
71
-
72
- m32/m64
73
-
74
- The stack layout we want looks like this:
75
-
76
- | Return address from ffi_call_DARWIN | higher addresses
77
- |--------------------------------------------|
78
- | Previous backchain pointer 4/8 | stack pointer here
79
- |--------------------------------------------|<+ <<< on entry to
80
- | ASM_NEEDS_REGISTERS=r28-r31 4*(4/8) | | ffi_call_DARWIN
81
- |--------------------------------------------| |
82
- | When we have any FP activity... the | |
83
- | FPRs occupy NUM_FPR_ARG_REGISTERS slots | |
84
- | here fp13 .. fp1 from high to low addr. | |
85
- ~ ~ ~
86
- | Parameters (at least 8*4/8=32/64) | | NUM_GPR_ARG_REGISTERS
87
- |--------------------------------------------| |
88
- | TOC=R2 (AIX) Reserved (Darwin) 4/8 | |
89
- |--------------------------------------------| | stack |
90
- | Reserved 2*4/8 | | grows |
91
- |--------------------------------------------| | down V
92
- | Space for callee's LR 4/8 | |
93
- |--------------------------------------------| | lower addresses
94
- | Saved CR [low word for m64] 4/8 | |
95
- |--------------------------------------------| | stack pointer here
96
- | Current backchain pointer 4/8 |-/ during
97
- |--------------------------------------------| <<< ffi_call_DARWIN
98
-
99
- */
100
-
101
- #if defined(POWERPC_DARWIN64)
102
- static void
103
- darwin64_pass_struct_by_value
104
- (ffi_type *, char *, unsigned, unsigned *, double **, unsigned long **);
105
- #endif
106
-
107
- /* This depends on GPR_SIZE = sizeof (unsigned long) */
108
-
109
- void
110
- ffi_prep_args (extended_cif *ecif, unsigned long *const stack)
111
- {
112
- const unsigned bytes = ecif->cif->bytes;
113
- const unsigned flags = ecif->cif->flags;
114
- const unsigned nargs = ecif->cif->nargs;
115
- #if !defined(POWERPC_DARWIN64)
116
- const ffi_abi abi = ecif->cif->abi;
117
- #endif
118
-
119
- /* 'stacktop' points at the previous backchain pointer. */
120
- unsigned long *const stacktop = stack + (bytes / sizeof(unsigned long));
121
-
122
- /* 'fpr_base' points at the space for fpr1, and grows upwards as
123
- we use FPR registers. */
124
- double *fpr_base = (double *) (stacktop - ASM_NEEDS_REGISTERS) - NUM_FPR_ARG_REGISTERS;
125
- int gp_count = 0, fparg_count = 0;
126
-
127
- /* 'next_arg' grows up as we put parameters in it. */
128
- unsigned long *next_arg = stack + LINKAGE_AREA_GPRS; /* 6 reserved positions. */
129
-
130
- int i;
131
- double double_tmp;
132
- void **p_argv = ecif->avalue;
133
- unsigned long gprvalue;
134
- ffi_type** ptr = ecif->cif->arg_types;
135
- #if !defined(POWERPC_DARWIN64)
136
- char *dest_cpy;
137
- #endif
138
- unsigned size_al = 0;
139
-
140
- /* Check that everything starts aligned properly. */
141
- FFI_ASSERT(((unsigned) (char *) stack & 0xF) == 0);
142
- FFI_ASSERT(((unsigned) (char *) stacktop & 0xF) == 0);
143
- FFI_ASSERT((bytes & 0xF) == 0);
144
-
145
- /* Deal with return values that are actually pass-by-reference.
146
- Rule:
147
- Return values are referenced by r3, so r4 is the first parameter. */
148
-
149
- if (flags & FLAG_RETVAL_REFERENCE)
150
- *next_arg++ = (unsigned long) (char *) ecif->rvalue;
151
-
152
- /* Now for the arguments. */
153
- for (i = nargs; i > 0; i--, ptr++, p_argv++)
154
- {
155
- switch ((*ptr)->type)
156
- {
157
- /* If a floating-point parameter appears before all of the general-
158
- purpose registers are filled, the corresponding GPRs that match
159
- the size of the floating-point parameter are skipped. */
160
- case FFI_TYPE_FLOAT:
161
- double_tmp = *(float *) *p_argv;
162
- if (fparg_count < NUM_FPR_ARG_REGISTERS)
163
- *fpr_base++ = double_tmp;
164
- #if defined(POWERPC_DARWIN)
165
- *(float *)next_arg = *(float *) *p_argv;
166
- #else
167
- *(double *)next_arg = double_tmp;
168
- #endif
169
- next_arg++;
170
- gp_count++;
171
- fparg_count++;
172
- FFI_ASSERT(flags & FLAG_FP_ARGUMENTS);
173
- break;
174
-
175
- case FFI_TYPE_DOUBLE:
176
- double_tmp = *(double *) *p_argv;
177
- if (fparg_count < NUM_FPR_ARG_REGISTERS)
178
- *fpr_base++ = double_tmp;
179
- *(double *)next_arg = double_tmp;
180
- #ifdef POWERPC64
181
- next_arg++;
182
- gp_count++;
183
- #else
184
- next_arg += 2;
185
- gp_count += 2;
186
- #endif
187
- fparg_count++;
188
- FFI_ASSERT(flags & FLAG_FP_ARGUMENTS);
189
- break;
190
-
191
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
192
-
193
- case FFI_TYPE_LONGDOUBLE:
194
- # if defined(POWERPC64) && !defined(POWERPC_DARWIN64)
195
- /* ??? This will exceed the regs count when the value starts at fp13
196
- and it will not put the extra bit on the stack. */
197
- if (fparg_count < NUM_FPR_ARG_REGISTERS)
198
- *(long double *) fpr_base++ = *(long double *) *p_argv;
199
- else
200
- *(long double *) next_arg = *(long double *) *p_argv;
201
- next_arg += 2;
202
- fparg_count += 2;
203
- # else
204
- double_tmp = ((double *) *p_argv)[0];
205
- if (fparg_count < NUM_FPR_ARG_REGISTERS)
206
- *fpr_base++ = double_tmp;
207
- *(double *) next_arg = double_tmp;
208
- # if defined(POWERPC_DARWIN64)
209
- next_arg++;
210
- gp_count++;
211
- # else
212
- next_arg += 2;
213
- gp_count += 2;
214
- # endif
215
- fparg_count++;
216
- double_tmp = ((double *) *p_argv)[1];
217
- if (fparg_count < NUM_FPR_ARG_REGISTERS)
218
- *fpr_base++ = double_tmp;
219
- *(double *) next_arg = double_tmp;
220
- # if defined(POWERPC_DARWIN64)
221
- next_arg++;
222
- gp_count++;
223
- # else
224
- next_arg += 2;
225
- gp_count += 2;
226
- # endif
227
- fparg_count++;
228
- # endif
229
- FFI_ASSERT(flags & FLAG_FP_ARGUMENTS);
230
- break;
231
- #endif
232
- case FFI_TYPE_UINT64:
233
- case FFI_TYPE_SINT64:
234
- #ifdef POWERPC64
235
- gprvalue = *(long long *) *p_argv;
236
- goto putgpr;
237
- #else
238
- *(long long *) next_arg = *(long long *) *p_argv;
239
- next_arg += 2;
240
- gp_count += 2;
241
- #endif
242
- break;
243
- case FFI_TYPE_POINTER:
244
- gprvalue = *(unsigned long *) *p_argv;
245
- goto putgpr;
246
- case FFI_TYPE_UINT8:
247
- gprvalue = *(unsigned char *) *p_argv;
248
- goto putgpr;
249
- case FFI_TYPE_SINT8:
250
- gprvalue = *(signed char *) *p_argv;
251
- goto putgpr;
252
- case FFI_TYPE_UINT16:
253
- gprvalue = *(unsigned short *) *p_argv;
254
- goto putgpr;
255
- case FFI_TYPE_SINT16:
256
- gprvalue = *(signed short *) *p_argv;
257
- goto putgpr;
258
-
259
- case FFI_TYPE_STRUCT:
260
- size_al = (*ptr)->size;
261
- #if defined(POWERPC_DARWIN64)
262
- next_arg = (unsigned long *)FFI_ALIGN((char *)next_arg, (*ptr)->alignment);
263
- darwin64_pass_struct_by_value (*ptr, (char *) *p_argv,
264
- (unsigned) size_al,
265
- (unsigned int *) &fparg_count,
266
- &fpr_base, &next_arg);
267
- #else
268
- dest_cpy = (char *) next_arg;
269
-
270
- /* If the first member of the struct is a double, then include enough
271
- padding in the struct size to align it to double-word. */
272
- if ((*ptr)->elements[0]->type == FFI_TYPE_DOUBLE)
273
- size_al = FFI_ALIGN((*ptr)->size, 8);
274
-
275
- # if defined(POWERPC64)
276
- FFI_ASSERT (abi != FFI_DARWIN);
277
- memcpy ((char *) dest_cpy, (char *) *p_argv, size_al);
278
- next_arg += (size_al + 7) / 8;
279
- # else
280
- /* Structures that match the basic modes (QI 1 byte, HI 2 bytes,
281
- SI 4 bytes) are aligned as if they were those modes.
282
- Structures with 3 byte in size are padded upwards. */
283
- if (size_al < 3 && abi == FFI_DARWIN)
284
- dest_cpy += 4 - size_al;
285
-
286
- memcpy((char *) dest_cpy, (char *) *p_argv, size_al);
287
- next_arg += (size_al + 3) / 4;
288
- # endif
289
- #endif
290
- break;
291
-
292
- case FFI_TYPE_INT:
293
- case FFI_TYPE_SINT32:
294
- gprvalue = *(signed int *) *p_argv;
295
- goto putgpr;
296
-
297
- case FFI_TYPE_UINT32:
298
- gprvalue = *(unsigned int *) *p_argv;
299
- putgpr:
300
- *next_arg++ = gprvalue;
301
- gp_count++;
302
- break;
303
- default:
304
- break;
305
- }
306
- }
307
-
308
- /* Check that we didn't overrun the stack... */
309
- /* FFI_ASSERT(gpr_base <= stacktop - ASM_NEEDS_REGISTERS);
310
- FFI_ASSERT((unsigned *)fpr_base
311
- <= stacktop - ASM_NEEDS_REGISTERS - NUM_GPR_ARG_REGISTERS);
312
- FFI_ASSERT(flags & FLAG_4_GPR_ARGUMENTS || intarg_count <= 4); */
313
- }
314
-
315
- #if defined(POWERPC_DARWIN64)
316
-
317
- /* See if we can put some of the struct into fprs.
318
- This should not be called for structures of size 16 bytes, since these are not
319
- broken out this way. */
320
- static void
321
- darwin64_scan_struct_for_floats (ffi_type *s, unsigned *nfpr)
322
- {
323
- int i;
324
-
325
- FFI_ASSERT (s->type == FFI_TYPE_STRUCT)
326
-
327
- for (i = 0; s->elements[i] != NULL; i++)
328
- {
329
- ffi_type *p = s->elements[i];
330
- switch (p->type)
331
- {
332
- case FFI_TYPE_STRUCT:
333
- darwin64_scan_struct_for_floats (p, nfpr);
334
- break;
335
- case FFI_TYPE_LONGDOUBLE:
336
- (*nfpr) += 2;
337
- break;
338
- case FFI_TYPE_DOUBLE:
339
- case FFI_TYPE_FLOAT:
340
- (*nfpr) += 1;
341
- break;
342
- default:
343
- break;
344
- }
345
- }
346
- }
347
-
348
- static int
349
- darwin64_struct_size_exceeds_gprs_p (ffi_type *s, char *src, unsigned *nfpr)
350
- {
351
- unsigned struct_offset=0, i;
352
-
353
- for (i = 0; s->elements[i] != NULL; i++)
354
- {
355
- char *item_base;
356
- ffi_type *p = s->elements[i];
357
- /* Find the start of this item (0 for the first one). */
358
- if (i > 0)
359
- struct_offset = FFI_ALIGN(struct_offset, p->alignment);
360
-
361
- item_base = src + struct_offset;
362
-
363
- switch (p->type)
364
- {
365
- case FFI_TYPE_STRUCT:
366
- if (darwin64_struct_size_exceeds_gprs_p (p, item_base, nfpr))
367
- return 1;
368
- break;
369
- case FFI_TYPE_LONGDOUBLE:
370
- if (*nfpr >= NUM_FPR_ARG_REGISTERS)
371
- return 1;
372
- (*nfpr) += 1;
373
- item_base += 8;
374
- /* FALL THROUGH */
375
- case FFI_TYPE_DOUBLE:
376
- if (*nfpr >= NUM_FPR_ARG_REGISTERS)
377
- return 1;
378
- (*nfpr) += 1;
379
- break;
380
- case FFI_TYPE_FLOAT:
381
- if (*nfpr >= NUM_FPR_ARG_REGISTERS)
382
- return 1;
383
- (*nfpr) += 1;
384
- break;
385
- default:
386
- /* If we try and place any item, that is non-float, once we've
387
- exceeded the 8 GPR mark, then we can't fit the struct. */
388
- if ((unsigned long)item_base >= 8*8)
389
- return 1;
390
- break;
391
- }
392
- /* now count the size of what we just used. */
393
- struct_offset += p->size;
394
- }
395
- return 0;
396
- }
397
-
398
- /* Can this struct be returned by value? */
399
- int
400
- darwin64_struct_ret_by_value_p (ffi_type *s)
401
- {
402
- unsigned nfp = 0;
403
-
404
- FFI_ASSERT (s && s->type == FFI_TYPE_STRUCT);
405
-
406
- /* The largest structure we can return is 8long + 13 doubles. */
407
- if (s->size > 168)
408
- return 0;
409
-
410
- /* We can't pass more than 13 floats. */
411
- darwin64_scan_struct_for_floats (s, &nfp);
412
- if (nfp > 13)
413
- return 0;
414
-
415
- /* If there are not too many floats, and the struct is
416
- small enough to accommodate in the GPRs, then it must be OK. */
417
- if (s->size <= 64)
418
- return 1;
419
-
420
- /* Well, we have to look harder. */
421
- nfp = 0;
422
- if (darwin64_struct_size_exceeds_gprs_p (s, NULL, &nfp))
423
- return 0;
424
-
425
- return 1;
426
- }
427
-
428
- void
429
- darwin64_pass_struct_floats (ffi_type *s, char *src,
430
- unsigned *nfpr, double **fprs)
431
- {
432
- int i;
433
- double *fpr_base = *fprs;
434
- unsigned struct_offset = 0;
435
-
436
- /* We don't assume anything about the alignment of the source. */
437
- for (i = 0; s->elements[i] != NULL; i++)
438
- {
439
- char *item_base;
440
- ffi_type *p = s->elements[i];
441
- /* Find the start of this item (0 for the first one). */
442
- if (i > 0)
443
- struct_offset = FFI_ALIGN(struct_offset, p->alignment);
444
- item_base = src + struct_offset;
445
-
446
- switch (p->type)
447
- {
448
- case FFI_TYPE_STRUCT:
449
- darwin64_pass_struct_floats (p, item_base, nfpr,
450
- &fpr_base);
451
- break;
452
- case FFI_TYPE_LONGDOUBLE:
453
- if (*nfpr < NUM_FPR_ARG_REGISTERS)
454
- *fpr_base++ = *(double *)item_base;
455
- (*nfpr) += 1;
456
- item_base += 8;
457
- /* FALL THROUGH */
458
- case FFI_TYPE_DOUBLE:
459
- if (*nfpr < NUM_FPR_ARG_REGISTERS)
460
- *fpr_base++ = *(double *)item_base;
461
- (*nfpr) += 1;
462
- break;
463
- case FFI_TYPE_FLOAT:
464
- if (*nfpr < NUM_FPR_ARG_REGISTERS)
465
- *fpr_base++ = (double) *(float *)item_base;
466
- (*nfpr) += 1;
467
- break;
468
- default:
469
- break;
470
- }
471
- /* now count the size of what we just used. */
472
- struct_offset += p->size;
473
- }
474
- /* Update the scores. */
475
- *fprs = fpr_base;
476
- }
477
-
478
- /* Darwin64 special rules.
479
- Break out a struct into params and float registers. */
480
- static void
481
- darwin64_pass_struct_by_value (ffi_type *s, char *src, unsigned size,
482
- unsigned *nfpr, double **fprs, unsigned long **arg)
483
- {
484
- unsigned long *next_arg = *arg;
485
- char *dest_cpy = (char *)next_arg;
486
-
487
- FFI_ASSERT (s->type == FFI_TYPE_STRUCT)
488
-
489
- if (!size)
490
- return;
491
-
492
- /* First... special cases. */
493
- if (size < 3
494
- || (size == 4
495
- && s->elements[0]
496
- && s->elements[0]->type != FFI_TYPE_FLOAT))
497
- {
498
- /* Must be at least one GPR, padding is unspecified in value,
499
- let's make it zero. */
500
- *next_arg = 0UL;
501
- dest_cpy += 8 - size;
502
- memcpy ((char *) dest_cpy, src, size);
503
- next_arg++;
504
- }
505
- else if (size == 16)
506
- {
507
- memcpy ((char *) dest_cpy, src, size);
508
- next_arg += 2;
509
- }
510
- else
511
- {
512
- /* now the general case, we consider embedded floats. */
513
- memcpy ((char *) dest_cpy, src, size);
514
- darwin64_pass_struct_floats (s, src, nfpr, fprs);
515
- next_arg += (size+7)/8;
516
- }
517
-
518
- *arg = next_arg;
519
- }
520
-
521
- double *
522
- darwin64_struct_floats_to_mem (ffi_type *s, char *dest, double *fprs, unsigned *nf)
523
- {
524
- int i;
525
- unsigned struct_offset = 0;
526
-
527
- /* We don't assume anything about the alignment of the source. */
528
- for (i = 0; s->elements[i] != NULL; i++)
529
- {
530
- char *item_base;
531
- ffi_type *p = s->elements[i];
532
- /* Find the start of this item (0 for the first one). */
533
- if (i > 0)
534
- struct_offset = FFI_ALIGN(struct_offset, p->alignment);
535
- item_base = dest + struct_offset;
536
-
537
- switch (p->type)
538
- {
539
- case FFI_TYPE_STRUCT:
540
- fprs = darwin64_struct_floats_to_mem (p, item_base, fprs, nf);
541
- break;
542
- case FFI_TYPE_LONGDOUBLE:
543
- if (*nf < NUM_FPR_ARG_REGISTERS)
544
- {
545
- *(double *)item_base = *fprs++ ;
546
- (*nf) += 1;
547
- }
548
- item_base += 8;
549
- /* FALL THROUGH */
550
- case FFI_TYPE_DOUBLE:
551
- if (*nf < NUM_FPR_ARG_REGISTERS)
552
- {
553
- *(double *)item_base = *fprs++ ;
554
- (*nf) += 1;
555
- }
556
- break;
557
- case FFI_TYPE_FLOAT:
558
- if (*nf < NUM_FPR_ARG_REGISTERS)
559
- {
560
- *(float *)item_base = (float) *fprs++ ;
561
- (*nf) += 1;
562
- }
563
- break;
564
- default:
565
- break;
566
- }
567
- /* now count the size of what we just used. */
568
- struct_offset += p->size;
569
- }
570
- return fprs;
571
- }
572
-
573
- #endif
574
-
575
- /* Adjust the size of S to be correct for Darwin.
576
- On Darwin m32, the first field of a structure has natural alignment.
577
- On Darwin m64, all fields have natural alignment. */
578
-
579
- static void
580
- darwin_adjust_aggregate_sizes (ffi_type *s)
581
- {
582
- int i;
583
-
584
- if (s->type != FFI_TYPE_STRUCT)
585
- return;
586
-
587
- s->size = 0;
588
- for (i = 0; s->elements[i] != NULL; i++)
589
- {
590
- ffi_type *p;
591
- int align;
592
-
593
- p = s->elements[i];
594
- if (p->type == FFI_TYPE_STRUCT)
595
- darwin_adjust_aggregate_sizes (p);
596
- #if defined(POWERPC_DARWIN64)
597
- /* Natural alignment for all items. */
598
- align = p->alignment;
599
- #else
600
- /* Natural alignment for the first item... */
601
- if (i == 0)
602
- align = p->alignment;
603
- else if (p->alignment == 16 || p->alignment < 4)
604
- /* .. subsequent items with vector or align < 4 have natural align. */
605
- align = p->alignment;
606
- else
607
- /* .. or align is 4. */
608
- align = 4;
609
- #endif
610
- /* Pad, if necessary, before adding the current item. */
611
- s->size = FFI_ALIGN(s->size, align) + p->size;
612
- }
613
-
614
- s->size = FFI_ALIGN(s->size, s->alignment);
615
-
616
- /* This should not be necessary on m64, but harmless. */
617
- if (s->elements[0]->type == FFI_TYPE_UINT64
618
- || s->elements[0]->type == FFI_TYPE_SINT64
619
- || s->elements[0]->type == FFI_TYPE_DOUBLE
620
- || s->elements[0]->alignment == 8)
621
- s->alignment = s->alignment > 8 ? s->alignment : 8;
622
- /* Do not add additional tail padding. */
623
- }
624
-
625
- /* Adjust the size of S to be correct for AIX.
626
- Word-align double unless it is the first member of a structure. */
627
-
628
- static void
629
- aix_adjust_aggregate_sizes (ffi_type *s)
630
- {
631
- int i;
632
-
633
- if (s->type != FFI_TYPE_STRUCT)
634
- return;
635
-
636
- s->size = 0;
637
- for (i = 0; s->elements[i] != NULL; i++)
638
- {
639
- ffi_type *p;
640
- int align;
641
-
642
- p = s->elements[i];
643
- aix_adjust_aggregate_sizes (p);
644
- align = p->alignment;
645
- if (i != 0 && p->type == FFI_TYPE_DOUBLE)
646
- align = 4;
647
- s->size = FFI_ALIGN(s->size, align) + p->size;
648
- }
649
-
650
- s->size = FFI_ALIGN(s->size, s->alignment);
651
-
652
- if (s->elements[0]->type == FFI_TYPE_UINT64
653
- || s->elements[0]->type == FFI_TYPE_SINT64
654
- || s->elements[0]->type == FFI_TYPE_DOUBLE
655
- || s->elements[0]->alignment == 8)
656
- s->alignment = s->alignment > 8 ? s->alignment : 8;
657
- /* Do not add additional tail padding. */
658
- }
659
-
660
- /* Perform machine dependent cif processing. */
661
- ffi_status
662
- ffi_prep_cif_machdep (ffi_cif *cif)
663
- {
664
- /* All this is for the DARWIN ABI. */
665
- unsigned i;
666
- ffi_type **ptr;
667
- unsigned bytes;
668
- unsigned fparg_count = 0, intarg_count = 0;
669
- unsigned flags = 0;
670
- unsigned size_al = 0;
671
-
672
- /* All the machine-independent calculation of cif->bytes will be wrong.
673
- All the calculation of structure sizes will also be wrong.
674
- Redo the calculation for DARWIN. */
675
-
676
- if (cif->abi == FFI_DARWIN)
677
- {
678
- darwin_adjust_aggregate_sizes (cif->rtype);
679
- for (i = 0; i < cif->nargs; i++)
680
- darwin_adjust_aggregate_sizes (cif->arg_types[i]);
681
- }
682
-
683
- if (cif->abi == FFI_AIX)
684
- {
685
- aix_adjust_aggregate_sizes (cif->rtype);
686
- for (i = 0; i < cif->nargs; i++)
687
- aix_adjust_aggregate_sizes (cif->arg_types[i]);
688
- }
689
-
690
- /* Space for the frame pointer, callee's LR, CR, etc, and for
691
- the asm's temp regs. */
692
-
693
- bytes = (LINKAGE_AREA_GPRS + ASM_NEEDS_REGISTERS) * sizeof(unsigned long);
694
-
695
- /* Return value handling.
696
- The rules m32 are as follows:
697
- - 32-bit (or less) integer values are returned in gpr3;
698
- - structures of size <= 4 bytes also returned in gpr3;
699
- - 64-bit integer values [??? and structures between 5 and 8 bytes] are
700
- returned in gpr3 and gpr4;
701
- - Single/double FP values are returned in fpr1;
702
- - Long double FP (if not equivalent to double) values are returned in
703
- fpr1 and fpr2;
704
- m64:
705
- - 64-bit or smaller integral values are returned in GPR3
706
- - Single/double FP values are returned in fpr1;
707
- - Long double FP values are returned in fpr1 and fpr2;
708
- m64 Structures:
709
- - If the structure could be accommodated in registers were it to be the
710
- first argument to a routine, then it is returned in those registers.
711
- m32/m64 structures otherwise:
712
- - Larger structures values are allocated space and a pointer is passed
713
- as the first argument. */
714
- switch (cif->rtype->type)
715
- {
716
-
717
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
718
- case FFI_TYPE_LONGDOUBLE:
719
- flags |= FLAG_RETURNS_128BITS;
720
- flags |= FLAG_RETURNS_FP;
721
- break;
722
- #endif
723
-
724
- case FFI_TYPE_DOUBLE:
725
- flags |= FLAG_RETURNS_64BITS;
726
- /* Fall through. */
727
- case FFI_TYPE_FLOAT:
728
- flags |= FLAG_RETURNS_FP;
729
- break;
730
-
731
- case FFI_TYPE_UINT64:
732
- case FFI_TYPE_SINT64:
733
- #ifdef POWERPC64
734
- case FFI_TYPE_POINTER:
735
- #endif
736
- flags |= FLAG_RETURNS_64BITS;
737
- break;
738
-
739
- case FFI_TYPE_STRUCT:
740
- #if defined(POWERPC_DARWIN64)
741
- {
742
- /* Can we fit the struct into regs? */
743
- if (darwin64_struct_ret_by_value_p (cif->rtype))
744
- {
745
- unsigned nfpr = 0;
746
- flags |= FLAG_RETURNS_STRUCT;
747
- if (cif->rtype->size != 16)
748
- darwin64_scan_struct_for_floats (cif->rtype, &nfpr) ;
749
- else
750
- flags |= FLAG_RETURNS_128BITS;
751
- /* Will be 0 for 16byte struct. */
752
- if (nfpr)
753
- flags |= FLAG_RETURNS_FP;
754
- }
755
- else /* By ref. */
756
- {
757
- flags |= FLAG_RETVAL_REFERENCE;
758
- flags |= FLAG_RETURNS_NOTHING;
759
- intarg_count++;
760
- }
761
- }
762
- #elif defined(DARWIN_PPC)
763
- if (cif->rtype->size <= 4)
764
- flags |= FLAG_RETURNS_STRUCT;
765
- else /* else by reference. */
766
- {
767
- flags |= FLAG_RETVAL_REFERENCE;
768
- flags |= FLAG_RETURNS_NOTHING;
769
- intarg_count++;
770
- }
771
- #else /* assume we pass by ref. */
772
- flags |= FLAG_RETVAL_REFERENCE;
773
- flags |= FLAG_RETURNS_NOTHING;
774
- intarg_count++;
775
- #endif
776
- break;
777
- case FFI_TYPE_VOID:
778
- flags |= FLAG_RETURNS_NOTHING;
779
- break;
780
-
781
- default:
782
- /* Returns 32-bit integer, or similar. Nothing to do here. */
783
- break;
784
- }
785
-
786
- /* The first NUM_GPR_ARG_REGISTERS words of integer arguments, and the
787
- first NUM_FPR_ARG_REGISTERS fp arguments, go in registers; the rest
788
- goes on the stack.
789
- ??? Structures are passed as a pointer to a copy of the structure.
790
- Stuff on the stack needs to keep proper alignment.
791
- For m64 the count is effectively of half-GPRs. */
792
- for (ptr = cif->arg_types, i = cif->nargs; i > 0; i--, ptr++)
793
- {
794
- unsigned align_words;
795
- switch ((*ptr)->type)
796
- {
797
- case FFI_TYPE_FLOAT:
798
- case FFI_TYPE_DOUBLE:
799
- fparg_count++;
800
- #if !defined(POWERPC_DARWIN64)
801
- /* If this FP arg is going on the stack, it must be
802
- 8-byte-aligned. */
803
- if (fparg_count > NUM_FPR_ARG_REGISTERS
804
- && (intarg_count & 0x01) != 0)
805
- intarg_count++;
806
- #endif
807
- break;
808
-
809
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
810
- case FFI_TYPE_LONGDOUBLE:
811
- fparg_count += 2;
812
- /* If this FP arg is going on the stack, it must be
813
- 16-byte-aligned. */
814
- if (fparg_count >= NUM_FPR_ARG_REGISTERS)
815
- #if defined (POWERPC64)
816
- intarg_count = FFI_ALIGN(intarg_count, 2);
817
- #else
818
- intarg_count = FFI_ALIGN(intarg_count, 4);
819
- #endif
820
- break;
821
- #endif
822
-
823
- case FFI_TYPE_UINT64:
824
- case FFI_TYPE_SINT64:
825
- #if defined(POWERPC64)
826
- intarg_count++;
827
- #else
828
- /* 'long long' arguments are passed as two words, but
829
- either both words must fit in registers or both go
830
- on the stack. If they go on the stack, they must
831
- be 8-byte-aligned. */
832
- if (intarg_count == NUM_GPR_ARG_REGISTERS-1
833
- || (intarg_count >= NUM_GPR_ARG_REGISTERS
834
- && (intarg_count & 0x01) != 0))
835
- intarg_count++;
836
- intarg_count += 2;
837
- #endif
838
- break;
839
-
840
- case FFI_TYPE_STRUCT:
841
- size_al = (*ptr)->size;
842
- #if defined(POWERPC_DARWIN64)
843
- align_words = (*ptr)->alignment >> 3;
844
- if (align_words)
845
- intarg_count = FFI_ALIGN(intarg_count, align_words);
846
- /* Base size of the struct. */
847
- intarg_count += (size_al + 7) / 8;
848
- /* If 16 bytes then don't worry about floats. */
849
- if (size_al != 16)
850
- /* Scan through for floats to be placed in regs. */
851
- darwin64_scan_struct_for_floats (*ptr, &fparg_count) ;
852
- #else
853
- align_words = (*ptr)->alignment >> 2;
854
- if (align_words)
855
- intarg_count = FFI_ALIGN(intarg_count, align_words);
856
- /* If the first member of the struct is a double, then align
857
- the struct to double-word.
858
- if ((*ptr)->elements[0]->type == FFI_TYPE_DOUBLE)
859
- size_al = FFI_ALIGN((*ptr)->size, 8); */
860
- # ifdef POWERPC64
861
- intarg_count += (size_al + 7) / 8;
862
- # else
863
- intarg_count += (size_al + 3) / 4;
864
- # endif
865
- #endif
866
- break;
867
-
868
- default:
869
- /* Everything else is passed as a 4-byte word in a GPR, either
870
- the object itself or a pointer to it. */
871
- intarg_count++;
872
- break;
873
- }
874
- }
875
-
876
- if (fparg_count != 0)
877
- flags |= FLAG_FP_ARGUMENTS;
878
-
879
- #if defined(POWERPC_DARWIN64)
880
- /* Space to image the FPR registers, if needed - which includes when they might be
881
- used in a struct return. */
882
- if (fparg_count != 0
883
- || ((flags & FLAG_RETURNS_STRUCT)
884
- && (flags & FLAG_RETURNS_FP)))
885
- bytes += NUM_FPR_ARG_REGISTERS * sizeof(double);
886
- #else
887
- /* Space for the FPR registers, if needed. */
888
- if (fparg_count != 0)
889
- bytes += NUM_FPR_ARG_REGISTERS * sizeof(double);
890
- #endif
891
-
892
- /* Stack space. */
893
- #ifdef POWERPC64
894
- if ((intarg_count + fparg_count) > NUM_GPR_ARG_REGISTERS)
895
- bytes += (intarg_count + fparg_count) * sizeof(long);
896
- #else
897
- if ((intarg_count + 2 * fparg_count) > NUM_GPR_ARG_REGISTERS)
898
- bytes += (intarg_count + 2 * fparg_count) * sizeof(long);
899
- #endif
900
- else
901
- bytes += NUM_GPR_ARG_REGISTERS * sizeof(long);
902
-
903
- /* The stack space allocated needs to be a multiple of 16 bytes. */
904
- bytes = FFI_ALIGN(bytes, 16) ;
905
-
906
- cif->flags = flags;
907
- cif->bytes = bytes;
908
-
909
- return FFI_OK;
910
- }
911
-
912
- extern void ffi_call_AIX(extended_cif *, long, unsigned, unsigned *,
913
- void (*fn)(void), void (*fn2)(void));
914
-
915
- #if defined (FFI_GO_CLOSURES)
916
- extern void ffi_call_go_AIX(extended_cif *, long, unsigned, unsigned *,
917
- void (*fn)(void), void (*fn2)(void), void *closure);
918
- #endif
919
-
920
- extern void ffi_call_DARWIN(extended_cif *, long, unsigned, unsigned *,
921
- void (*fn)(void), void (*fn2)(void), ffi_type*);
922
-
923
- void
924
- ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
925
- {
926
- extended_cif ecif;
927
-
928
- ecif.cif = cif;
929
- ecif.avalue = avalue;
930
-
931
- /* If the return value is a struct and we don't have a return
932
- value address then we need to make one. */
933
-
934
- if ((rvalue == NULL) &&
935
- (cif->rtype->type == FFI_TYPE_STRUCT))
936
- {
937
- ecif.rvalue = alloca (cif->rtype->size);
938
- }
939
- else
940
- ecif.rvalue = rvalue;
941
-
942
- switch (cif->abi)
943
- {
944
- case FFI_AIX:
945
- ffi_call_AIX(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn,
946
- FFI_FN(ffi_prep_args));
947
- break;
948
- case FFI_DARWIN:
949
- ffi_call_DARWIN(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn,
950
- FFI_FN(ffi_prep_args), cif->rtype);
951
- break;
952
- default:
953
- FFI_ASSERT(0);
954
- break;
955
- }
956
- }
957
-
958
- #if defined (FFI_GO_CLOSURES)
959
- void
960
- ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue,
961
- void *closure)
962
- {
963
- extended_cif ecif;
964
-
965
- ecif.cif = cif;
966
- ecif.avalue = avalue;
967
-
968
- /* If the return value is a struct and we don't have a return
969
- value address then we need to make one. */
970
-
971
- if ((rvalue == NULL) &&
972
- (cif->rtype->type == FFI_TYPE_STRUCT))
973
- {
974
- ecif.rvalue = alloca (cif->rtype->size);
975
- }
976
- else
977
- ecif.rvalue = rvalue;
978
-
979
- switch (cif->abi)
980
- {
981
- case FFI_AIX:
982
- ffi_call_go_AIX(&ecif, -(long)cif->bytes, cif->flags, ecif.rvalue, fn,
983
- FFI_FN(ffi_prep_args), closure);
984
- break;
985
- default:
986
- FFI_ASSERT(0);
987
- break;
988
- }
989
- }
990
- #endif
991
-
992
- static void flush_icache(char *);
993
- static void flush_range(char *, int);
994
-
995
- /* The layout of a function descriptor. A C function pointer really
996
- points to one of these. */
997
-
998
- typedef struct aix_fd_struct {
999
- void *code_pointer;
1000
- void *toc;
1001
- } aix_fd;
1002
-
1003
- /* here I'd like to add the stack frame layout we use in darwin_closure.S
1004
- and aix_closure.S
1005
-
1006
- m32/m64
1007
-
1008
- The stack layout looks like this:
1009
-
1010
- | Additional params... | | Higher address
1011
- ~ ~ ~
1012
- | Parameters (at least 8*4/8=32/64) | | NUM_GPR_ARG_REGISTERS
1013
- |--------------------------------------------| |
1014
- | TOC=R2 (AIX) Reserved (Darwin) 4/8 | |
1015
- |--------------------------------------------| |
1016
- | Reserved 2*4/8 | |
1017
- |--------------------------------------------| |
1018
- | Space for callee's LR 4/8 | |
1019
- |--------------------------------------------| |
1020
- | Saved CR [low word for m64] 4/8 | |
1021
- |--------------------------------------------| |
1022
- | Current backchain pointer 4/8 |-/ Parent's frame.
1023
- |--------------------------------------------| <+ <<< on entry to ffi_closure_ASM
1024
- | Result Bytes 16 | |
1025
- |--------------------------------------------| |
1026
- ~ padding to 16-byte alignment ~ ~
1027
- |--------------------------------------------| |
1028
- | NUM_FPR_ARG_REGISTERS slots | |
1029
- | here fp13 .. fp1 13*8 | |
1030
- |--------------------------------------------| |
1031
- | R3..R10 8*4/8=32/64 | | NUM_GPR_ARG_REGISTERS
1032
- |--------------------------------------------| |
1033
- | TOC=R2 (AIX) Reserved (Darwin) 4/8 | |
1034
- |--------------------------------------------| | stack |
1035
- | Reserved [compiler,binder] 2*4/8 | | grows |
1036
- |--------------------------------------------| | down V
1037
- | Space for callee's LR 4/8 | |
1038
- |--------------------------------------------| | lower addresses
1039
- | Saved CR [low word for m64] 4/8 | |
1040
- |--------------------------------------------| | stack pointer here
1041
- | Current backchain pointer 4/8 |-/ during
1042
- |--------------------------------------------| <<< ffi_closure_ASM.
1043
-
1044
- */
1045
-
1046
- ffi_status
1047
- ffi_prep_closure_loc (ffi_closure* closure,
1048
- ffi_cif* cif,
1049
- void (*fun)(ffi_cif*, void*, void**, void*),
1050
- void *user_data,
1051
- void *codeloc)
1052
- {
1053
- unsigned int *tramp;
1054
- struct ffi_aix_trampoline_struct *tramp_aix;
1055
- aix_fd *fd;
1056
-
1057
- switch (cif->abi)
1058
- {
1059
- case FFI_DARWIN:
1060
-
1061
- FFI_ASSERT (cif->abi == FFI_DARWIN);
1062
-
1063
- tramp = (unsigned int *) &closure->tramp[0];
1064
- #if defined(POWERPC_DARWIN64)
1065
- tramp[0] = 0x7c0802a6; /* mflr r0 */
1066
- tramp[1] = 0x429f0015; /* bcl- 20,4*cr7+so, +0x18 (L1) */
1067
- /* We put the addresses here. */
1068
- tramp[6] = 0x7d6802a6; /*L1: mflr r11 */
1069
- tramp[7] = 0xe98b0000; /* ld r12,0(r11) function address */
1070
- tramp[8] = 0x7c0803a6; /* mtlr r0 */
1071
- tramp[9] = 0x7d8903a6; /* mtctr r12 */
1072
- tramp[10] = 0xe96b0008; /* lwz r11,8(r11) static chain */
1073
- tramp[11] = 0x4e800420; /* bctr */
1074
-
1075
- *((unsigned long *)&tramp[2]) = (unsigned long) ffi_closure_ASM; /* function */
1076
- *((unsigned long *)&tramp[4]) = (unsigned long) codeloc; /* context */
1077
- #else
1078
- tramp[0] = 0x7c0802a6; /* mflr r0 */
1079
- tramp[1] = 0x429f000d; /* bcl- 20,4*cr7+so,0x10 */
1080
- tramp[4] = 0x7d6802a6; /* mflr r11 */
1081
- tramp[5] = 0x818b0000; /* lwz r12,0(r11) function address */
1082
- tramp[6] = 0x7c0803a6; /* mtlr r0 */
1083
- tramp[7] = 0x7d8903a6; /* mtctr r12 */
1084
- tramp[8] = 0x816b0004; /* lwz r11,4(r11) static chain */
1085
- tramp[9] = 0x4e800420; /* bctr */
1086
- tramp[2] = (unsigned long) ffi_closure_ASM; /* function */
1087
- tramp[3] = (unsigned long) codeloc; /* context */
1088
- #endif
1089
- closure->cif = cif;
1090
- closure->fun = fun;
1091
- closure->user_data = user_data;
1092
-
1093
- /* Flush the icache. Only necessary on Darwin. */
1094
- flush_range(codeloc, FFI_TRAMPOLINE_SIZE);
1095
-
1096
- break;
1097
-
1098
- case FFI_AIX:
1099
-
1100
- tramp_aix = (struct ffi_aix_trampoline_struct *) (closure->tramp);
1101
- fd = (aix_fd *)(void *)ffi_closure_ASM;
1102
-
1103
- FFI_ASSERT (cif->abi == FFI_AIX);
1104
-
1105
- tramp_aix->code_pointer = fd->code_pointer;
1106
- tramp_aix->toc = fd->toc;
1107
- tramp_aix->static_chain = codeloc;
1108
- closure->cif = cif;
1109
- closure->fun = fun;
1110
- closure->user_data = user_data;
1111
- break;
1112
-
1113
- default:
1114
- return FFI_BAD_ABI;
1115
- break;
1116
- }
1117
- return FFI_OK;
1118
- }
1119
-
1120
- #if defined (FFI_GO_CLOSURES)
1121
- ffi_status
1122
- ffi_prep_go_closure (ffi_go_closure* closure,
1123
- ffi_cif* cif,
1124
- void (*fun)(ffi_cif*, void*, void**, void*))
1125
- {
1126
- switch (cif->abi)
1127
- {
1128
- case FFI_AIX:
1129
-
1130
- FFI_ASSERT (cif->abi == FFI_AIX);
1131
-
1132
- closure->tramp = (void *)ffi_go_closure_ASM;
1133
- closure->cif = cif;
1134
- closure->fun = fun;
1135
- return FFI_OK;
1136
-
1137
- // For now, ffi_prep_go_closure is only implemented for AIX, not for Darwin
1138
- default:
1139
- return FFI_BAD_ABI;
1140
- break;
1141
- }
1142
- return FFI_OK;
1143
- }
1144
- #endif
1145
-
1146
- static void
1147
- flush_icache(char *addr)
1148
- {
1149
- #ifndef _AIX
1150
- __asm__ volatile (
1151
- "dcbf 0,%0\n"
1152
- "\tsync\n"
1153
- "\ticbi 0,%0\n"
1154
- "\tsync\n"
1155
- "\tisync"
1156
- : : "r"(addr) : "memory");
1157
- #endif
1158
- }
1159
-
1160
- static void
1161
- flush_range(char * addr1, int size)
1162
- {
1163
- #define MIN_LINE_SIZE 32
1164
- int i;
1165
- for (i = 0; i < size; i += MIN_LINE_SIZE)
1166
- flush_icache(addr1+i);
1167
- flush_icache(addr1+size-1);
1168
- }
1169
-
1170
- typedef union
1171
- {
1172
- float f;
1173
- double d;
1174
- } ffi_dblfl;
1175
-
1176
- ffi_type *
1177
- ffi_closure_helper_DARWIN (ffi_closure *, void *,
1178
- unsigned long *, ffi_dblfl *);
1179
-
1180
- #if defined (FFI_GO_CLOSURES)
1181
- ffi_type *
1182
- ffi_go_closure_helper_DARWIN (ffi_go_closure*, void *,
1183
- unsigned long *, ffi_dblfl *);
1184
- #endif
1185
-
1186
- /* Basically the trampoline invokes ffi_closure_ASM, and on
1187
- entry, r11 holds the address of the closure.
1188
- After storing the registers that could possibly contain
1189
- parameters to be passed into the stack frame and setting
1190
- up space for a return value, ffi_closure_ASM invokes the
1191
- following helper function to do most of the work. */
1192
-
1193
- static ffi_type *
1194
- ffi_closure_helper_common (ffi_cif* cif,
1195
- void (*fun)(ffi_cif*, void*, void**, void*),
1196
- void *user_data, void *rvalue,
1197
- unsigned long *pgr, ffi_dblfl *pfr)
1198
- {
1199
- /* rvalue is the pointer to space for return value in closure assembly
1200
- pgr is the pointer to where r3-r10 are stored in ffi_closure_ASM
1201
- pfr is the pointer to where f1-f13 are stored in ffi_closure_ASM. */
1202
-
1203
- typedef double ldbits[2];
1204
-
1205
- union ldu
1206
- {
1207
- ldbits lb;
1208
- long double ld;
1209
- };
1210
-
1211
- void ** avalue;
1212
- ffi_type ** arg_types;
1213
- long i, avn;
1214
- ffi_dblfl * end_pfr = pfr + NUM_FPR_ARG_REGISTERS;
1215
- unsigned size_al;
1216
- #if defined(POWERPC_DARWIN64)
1217
- unsigned fpsused = 0;
1218
- #endif
1219
-
1220
- avalue = alloca (cif->nargs * sizeof(void *));
1221
-
1222
- if (cif->rtype->type == FFI_TYPE_STRUCT)
1223
- {
1224
- #if defined(POWERPC_DARWIN64)
1225
- if (!darwin64_struct_ret_by_value_p (cif->rtype))
1226
- {
1227
- /* Won't fit into the regs - return by ref. */
1228
- rvalue = (void *) *pgr;
1229
- pgr++;
1230
- }
1231
- #elif defined(DARWIN_PPC)
1232
- if (cif->rtype->size > 4)
1233
- {
1234
- rvalue = (void *) *pgr;
1235
- pgr++;
1236
- }
1237
- #else /* assume we return by ref. */
1238
- rvalue = (void *) *pgr;
1239
- pgr++;
1240
- #endif
1241
- }
1242
-
1243
- i = 0;
1244
- avn = cif->nargs;
1245
- arg_types = cif->arg_types;
1246
-
1247
- /* Grab the addresses of the arguments from the stack frame. */
1248
- while (i < avn)
1249
- {
1250
- switch (arg_types[i]->type)
1251
- {
1252
- case FFI_TYPE_SINT8:
1253
- case FFI_TYPE_UINT8:
1254
- #if defined(POWERPC64)
1255
- avalue[i] = (char *) pgr + 7;
1256
- #else
1257
- avalue[i] = (char *) pgr + 3;
1258
- #endif
1259
- pgr++;
1260
- break;
1261
-
1262
- case FFI_TYPE_SINT16:
1263
- case FFI_TYPE_UINT16:
1264
- #if defined(POWERPC64)
1265
- avalue[i] = (char *) pgr + 6;
1266
- #else
1267
- avalue[i] = (char *) pgr + 2;
1268
- #endif
1269
- pgr++;
1270
- break;
1271
-
1272
- case FFI_TYPE_SINT32:
1273
- case FFI_TYPE_UINT32:
1274
- #if defined(POWERPC64)
1275
- avalue[i] = (char *) pgr + 4;
1276
- #else
1277
- case FFI_TYPE_POINTER:
1278
- avalue[i] = pgr;
1279
- #endif
1280
- pgr++;
1281
- break;
1282
-
1283
- case FFI_TYPE_STRUCT:
1284
- size_al = arg_types[i]->size;
1285
- #if defined(POWERPC_DARWIN64)
1286
- pgr = (unsigned long *)FFI_ALIGN((char *)pgr, arg_types[i]->alignment);
1287
- if (size_al < 3 || size_al == 4)
1288
- {
1289
- avalue[i] = ((char *)pgr)+8-size_al;
1290
- if (arg_types[i]->elements[0]->type == FFI_TYPE_FLOAT
1291
- && fpsused < NUM_FPR_ARG_REGISTERS)
1292
- {
1293
- *(float *)pgr = (float) *(double *)pfr;
1294
- pfr++;
1295
- fpsused++;
1296
- }
1297
- }
1298
- else
1299
- {
1300
- if (size_al != 16)
1301
- pfr = (ffi_dblfl *)
1302
- darwin64_struct_floats_to_mem (arg_types[i], (char *)pgr,
1303
- (double *)pfr, &fpsused);
1304
- avalue[i] = pgr;
1305
- }
1306
- pgr += (size_al + 7) / 8;
1307
- #else
1308
- /* If the first member of the struct is a double, then align
1309
- the struct to double-word. */
1310
- if (arg_types[i]->elements[0]->type == FFI_TYPE_DOUBLE)
1311
- size_al = FFI_ALIGN(arg_types[i]->size, 8);
1312
- # if defined(POWERPC64)
1313
- FFI_ASSERT (cif->abi != FFI_DARWIN);
1314
- avalue[i] = pgr;
1315
- pgr += (size_al + 7) / 8;
1316
- # else
1317
- /* Structures that match the basic modes (QI 1 byte, HI 2 bytes,
1318
- SI 4 bytes) are aligned as if they were those modes. */
1319
- if (size_al < 3 && cif->abi == FFI_DARWIN)
1320
- avalue[i] = (char*) pgr + 4 - size_al;
1321
- else
1322
- avalue[i] = pgr;
1323
- pgr += (size_al + 3) / 4;
1324
- # endif
1325
- #endif
1326
- break;
1327
-
1328
- case FFI_TYPE_SINT64:
1329
- case FFI_TYPE_UINT64:
1330
- #if defined(POWERPC64)
1331
- case FFI_TYPE_POINTER:
1332
- avalue[i] = pgr;
1333
- pgr++;
1334
- break;
1335
- #else
1336
- /* Long long ints are passed in two gpr's. */
1337
- avalue[i] = pgr;
1338
- pgr += 2;
1339
- break;
1340
- #endif
1341
-
1342
- case FFI_TYPE_FLOAT:
1343
- /* A float value consumes a GPR.
1344
- There are 13 64bit floating point registers. */
1345
- if (pfr < end_pfr)
1346
- {
1347
- double temp = pfr->d;
1348
- pfr->f = (float) temp;
1349
- avalue[i] = pfr;
1350
- pfr++;
1351
- }
1352
- else
1353
- {
1354
- avalue[i] = pgr;
1355
- }
1356
- pgr++;
1357
- break;
1358
-
1359
- case FFI_TYPE_DOUBLE:
1360
- /* A double value consumes two GPRs.
1361
- There are 13 64bit floating point registers. */
1362
- if (pfr < end_pfr)
1363
- {
1364
- avalue[i] = pfr;
1365
- pfr++;
1366
- }
1367
- else
1368
- {
1369
- avalue[i] = pgr;
1370
- }
1371
- #ifdef POWERPC64
1372
- pgr++;
1373
- #else
1374
- pgr += 2;
1375
- #endif
1376
- break;
1377
-
1378
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
1379
-
1380
- case FFI_TYPE_LONGDOUBLE:
1381
- #ifdef POWERPC64
1382
- if (pfr + 1 < end_pfr)
1383
- {
1384
- avalue[i] = pfr;
1385
- pfr += 2;
1386
- }
1387
- else
1388
- {
1389
- if (pfr < end_pfr)
1390
- {
1391
- *pgr = *(unsigned long *) pfr;
1392
- pfr++;
1393
- }
1394
- avalue[i] = pgr;
1395
- }
1396
- pgr += 2;
1397
- #else /* POWERPC64 */
1398
- /* A long double value consumes four GPRs and two FPRs.
1399
- There are 13 64bit floating point registers. */
1400
- if (pfr + 1 < end_pfr)
1401
- {
1402
- avalue[i] = pfr;
1403
- pfr += 2;
1404
- }
1405
- /* Here we have the situation where one part of the long double
1406
- is stored in fpr13 and the other part is already on the stack.
1407
- We use a union to pass the long double to avalue[i]. */
1408
- else if (pfr + 1 == end_pfr)
1409
- {
1410
- union ldu temp_ld;
1411
- memcpy (&temp_ld.lb[0], pfr, sizeof(ldbits));
1412
- memcpy (&temp_ld.lb[1], pgr + 2, sizeof(ldbits));
1413
- avalue[i] = &temp_ld.ld;
1414
- pfr++;
1415
- }
1416
- else
1417
- {
1418
- avalue[i] = pgr;
1419
- }
1420
- pgr += 4;
1421
- #endif /* POWERPC64 */
1422
- break;
1423
- #endif
1424
- default:
1425
- FFI_ASSERT(0);
1426
- }
1427
- i++;
1428
- }
1429
-
1430
- (fun) (cif, rvalue, avalue, user_data);
1431
-
1432
- /* Tell ffi_closure_ASM to perform return type promotions. */
1433
- return cif->rtype;
1434
- }
1435
-
1436
- ffi_type *
1437
- ffi_closure_helper_DARWIN (ffi_closure *closure, void *rvalue,
1438
- unsigned long *pgr, ffi_dblfl *pfr)
1439
- {
1440
- return ffi_closure_helper_common (closure->cif, closure->fun,
1441
- closure->user_data, rvalue, pgr, pfr);
1442
- }
1443
-
1444
- #if defined (FFI_GO_CLOSURES)
1445
- ffi_type *
1446
- ffi_go_closure_helper_DARWIN (ffi_go_closure *closure, void *rvalue,
1447
- unsigned long *pgr, ffi_dblfl *pfr)
1448
- {
1449
- return ffi_closure_helper_common (closure->cif, closure->fun,
1450
- closure, rvalue, pgr, pfr);
1451
- }
1452
- #endif