cybrid_api_id_ruby 0.117.27 → 0.117.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,950 +0,0 @@
1
- /* -----------------------------------------------------------------------
2
- ffi64.c - Copyright (c) 2011, 2018, 2022 Anthony Green
3
- Copyright (c) 2013 The Written Word, Inc.
4
- Copyright (c) 2008, 2010 Red Hat, Inc.
5
- Copyright (c) 2002, 2007 Bo Thorsen <bo@suse.de>
6
-
7
- x86-64 Foreign Function Interface
8
-
9
- Permission is hereby granted, free of charge, to any person obtaining
10
- a copy of this software and associated documentation files (the
11
- ``Software''), to deal in the Software without restriction, including
12
- without limitation the rights to use, copy, modify, merge, publish,
13
- distribute, sublicense, and/or sell copies of the Software, and to
14
- permit persons to whom the Software is furnished to do so, subject to
15
- the following conditions:
16
-
17
- The above copyright notice and this permission notice shall be included
18
- in all copies or substantial portions of the Software.
19
-
20
- THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND,
21
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24
- HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
25
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
- DEALINGS IN THE SOFTWARE.
28
- ----------------------------------------------------------------------- */
29
-
30
- #include <ffi.h>
31
- #include <ffi_common.h>
32
-
33
- #include <stdlib.h>
34
- #include <stdarg.h>
35
- #include <stdint.h>
36
- #include <tramp.h>
37
- #include "internal64.h"
38
-
39
- #ifdef __x86_64__
40
-
41
- #define MAX_GPR_REGS 6
42
- #define MAX_SSE_REGS 8
43
-
44
- #if defined(__INTEL_COMPILER)
45
- #include "xmmintrin.h"
46
- #define UINT128 __m128
47
- #else
48
- #if defined(__SUNPRO_C)
49
- #include <sunmedia_types.h>
50
- #define UINT128 __m128i
51
- #else
52
- #define UINT128 __int128_t
53
- #endif
54
- #endif
55
-
56
- union big_int_union
57
- {
58
- UINT32 i32;
59
- UINT64 i64;
60
- UINT128 i128;
61
- };
62
-
63
- struct register_args
64
- {
65
- /* Registers for argument passing. */
66
- UINT64 gpr[MAX_GPR_REGS];
67
- union big_int_union sse[MAX_SSE_REGS];
68
- UINT64 rax; /* ssecount */
69
- UINT64 r10; /* static chain */
70
- };
71
-
72
- extern void ffi_call_unix64 (void *args, unsigned long bytes, unsigned flags,
73
- void *raddr, void (*fnaddr)(void)) FFI_HIDDEN;
74
-
75
- /* All reference to register classes here is identical to the code in
76
- gcc/config/i386/i386.c. Do *not* change one without the other. */
77
-
78
- /* Register class used for passing given 64bit part of the argument.
79
- These represent classes as documented by the PS ABI, with the
80
- exception of SSESF, SSEDF classes, that are basically SSE class,
81
- just gcc will use SF or DFmode move instead of DImode to avoid
82
- reformatting penalties.
83
-
84
- Similary we play games with INTEGERSI_CLASS to use cheaper SImode moves
85
- whenever possible (upper half does contain padding). */
86
- enum x86_64_reg_class
87
- {
88
- X86_64_NO_CLASS,
89
- X86_64_INTEGER_CLASS,
90
- X86_64_INTEGERSI_CLASS,
91
- X86_64_SSE_CLASS,
92
- X86_64_SSESF_CLASS,
93
- X86_64_SSEDF_CLASS,
94
- X86_64_SSEUP_CLASS,
95
- X86_64_X87_CLASS,
96
- X86_64_X87UP_CLASS,
97
- X86_64_COMPLEX_X87_CLASS,
98
- X86_64_MEMORY_CLASS
99
- };
100
-
101
- #define MAX_CLASSES 4
102
-
103
- #define SSE_CLASS_P(X) ((X) >= X86_64_SSE_CLASS && X <= X86_64_SSEUP_CLASS)
104
-
105
- /* x86-64 register passing implementation. See x86-64 ABI for details. Goal
106
- of this code is to classify each 8bytes of incoming argument by the register
107
- class and assign registers accordingly. */
108
-
109
- /* Return the union class of CLASS1 and CLASS2.
110
- See the x86-64 PS ABI for details. */
111
-
112
- static enum x86_64_reg_class
113
- merge_classes (enum x86_64_reg_class class1, enum x86_64_reg_class class2)
114
- {
115
- /* Rule #1: If both classes are equal, this is the resulting class. */
116
- if (class1 == class2)
117
- return class1;
118
-
119
- /* Rule #2: If one of the classes is NO_CLASS, the resulting class is
120
- the other class. */
121
- if (class1 == X86_64_NO_CLASS)
122
- return class2;
123
- if (class2 == X86_64_NO_CLASS)
124
- return class1;
125
-
126
- /* Rule #3: If one of the classes is MEMORY, the result is MEMORY. */
127
- if (class1 == X86_64_MEMORY_CLASS || class2 == X86_64_MEMORY_CLASS)
128
- return X86_64_MEMORY_CLASS;
129
-
130
- /* Rule #4: If one of the classes is INTEGER, the result is INTEGER. */
131
- if ((class1 == X86_64_INTEGERSI_CLASS && class2 == X86_64_SSESF_CLASS)
132
- || (class2 == X86_64_INTEGERSI_CLASS && class1 == X86_64_SSESF_CLASS))
133
- return X86_64_INTEGERSI_CLASS;
134
- if (class1 == X86_64_INTEGER_CLASS || class1 == X86_64_INTEGERSI_CLASS
135
- || class2 == X86_64_INTEGER_CLASS || class2 == X86_64_INTEGERSI_CLASS)
136
- return X86_64_INTEGER_CLASS;
137
-
138
- /* Rule #5: If one of the classes is X87, X87UP, or COMPLEX_X87 class,
139
- MEMORY is used. */
140
- if (class1 == X86_64_X87_CLASS
141
- || class1 == X86_64_X87UP_CLASS
142
- || class1 == X86_64_COMPLEX_X87_CLASS
143
- || class2 == X86_64_X87_CLASS
144
- || class2 == X86_64_X87UP_CLASS
145
- || class2 == X86_64_COMPLEX_X87_CLASS)
146
- return X86_64_MEMORY_CLASS;
147
-
148
- /* Rule #6: Otherwise class SSE is used. */
149
- return X86_64_SSE_CLASS;
150
- }
151
-
152
- /* Classify the argument of type TYPE and mode MODE.
153
- CLASSES will be filled by the register class used to pass each word
154
- of the operand. The number of words is returned. In case the parameter
155
- should be passed in memory, 0 is returned. As a special case for zero
156
- sized containers, classes[0] will be NO_CLASS and 1 is returned.
157
-
158
- See the x86-64 PS ABI for details.
159
- */
160
- static size_t
161
- classify_argument (ffi_type *type, enum x86_64_reg_class classes[],
162
- size_t byte_offset)
163
- {
164
- switch (type->type)
165
- {
166
- case FFI_TYPE_UINT8:
167
- case FFI_TYPE_SINT8:
168
- case FFI_TYPE_UINT16:
169
- case FFI_TYPE_SINT16:
170
- case FFI_TYPE_UINT32:
171
- case FFI_TYPE_SINT32:
172
- case FFI_TYPE_UINT64:
173
- case FFI_TYPE_SINT64:
174
- case FFI_TYPE_POINTER:
175
- do_integer:
176
- {
177
- size_t size = byte_offset + type->size;
178
-
179
- if (size <= 4)
180
- {
181
- classes[0] = X86_64_INTEGERSI_CLASS;
182
- return 1;
183
- }
184
- else if (size <= 8)
185
- {
186
- classes[0] = X86_64_INTEGER_CLASS;
187
- return 1;
188
- }
189
- else if (size <= 12)
190
- {
191
- classes[0] = X86_64_INTEGER_CLASS;
192
- classes[1] = X86_64_INTEGERSI_CLASS;
193
- return 2;
194
- }
195
- else if (size <= 16)
196
- {
197
- classes[0] = classes[1] = X86_64_INTEGER_CLASS;
198
- return 2;
199
- }
200
- else
201
- FFI_ASSERT (0);
202
- }
203
- case FFI_TYPE_FLOAT:
204
- if (!(byte_offset % 8))
205
- classes[0] = X86_64_SSESF_CLASS;
206
- else
207
- classes[0] = X86_64_SSE_CLASS;
208
- return 1;
209
- case FFI_TYPE_DOUBLE:
210
- classes[0] = X86_64_SSEDF_CLASS;
211
- return 1;
212
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
213
- case FFI_TYPE_LONGDOUBLE:
214
- classes[0] = X86_64_X87_CLASS;
215
- classes[1] = X86_64_X87UP_CLASS;
216
- return 2;
217
- #endif
218
- case FFI_TYPE_STRUCT:
219
- {
220
- const size_t UNITS_PER_WORD = 8;
221
- size_t words = (type->size + byte_offset + UNITS_PER_WORD - 1)
222
- / UNITS_PER_WORD;
223
- ffi_type **ptr;
224
- unsigned int i;
225
- enum x86_64_reg_class subclasses[MAX_CLASSES];
226
-
227
- /* If the struct is larger than 32 bytes, pass it on the stack. */
228
- if (type->size > 32)
229
- return 0;
230
-
231
- for (i = 0; i < words; i++)
232
- classes[i] = X86_64_NO_CLASS;
233
-
234
- /* Zero sized arrays or structures are NO_CLASS. We return 0 to
235
- signalize memory class, so handle it as special case. */
236
- if (!words)
237
- {
238
- case FFI_TYPE_VOID:
239
- classes[0] = X86_64_NO_CLASS;
240
- return 1;
241
- }
242
-
243
- /* Merge the fields of structure. */
244
- for (ptr = type->elements; *ptr != NULL; ptr++)
245
- {
246
- size_t num, pos;
247
-
248
- byte_offset = FFI_ALIGN (byte_offset, (*ptr)->alignment);
249
-
250
- num = classify_argument (*ptr, subclasses, byte_offset % 8);
251
- if (num == 0)
252
- return 0;
253
- pos = byte_offset / 8;
254
- for (i = 0; i < num && (i + pos) < words; i++)
255
- {
256
- size_t pos = byte_offset / 8;
257
- classes[i + pos] =
258
- merge_classes (subclasses[i], classes[i + pos]);
259
- }
260
-
261
- byte_offset += (*ptr)->size;
262
- }
263
-
264
- if (words > 2)
265
- {
266
- /* When size > 16 bytes, if the first one isn't
267
- X86_64_SSE_CLASS or any other ones aren't
268
- X86_64_SSEUP_CLASS, everything should be passed in
269
- memory. */
270
- if (classes[0] != X86_64_SSE_CLASS)
271
- return 0;
272
-
273
- for (i = 1; i < words; i++)
274
- if (classes[i] != X86_64_SSEUP_CLASS)
275
- return 0;
276
- }
277
-
278
- /* Final merger cleanup. */
279
- for (i = 0; i < words; i++)
280
- {
281
- /* If one class is MEMORY, everything should be passed in
282
- memory. */
283
- if (classes[i] == X86_64_MEMORY_CLASS)
284
- return 0;
285
-
286
- /* The X86_64_SSEUP_CLASS should be always preceded by
287
- X86_64_SSE_CLASS or X86_64_SSEUP_CLASS. */
288
- if (i > 1 && classes[i] == X86_64_SSEUP_CLASS
289
- && classes[i - 1] != X86_64_SSE_CLASS
290
- && classes[i - 1] != X86_64_SSEUP_CLASS)
291
- {
292
- /* The first one should never be X86_64_SSEUP_CLASS. */
293
- FFI_ASSERT (i != 0);
294
- classes[i] = X86_64_SSE_CLASS;
295
- }
296
-
297
- /* If X86_64_X87UP_CLASS isn't preceded by X86_64_X87_CLASS,
298
- everything should be passed in memory. */
299
- if (i > 1 && classes[i] == X86_64_X87UP_CLASS
300
- && (classes[i - 1] != X86_64_X87_CLASS))
301
- {
302
- /* The first one should never be X86_64_X87UP_CLASS. */
303
- FFI_ASSERT (i != 0);
304
- return 0;
305
- }
306
- }
307
- return words;
308
- }
309
- case FFI_TYPE_COMPLEX:
310
- {
311
- ffi_type *inner = type->elements[0];
312
- switch (inner->type)
313
- {
314
- case FFI_TYPE_INT:
315
- case FFI_TYPE_UINT8:
316
- case FFI_TYPE_SINT8:
317
- case FFI_TYPE_UINT16:
318
- case FFI_TYPE_SINT16:
319
- case FFI_TYPE_UINT32:
320
- case FFI_TYPE_SINT32:
321
- case FFI_TYPE_UINT64:
322
- case FFI_TYPE_SINT64:
323
- goto do_integer;
324
-
325
- case FFI_TYPE_FLOAT:
326
- classes[0] = X86_64_SSE_CLASS;
327
- if (byte_offset % 8)
328
- {
329
- classes[1] = X86_64_SSESF_CLASS;
330
- return 2;
331
- }
332
- return 1;
333
- case FFI_TYPE_DOUBLE:
334
- classes[0] = classes[1] = X86_64_SSEDF_CLASS;
335
- return 2;
336
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
337
- case FFI_TYPE_LONGDOUBLE:
338
- classes[0] = X86_64_COMPLEX_X87_CLASS;
339
- return 1;
340
- #endif
341
- }
342
- }
343
- }
344
- abort();
345
- }
346
-
347
- /* Examine the argument and return set number of register required in each
348
- class. Return zero iff parameter should be passed in memory, otherwise
349
- the number of registers. */
350
-
351
- static size_t
352
- examine_argument (ffi_type *type, enum x86_64_reg_class classes[MAX_CLASSES],
353
- _Bool in_return, int *pngpr, int *pnsse)
354
- {
355
- size_t n;
356
- unsigned int i;
357
- int ngpr, nsse;
358
-
359
- n = classify_argument (type, classes, 0);
360
- if (n == 0)
361
- return 0;
362
-
363
- ngpr = nsse = 0;
364
- for (i = 0; i < n; ++i)
365
- switch (classes[i])
366
- {
367
- case X86_64_INTEGER_CLASS:
368
- case X86_64_INTEGERSI_CLASS:
369
- ngpr++;
370
- break;
371
- case X86_64_SSE_CLASS:
372
- case X86_64_SSESF_CLASS:
373
- case X86_64_SSEDF_CLASS:
374
- nsse++;
375
- break;
376
- case X86_64_NO_CLASS:
377
- case X86_64_SSEUP_CLASS:
378
- break;
379
- case X86_64_X87_CLASS:
380
- case X86_64_X87UP_CLASS:
381
- case X86_64_COMPLEX_X87_CLASS:
382
- return in_return != 0;
383
- default:
384
- abort ();
385
- }
386
-
387
- *pngpr = ngpr;
388
- *pnsse = nsse;
389
-
390
- return n;
391
- }
392
-
393
- /* Perform machine dependent cif processing. */
394
-
395
- #ifndef __ILP32__
396
- extern ffi_status
397
- ffi_prep_cif_machdep_efi64(ffi_cif *cif);
398
- #endif
399
-
400
- ffi_status FFI_HIDDEN
401
- ffi_prep_cif_machdep (ffi_cif *cif)
402
- {
403
- int gprcount, ssecount, i, avn, ngpr, nsse;
404
- unsigned flags;
405
- enum x86_64_reg_class classes[MAX_CLASSES];
406
- size_t bytes, n, rtype_size;
407
- ffi_type *rtype;
408
-
409
- #ifndef __ILP32__
410
- if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
411
- return ffi_prep_cif_machdep_efi64(cif);
412
- #endif
413
- if (cif->abi != FFI_UNIX64)
414
- return FFI_BAD_ABI;
415
-
416
- gprcount = ssecount = 0;
417
-
418
- rtype = cif->rtype;
419
- rtype_size = rtype->size;
420
- switch (rtype->type)
421
- {
422
- case FFI_TYPE_VOID:
423
- flags = UNIX64_RET_VOID;
424
- break;
425
- case FFI_TYPE_UINT8:
426
- flags = UNIX64_RET_UINT8;
427
- break;
428
- case FFI_TYPE_SINT8:
429
- flags = UNIX64_RET_SINT8;
430
- break;
431
- case FFI_TYPE_UINT16:
432
- flags = UNIX64_RET_UINT16;
433
- break;
434
- case FFI_TYPE_SINT16:
435
- flags = UNIX64_RET_SINT16;
436
- break;
437
- case FFI_TYPE_UINT32:
438
- flags = UNIX64_RET_UINT32;
439
- break;
440
- case FFI_TYPE_INT:
441
- case FFI_TYPE_SINT32:
442
- flags = UNIX64_RET_SINT32;
443
- break;
444
- case FFI_TYPE_UINT64:
445
- case FFI_TYPE_SINT64:
446
- flags = UNIX64_RET_INT64;
447
- break;
448
- case FFI_TYPE_POINTER:
449
- flags = (sizeof(void *) == 4 ? UNIX64_RET_UINT32 : UNIX64_RET_INT64);
450
- break;
451
- case FFI_TYPE_FLOAT:
452
- flags = UNIX64_RET_XMM32;
453
- break;
454
- case FFI_TYPE_DOUBLE:
455
- flags = UNIX64_RET_XMM64;
456
- break;
457
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
458
- case FFI_TYPE_LONGDOUBLE:
459
- flags = UNIX64_RET_X87;
460
- break;
461
- #endif
462
- case FFI_TYPE_STRUCT:
463
- n = examine_argument (cif->rtype, classes, 1, &ngpr, &nsse);
464
- if (n == 0)
465
- {
466
- /* The return value is passed in memory. A pointer to that
467
- memory is the first argument. Allocate a register for it. */
468
- gprcount++;
469
- /* We don't have to do anything in asm for the return. */
470
- flags = UNIX64_RET_VOID | UNIX64_FLAG_RET_IN_MEM;
471
- }
472
- else
473
- {
474
- _Bool sse0 = SSE_CLASS_P (classes[0]);
475
-
476
- if (rtype_size == 4 && sse0)
477
- flags = UNIX64_RET_XMM32;
478
- else if (rtype_size == 8)
479
- flags = sse0 ? UNIX64_RET_XMM64 : UNIX64_RET_INT64;
480
- else
481
- {
482
- _Bool sse1 = n == 2 && SSE_CLASS_P (classes[1]);
483
- if (sse0 && sse1)
484
- flags = UNIX64_RET_ST_XMM0_XMM1;
485
- else if (sse0)
486
- flags = UNIX64_RET_ST_XMM0_RAX;
487
- else if (sse1)
488
- flags = UNIX64_RET_ST_RAX_XMM0;
489
- else
490
- flags = UNIX64_RET_ST_RAX_RDX;
491
- flags |= rtype_size << UNIX64_SIZE_SHIFT;
492
- }
493
- }
494
- break;
495
- case FFI_TYPE_COMPLEX:
496
- switch (rtype->elements[0]->type)
497
- {
498
- case FFI_TYPE_UINT8:
499
- case FFI_TYPE_SINT8:
500
- case FFI_TYPE_UINT16:
501
- case FFI_TYPE_SINT16:
502
- case FFI_TYPE_INT:
503
- case FFI_TYPE_UINT32:
504
- case FFI_TYPE_SINT32:
505
- case FFI_TYPE_UINT64:
506
- case FFI_TYPE_SINT64:
507
- flags = UNIX64_RET_ST_RAX_RDX | ((unsigned) rtype_size << UNIX64_SIZE_SHIFT);
508
- break;
509
- case FFI_TYPE_FLOAT:
510
- flags = UNIX64_RET_XMM64;
511
- break;
512
- case FFI_TYPE_DOUBLE:
513
- flags = UNIX64_RET_ST_XMM0_XMM1 | (16 << UNIX64_SIZE_SHIFT);
514
- break;
515
- #if FFI_TYPE_LONGDOUBLE != FFI_TYPE_DOUBLE
516
- case FFI_TYPE_LONGDOUBLE:
517
- flags = UNIX64_RET_X87_2;
518
- break;
519
- #endif
520
- default:
521
- return FFI_BAD_TYPEDEF;
522
- }
523
- break;
524
- default:
525
- return FFI_BAD_TYPEDEF;
526
- }
527
-
528
- /* Go over all arguments and determine the way they should be passed.
529
- If it's in a register and there is space for it, let that be so. If
530
- not, add it's size to the stack byte count. */
531
- for (bytes = 0, i = 0, avn = cif->nargs; i < avn; i++)
532
- {
533
- if (examine_argument (cif->arg_types[i], classes, 0, &ngpr, &nsse) == 0
534
- || gprcount + ngpr > MAX_GPR_REGS
535
- || ssecount + nsse > MAX_SSE_REGS)
536
- {
537
- long align = cif->arg_types[i]->alignment;
538
-
539
- if (align < 8)
540
- align = 8;
541
-
542
- bytes = FFI_ALIGN (bytes, align);
543
- bytes += cif->arg_types[i]->size;
544
- }
545
- else
546
- {
547
- gprcount += ngpr;
548
- ssecount += nsse;
549
- }
550
- }
551
- if (ssecount)
552
- flags |= UNIX64_FLAG_XMM_ARGS;
553
-
554
- cif->flags = flags;
555
- cif->bytes = (unsigned) FFI_ALIGN (bytes, 8);
556
-
557
- return FFI_OK;
558
- }
559
-
560
- static void
561
- ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue,
562
- void **avalue, void *closure)
563
- {
564
- enum x86_64_reg_class classes[MAX_CLASSES];
565
- char *stack, *argp;
566
- ffi_type **arg_types;
567
- int gprcount, ssecount, ngpr, nsse, i, avn, flags;
568
- struct register_args *reg_args;
569
-
570
- /* Can't call 32-bit mode from 64-bit mode. */
571
- FFI_ASSERT (cif->abi == FFI_UNIX64);
572
-
573
- /* If the return value is a struct and we don't have a return value
574
- address then we need to make one. Otherwise we can ignore it. */
575
- flags = cif->flags;
576
- if (rvalue == NULL)
577
- {
578
- if (flags & UNIX64_FLAG_RET_IN_MEM)
579
- rvalue = alloca (cif->rtype->size);
580
- else
581
- flags = UNIX64_RET_VOID;
582
- }
583
-
584
- arg_types = cif->arg_types;
585
- avn = cif->nargs;
586
-
587
- /* Allocate the space for the arguments, plus 4 words of temp space. */
588
- stack = alloca (sizeof (struct register_args) + cif->bytes + 4*8);
589
- reg_args = (struct register_args *) stack;
590
- argp = stack + sizeof (struct register_args);
591
-
592
- reg_args->r10 = (uintptr_t) closure;
593
-
594
- gprcount = ssecount = 0;
595
-
596
- /* If the return value is passed in memory, add the pointer as the
597
- first integer argument. */
598
- if (flags & UNIX64_FLAG_RET_IN_MEM)
599
- reg_args->gpr[gprcount++] = (unsigned long) rvalue;
600
-
601
- for (i = 0; i < avn; ++i)
602
- {
603
- size_t n, size = arg_types[i]->size;
604
-
605
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
606
- if (n == 0
607
- || gprcount + ngpr > MAX_GPR_REGS
608
- || ssecount + nsse > MAX_SSE_REGS)
609
- {
610
- long align = arg_types[i]->alignment;
611
-
612
- /* Stack arguments are *always* at least 8 byte aligned. */
613
- if (align < 8)
614
- align = 8;
615
-
616
- /* Pass this argument in memory. */
617
- argp = (void *) FFI_ALIGN (argp, align);
618
- memcpy (argp, avalue[i], size);
619
-
620
- argp += size;
621
- }
622
- else
623
- {
624
- /* The argument is passed entirely in registers. */
625
- char *a = (char *) avalue[i];
626
- unsigned int j;
627
-
628
- for (j = 0; j < n; j++, a += 8, size -= 8)
629
- {
630
- switch (classes[j])
631
- {
632
- case X86_64_NO_CLASS:
633
- case X86_64_SSEUP_CLASS:
634
- break;
635
- case X86_64_INTEGER_CLASS:
636
- case X86_64_INTEGERSI_CLASS:
637
- /* Sign-extend integer arguments passed in general
638
- purpose registers, to cope with the fact that
639
- LLVM incorrectly assumes that this will be done
640
- (the x86-64 PS ABI does not specify this). */
641
- switch (arg_types[i]->type)
642
- {
643
- case FFI_TYPE_SINT8:
644
- reg_args->gpr[gprcount] = (SINT64) *((SINT8 *) a);
645
- break;
646
- case FFI_TYPE_SINT16:
647
- reg_args->gpr[gprcount] = (SINT64) *((SINT16 *) a);
648
- break;
649
- case FFI_TYPE_SINT32:
650
- reg_args->gpr[gprcount] = (SINT64) *((SINT32 *) a);
651
- break;
652
- default:
653
- reg_args->gpr[gprcount] = 0;
654
- memcpy (&reg_args->gpr[gprcount], a, size);
655
- }
656
- gprcount++;
657
- break;
658
- case X86_64_SSE_CLASS:
659
- case X86_64_SSEDF_CLASS:
660
- memcpy (&reg_args->sse[ssecount++].i64, a, sizeof(UINT64));
661
- break;
662
- case X86_64_SSESF_CLASS:
663
- memcpy (&reg_args->sse[ssecount++].i32, a, sizeof(UINT32));
664
- break;
665
- default:
666
- abort();
667
- }
668
- }
669
- }
670
- }
671
- reg_args->rax = ssecount;
672
-
673
- ffi_call_unix64 (stack, cif->bytes + sizeof (struct register_args),
674
- flags, rvalue, fn);
675
- }
676
-
677
- #ifndef __ILP32__
678
- extern void
679
- ffi_call_efi64(ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue);
680
- #endif
681
-
682
- void
683
- ffi_call (ffi_cif *cif, void (*fn)(void), void *rvalue, void **avalue)
684
- {
685
- ffi_type **arg_types = cif->arg_types;
686
- int i, nargs = cif->nargs;
687
- const int max_reg_struct_size = cif->abi == FFI_GNUW64 ? 8 : 16;
688
-
689
- /* If we have any large structure arguments, make a copy so we are passing
690
- by value. */
691
- for (i = 0; i < nargs; i++)
692
- {
693
- ffi_type *at = arg_types[i];
694
- int size = at->size;
695
- if (at->type == FFI_TYPE_STRUCT && size > max_reg_struct_size)
696
- {
697
- char *argcopy = alloca (size);
698
- memcpy (argcopy, avalue[i], size);
699
- avalue[i] = argcopy;
700
- }
701
- }
702
-
703
- #ifndef __ILP32__
704
- if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
705
- {
706
- ffi_call_efi64(cif, fn, rvalue, avalue);
707
- return;
708
- }
709
- #endif
710
- ffi_call_int (cif, fn, rvalue, avalue, NULL);
711
- }
712
-
713
- #ifdef FFI_GO_CLOSURES
714
-
715
- #ifndef __ILP32__
716
- extern void
717
- ffi_call_go_efi64(ffi_cif *cif, void (*fn)(void), void *rvalue,
718
- void **avalue, void *closure);
719
- #endif
720
-
721
- void
722
- ffi_call_go (ffi_cif *cif, void (*fn)(void), void *rvalue,
723
- void **avalue, void *closure)
724
- {
725
- #ifndef __ILP32__
726
- if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
727
- {
728
- ffi_call_go_efi64(cif, fn, rvalue, avalue, closure);
729
- return;
730
- }
731
- #endif
732
- ffi_call_int (cif, fn, rvalue, avalue, closure);
733
- }
734
-
735
- #endif /* FFI_GO_CLOSURES */
736
-
737
- extern void ffi_closure_unix64(void) FFI_HIDDEN;
738
- extern void ffi_closure_unix64_sse(void) FFI_HIDDEN;
739
- #if defined(FFI_EXEC_STATIC_TRAMP)
740
- extern void ffi_closure_unix64_alt(void) FFI_HIDDEN;
741
- extern void ffi_closure_unix64_sse_alt(void) FFI_HIDDEN;
742
- #endif
743
-
744
- #ifndef __ILP32__
745
- extern ffi_status
746
- ffi_prep_closure_loc_efi64(ffi_closure* closure,
747
- ffi_cif* cif,
748
- void (*fun)(ffi_cif*, void*, void**, void*),
749
- void *user_data,
750
- void *codeloc);
751
- #endif
752
-
753
- ffi_status
754
- ffi_prep_closure_loc (ffi_closure* closure,
755
- ffi_cif* cif,
756
- void (*fun)(ffi_cif*, void*, void**, void*),
757
- void *user_data,
758
- void *codeloc)
759
- {
760
- static const unsigned char trampoline[24] = {
761
- /* endbr64 */
762
- 0xf3, 0x0f, 0x1e, 0xfa,
763
- /* leaq -0xb(%rip),%r10 # 0x0 */
764
- 0x4c, 0x8d, 0x15, 0xf5, 0xff, 0xff, 0xff,
765
- /* jmpq *0x7(%rip) # 0x18 */
766
- 0xff, 0x25, 0x07, 0x00, 0x00, 0x00,
767
- /* nopl 0(%rax) */
768
- 0x0f, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00
769
- };
770
- void (*dest)(void);
771
- char *tramp = closure->tramp;
772
-
773
- #ifndef __ILP32__
774
- if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
775
- return ffi_prep_closure_loc_efi64(closure, cif, fun, user_data, codeloc);
776
- #endif
777
- if (cif->abi != FFI_UNIX64)
778
- return FFI_BAD_ABI;
779
-
780
- if (cif->flags & UNIX64_FLAG_XMM_ARGS)
781
- dest = ffi_closure_unix64_sse;
782
- else
783
- dest = ffi_closure_unix64;
784
-
785
- #if defined(FFI_EXEC_STATIC_TRAMP)
786
- if (ffi_tramp_is_present(closure))
787
- {
788
- /* Initialize the static trampoline's parameters. */
789
- if (dest == ffi_closure_unix64_sse)
790
- dest = ffi_closure_unix64_sse_alt;
791
- else
792
- dest = ffi_closure_unix64_alt;
793
- ffi_tramp_set_parms (closure->ftramp, dest, closure);
794
- goto out;
795
- }
796
- #endif
797
-
798
- /* Initialize the dynamic trampoline. */
799
- memcpy (tramp, trampoline, sizeof(trampoline));
800
- *(UINT64 *)(tramp + sizeof (trampoline)) = (uintptr_t)dest;
801
-
802
- #if defined(FFI_EXEC_STATIC_TRAMP)
803
- out:
804
- #endif
805
- closure->cif = cif;
806
- closure->fun = fun;
807
- closure->user_data = user_data;
808
-
809
- return FFI_OK;
810
- }
811
-
812
- int FFI_HIDDEN
813
- ffi_closure_unix64_inner(ffi_cif *cif,
814
- void (*fun)(ffi_cif*, void*, void**, void*),
815
- void *user_data,
816
- void *rvalue,
817
- struct register_args *reg_args,
818
- char *argp)
819
- {
820
- void **avalue;
821
- ffi_type **arg_types;
822
- long i, avn;
823
- int gprcount, ssecount, ngpr, nsse;
824
- int flags;
825
-
826
- avn = cif->nargs;
827
- flags = cif->flags;
828
- avalue = alloca(avn * sizeof(void *));
829
- gprcount = ssecount = 0;
830
-
831
- if (flags & UNIX64_FLAG_RET_IN_MEM)
832
- {
833
- /* On return, %rax will contain the address that was passed
834
- by the caller in %rdi. */
835
- void *r = (void *)(uintptr_t)reg_args->gpr[gprcount++];
836
- *(void **)rvalue = r;
837
- rvalue = r;
838
- flags = (sizeof(void *) == 4 ? UNIX64_RET_UINT32 : UNIX64_RET_INT64);
839
- }
840
-
841
- arg_types = cif->arg_types;
842
- for (i = 0; i < avn; ++i)
843
- {
844
- enum x86_64_reg_class classes[MAX_CLASSES];
845
- size_t n;
846
-
847
- n = examine_argument (arg_types[i], classes, 0, &ngpr, &nsse);
848
- if (n == 0
849
- || gprcount + ngpr > MAX_GPR_REGS
850
- || ssecount + nsse > MAX_SSE_REGS)
851
- {
852
- long align = arg_types[i]->alignment;
853
-
854
- /* Stack arguments are *always* at least 8 byte aligned. */
855
- if (align < 8)
856
- align = 8;
857
-
858
- /* Pass this argument in memory. */
859
- argp = (void *) FFI_ALIGN (argp, align);
860
- avalue[i] = argp;
861
- argp += arg_types[i]->size;
862
- }
863
- /* If the argument is in a single register, or two consecutive
864
- integer registers, then we can use that address directly. */
865
- else if (n == 1
866
- || (n == 2 && !(SSE_CLASS_P (classes[0])
867
- || SSE_CLASS_P (classes[1]))))
868
- {
869
- /* The argument is in a single register. */
870
- if (SSE_CLASS_P (classes[0]))
871
- {
872
- avalue[i] = &reg_args->sse[ssecount];
873
- ssecount += n;
874
- }
875
- else
876
- {
877
- avalue[i] = &reg_args->gpr[gprcount];
878
- gprcount += n;
879
- }
880
- }
881
- /* Otherwise, allocate space to make them consecutive. */
882
- else
883
- {
884
- char *a = alloca (16);
885
- unsigned int j;
886
-
887
- avalue[i] = a;
888
- for (j = 0; j < n; j++, a += 8)
889
- {
890
- if (SSE_CLASS_P (classes[j]))
891
- memcpy (a, &reg_args->sse[ssecount++], 8);
892
- else
893
- memcpy (a, &reg_args->gpr[gprcount++], 8);
894
- }
895
- }
896
- }
897
-
898
- /* Invoke the closure. */
899
- fun (cif, rvalue, avalue, user_data);
900
-
901
- /* Tell assembly how to perform return type promotions. */
902
- return flags;
903
- }
904
-
905
- #ifdef FFI_GO_CLOSURES
906
-
907
- extern void ffi_go_closure_unix64(void) FFI_HIDDEN;
908
- extern void ffi_go_closure_unix64_sse(void) FFI_HIDDEN;
909
-
910
- #ifndef __ILP32__
911
- extern ffi_status
912
- ffi_prep_go_closure_efi64(ffi_go_closure* closure, ffi_cif* cif,
913
- void (*fun)(ffi_cif*, void*, void**, void*));
914
- #endif
915
-
916
- ffi_status
917
- ffi_prep_go_closure (ffi_go_closure* closure, ffi_cif* cif,
918
- void (*fun)(ffi_cif*, void*, void**, void*))
919
- {
920
- #ifndef __ILP32__
921
- if (cif->abi == FFI_EFI64 || cif->abi == FFI_GNUW64)
922
- return ffi_prep_go_closure_efi64(closure, cif, fun);
923
- #endif
924
- if (cif->abi != FFI_UNIX64)
925
- return FFI_BAD_ABI;
926
-
927
- closure->tramp = (cif->flags & UNIX64_FLAG_XMM_ARGS
928
- ? ffi_go_closure_unix64_sse
929
- : ffi_go_closure_unix64);
930
- closure->cif = cif;
931
- closure->fun = fun;
932
-
933
- return FFI_OK;
934
- }
935
-
936
- #endif /* FFI_GO_CLOSURES */
937
-
938
- #if defined(FFI_EXEC_STATIC_TRAMP)
939
- void *
940
- ffi_tramp_arch (size_t *tramp_size, size_t *map_size)
941
- {
942
- extern void *trampoline_code_table;
943
-
944
- *map_size = UNIX64_TRAMP_MAP_SIZE;
945
- *tramp_size = UNIX64_TRAMP_SIZE;
946
- return &trampoline_code_table;
947
- }
948
- #endif
949
-
950
- #endif /* __x86_64__ */