cybrid_api_organization_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 (696) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +5 -5
  4. data/cybrid_api_organization_ruby.gemspec +1 -1
  5. data/lib/cybrid_api_organization_ruby/api/organizations_organization_api.rb +1 -1
  6. data/lib/cybrid_api_organization_ruby/api/subscriptions_organization_api.rb +1 -1
  7. data/lib/cybrid_api_organization_ruby/api_client.rb +1 -1
  8. data/lib/cybrid_api_organization_ruby/api_error.rb +1 -1
  9. data/lib/cybrid_api_organization_ruby/configuration.rb +1 -1
  10. data/lib/cybrid_api_organization_ruby/models/error_response_organization_model.rb +1 -1
  11. data/lib/cybrid_api_organization_ruby/models/organization_organization_model.rb +1 -1
  12. data/lib/cybrid_api_organization_ruby/models/patch_organization_organization_model.rb +1 -1
  13. data/lib/cybrid_api_organization_ruby/models/post_subscription_organization_model.rb +1 -1
  14. data/lib/cybrid_api_organization_ruby/models/subscription_environment_organization_model.rb +1 -1
  15. data/lib/cybrid_api_organization_ruby/models/subscription_list_organization_model.rb +1 -1
  16. data/lib/cybrid_api_organization_ruby/models/subscription_organization_model.rb +1 -1
  17. data/lib/cybrid_api_organization_ruby/models/subscription_state_organization_model.rb +1 -1
  18. data/lib/cybrid_api_organization_ruby/models/subscription_type_organization_model.rb +1 -1
  19. data/lib/cybrid_api_organization_ruby/version.rb +2 -2
  20. data/lib/cybrid_api_organization_ruby.rb +1 -1
  21. data/spec/api/organizations_organization_api_spec.rb +1 -1
  22. data/spec/api/subscriptions_organization_api_spec.rb +1 -1
  23. data/spec/api_client_spec.rb +1 -1
  24. data/spec/configuration_spec.rb +1 -1
  25. data/spec/models/error_response_organization_model_spec.rb +1 -1
  26. data/spec/models/organization_organization_model_spec.rb +1 -1
  27. data/spec/models/patch_organization_organization_model_spec.rb +1 -1
  28. data/spec/models/post_subscription_organization_model_spec.rb +1 -1
  29. data/spec/models/subscription_environment_organization_model_spec.rb +1 -1
  30. data/spec/models/subscription_list_organization_model_spec.rb +1 -1
  31. data/spec/models/subscription_organization_model_spec.rb +1 -1
  32. data/spec/models/subscription_state_organization_model_spec.rb +1 -1
  33. data/spec/models/subscription_type_organization_model_spec.rb +1 -1
  34. data/spec/spec_helper.rb +1 -1
  35. data/vendor/bundle/ruby/3.2.0/cache/ffi-1.17.0-x86_64-linux-gnu.gem +0 -0
  36. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-11.1.3/gem_make.out +5 -5
  37. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  38. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.1.2/gem_make.out +5 -5
  39. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.0/gem_make.out +5 -5
  40. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.1.0/gem_make.out +5 -5
  41. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/CHANGELOG.md +42 -0
  42. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/Gemfile +9 -2
  43. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/README.md +1 -1
  44. data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/Rakefile +17 -5
  45. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/2.5/ffi_c.so +0 -0
  46. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/2.6/ffi_c.so +0 -0
  47. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/2.7/ffi_c.so +0 -0
  48. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.0/ffi_c.so +0 -0
  49. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.1/ffi_c.so +0 -0
  50. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.2/ffi_c.so +0 -0
  51. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/3.3/ffi_c.so +0 -0
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/lib/ffi/version.rb +3 -0
  65. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/abstract_memory.rbs +165 -0
  66. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/auto_pointer.rbs +27 -0
  67. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/buffer.rbs +18 -0
  68. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/data_converter.rbs +10 -0
  69. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/dynamic_library.rbs +9 -0
  70. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/enum.rbs +38 -0
  71. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs +39 -0
  72. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/library.rbs +42 -0
  73. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/native_type.rbs +86 -0
  74. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/pointer.rbs +42 -0
  75. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct.rbs +76 -0
  76. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_by_reference.rbs +11 -0
  77. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_by_value.rbs +7 -0
  78. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_layout.rbs +9 -0
  79. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/struct_layout_builder.rbs +5 -0
  80. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/type.rbs +39 -0
  81. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi.rbs +26 -0
  82. data/vendor/bundle/ruby/3.2.0/specifications/ffi-1.17.0-x86_64-linux-gnu.gemspec +31 -0
  83. metadata +136 -630
  84. data/vendor/bundle/ruby/3.2.0/cache/ffi-1.16.3.gem +0 -0
  85. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/ffi_c.so +0 -0
  86. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/gem.build_complete +0 -0
  87. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/gem_make.out +0 -55
  88. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/ffi-1.16.3/mkmf.log +0 -268
  89. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.c +0 -1128
  90. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/AbstractMemory.h +0 -176
  91. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.c +0 -198
  92. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ArrayType.h +0 -60
  93. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Buffer.c +0 -417
  94. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Call.c +0 -498
  95. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Call.h +0 -107
  96. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.c +0 -333
  97. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ClosurePool.h +0 -59
  98. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.c +0 -397
  99. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/DynamicLibrary.h +0 -98
  100. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Function.c +0 -1063
  101. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Function.h +0 -84
  102. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/FunctionInfo.c +0 -322
  103. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LastError.c +0 -243
  104. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LastError.h +0 -47
  105. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.c +0 -65
  106. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/LongDouble.h +0 -47
  107. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Makefile +0 -269
  108. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.c +0 -211
  109. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MappedType.h +0 -57
  110. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.c +0 -219
  111. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MemoryPointer.h +0 -49
  112. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.c +0 -350
  113. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/MethodHandle.h +0 -56
  114. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Platform.c +0 -78
  115. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Platform.h +0 -45
  116. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.c +0 -546
  117. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Pointer.h +0 -60
  118. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Struct.c +0 -897
  119. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Struct.h +0 -115
  120. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.c +0 -177
  121. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/StructByValue.h +0 -55
  122. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/StructLayout.c +0 -769
  123. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Thread.c +0 -129
  124. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Thread.h +0 -76
  125. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Type.c +0 -447
  126. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Type.h +0 -63
  127. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Types.c +0 -138
  128. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Types.h +0 -88
  129. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/Variadic.c +0 -345
  130. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/compat.h +0 -82
  131. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/extconf.h +0 -8
  132. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/extconf.rb +0 -115
  133. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/ffi.c +0 -97
  134. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/site.exp +0 -16
  135. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor/unix-noexec.exp +0 -7
  136. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.appveyor.yml +0 -84
  137. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/ar-lib +0 -270
  138. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/bfin-sim.exp +0 -58
  139. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/build-cross-in-container.sh +0 -18
  140. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/build-in-container.sh +0 -10
  141. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/build.sh +0 -124
  142. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/compile +0 -351
  143. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/install.sh +0 -78
  144. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/m32r-sim.exp +0 -58
  145. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/moxie-sim.exp +0 -60
  146. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/msvs-detect +0 -1103
  147. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/or1k-sim.exp +0 -58
  148. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/powerpc-eabisim.exp +0 -58
  149. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/site.exp +0 -29
  150. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.ci/wine-sim.exp +0 -55
  151. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.circleci/config.yml +0 -156
  152. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.gitattributes +0 -4
  153. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/issue_template.md +0 -10
  154. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/build.yml +0 -460
  155. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.github/workflows/emscripten.yml +0 -171
  156. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/.gitignore +0 -46
  157. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/ChangeLog.old +0 -7407
  158. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE +0 -21
  159. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/LICENSE-BUILDTOOLS +0 -353
  160. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/Makefile.am +0 -157
  161. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/Makefile.in +0 -2127
  162. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/README.md +0 -526
  163. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/acinclude.m4 +0 -377
  164. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/autogen.sh +0 -2
  165. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/compile +0 -348
  166. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.guess +0 -1754
  167. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/config.sub +0 -1892
  168. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure +0 -22791
  169. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.ac +0 -451
  170. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/configure.host +0 -337
  171. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/Makefile.am +0 -3
  172. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/Makefile.in +0 -818
  173. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/libffi.texi +0 -1046
  174. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/doc/version.texi +0 -4
  175. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/fficonfig.h.in +0 -188
  176. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +0 -312
  177. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/Makefile.am +0 -9
  178. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/Makefile.in +0 -609
  179. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi.h.in +0 -527
  180. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_cfi.h +0 -76
  181. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/ffi_common.h +0 -182
  182. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/include/tramp.h +0 -45
  183. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/install-sh +0 -541
  184. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.map.in +0 -76
  185. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.pc.in +0 -11
  186. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libffi.xcodeproj/project.pbxproj +0 -997
  187. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-ldflags +0 -106
  188. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/libtool-version +0 -29
  189. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/ltmain.sh +0 -11448
  190. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/asmcfi.m4 +0 -13
  191. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_append_flag.m4 +0 -50
  192. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cc_maxopt.m4 +0 -198
  193. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_cflags_warn_all.m4 +0 -158
  194. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +0 -53
  195. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_compiler_vendor.m4 +0 -119
  196. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_configure_args.m4 +0 -49
  197. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_enable_builddir.m4 +0 -302
  198. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_archflag.m4 +0 -267
  199. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_gcc_x86_cpuid.m4 +0 -89
  200. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_prepend_flag.m4 +0 -51
  201. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/m4/ax_require_defined.m4 +0 -37
  202. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/make_sunver.pl +0 -333
  203. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/Makefile.am +0 -8
  204. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/Makefile.in +0 -565
  205. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi.3 +0 -41
  206. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_call.3 +0 -103
  207. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif.3 +0 -68
  208. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/man/ffi_prep_cif_var.3 +0 -73
  209. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/missing +0 -215
  210. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.sln +0 -33
  211. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvc_build/aarch64/Ffi_staticLib.vcxproj +0 -130
  212. 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
  213. 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
  214. 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
  215. 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
  216. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/msvcc.sh +0 -353
  217. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffi.c +0 -1129
  218. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/ffitarget.h +0 -97
  219. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/internal.h +0 -100
  220. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/sysv.S +0 -543
  221. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/aarch64/win64_armasm.S +0 -506
  222. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffi.c +0 -521
  223. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/ffitarget.h +0 -57
  224. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/internal.h +0 -23
  225. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/alpha/osf.S +0 -282
  226. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/arcompact.S +0 -210
  227. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffi.c +0 -443
  228. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arc/ffitarget.h +0 -67
  229. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffi.c +0 -921
  230. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/ffitarget.h +0 -89
  231. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/internal.h +0 -17
  232. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv.S +0 -456
  233. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/arm/sysv_msvc_arm32.S +0 -311
  234. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffi.c +0 -423
  235. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/ffitarget.h +0 -55
  236. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/avr32/sysv.S +0 -208
  237. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffi.c +0 -196
  238. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/ffitarget.h +0 -43
  239. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/bfin/sysv.S +0 -179
  240. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/closures.c +0 -1107
  241. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffi.c +0 -386
  242. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/ffitarget.h +0 -56
  243. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/cris/sysv.S +0 -215
  244. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffi.c +0 -395
  245. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/ffitarget.h +0 -63
  246. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/csky/sysv.S +0 -371
  247. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/debug.c +0 -64
  248. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/dlmalloc.c +0 -5171
  249. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/eabi.S +0 -128
  250. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffi.c +0 -292
  251. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/frv/ffitarget.h +0 -62
  252. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffi.c +0 -616
  253. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ffitarget.h +0 -56
  254. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/ia64_flags.h +0 -40
  255. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/ia64/unix.S +0 -585
  256. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/java_raw_api.c +0 -374
  257. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/asm.h +0 -5
  258. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffi.c +0 -273
  259. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/ffitarget.h +0 -75
  260. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/kvx/sysv.S +0 -127
  261. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffi.c +0 -621
  262. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/ffitarget.h +0 -82
  263. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/loongarch64/sysv.S +0 -327
  264. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffi.c +0 -249
  265. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/ffitarget.h +0 -53
  266. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m32r/sysv.S +0 -121
  267. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffi.c +0 -362
  268. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/ffitarget.h +0 -54
  269. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m68k/sysv.S +0 -357
  270. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffi.c +0 -400
  271. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/ffitarget.h +0 -49
  272. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/m88k/obsd.S +0 -209
  273. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffi.c +0 -330
  274. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/ffitarget.h +0 -53
  275. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/metag/sysv.S +0 -311
  276. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffi.c +0 -321
  277. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/ffitarget.h +0 -53
  278. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/microblaze/sysv.S +0 -302
  279. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffi.c +0 -1309
  280. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/ffitarget.h +0 -251
  281. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/n32.S +0 -772
  282. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/mips/o32.S +0 -561
  283. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/eabi.S +0 -101
  284. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffi.c +0 -310
  285. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/moxie/ffitarget.h +0 -52
  286. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffi.c +0 -304
  287. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/ffitarget.h +0 -52
  288. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/nios2/sysv.S +0 -136
  289. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffi.c +0 -341
  290. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/ffitarget.h +0 -58
  291. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/or1k/sysv.S +0 -107
  292. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi.c +0 -673
  293. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffi64.c +0 -614
  294. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/ffitarget.h +0 -94
  295. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux32.S +0 -417
  296. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/hpux64.S +0 -681
  297. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/pa/linux.S +0 -427
  298. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix.S +0 -566
  299. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/aix_closure.S +0 -694
  300. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/asm.h +0 -125
  301. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin.S +0 -378
  302. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/darwin_closure.S +0 -571
  303. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi.c +0 -175
  304. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_darwin.c +0 -1452
  305. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +0 -1153
  306. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_powerpc.h +0 -105
  307. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +0 -923
  308. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ffitarget.h +0 -204
  309. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64.S +0 -293
  310. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +0 -566
  311. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +0 -397
  312. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/sysv.S +0 -173
  313. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/powerpc/t-aix +0 -5
  314. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/prep_cif.c +0 -283
  315. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/raw_api.c +0 -267
  316. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffi.c +0 -514
  317. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/ffitarget.h +0 -69
  318. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/riscv/sysv.S +0 -293
  319. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffi.c +0 -756
  320. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/ffitarget.h +0 -70
  321. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/internal.h +0 -11
  322. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/s390/sysv.S +0 -325
  323. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffi.c +0 -717
  324. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/ffitarget.h +0 -54
  325. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh/sysv.S +0 -850
  326. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffi.c +0 -469
  327. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/ffitarget.h +0 -58
  328. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sh64/sysv.S +0 -539
  329. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi.c +0 -468
  330. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffi64.c +0 -624
  331. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/ffitarget.h +0 -81
  332. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/internal.h +0 -26
  333. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v8.S +0 -443
  334. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/sparc/v9.S +0 -440
  335. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffi.c +0 -355
  336. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/ffitarget.h +0 -65
  337. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tile/tile.S +0 -360
  338. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/tramp.c +0 -716
  339. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/types.c +0 -108
  340. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/elfbsd.S +0 -195
  341. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffi.c +0 -276
  342. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/vax/ffitarget.h +0 -49
  343. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffi.c +0 -934
  344. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/wasm32/ffitarget.h +0 -62
  345. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/asmnames.h +0 -30
  346. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi.c +0 -832
  347. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffi64.c +0 -950
  348. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -164
  349. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/ffiw64.c +0 -361
  350. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal.h +0 -43
  351. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/internal64.h +0 -36
  352. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv.S +0 -1272
  353. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/sysv_intel.S +0 -998
  354. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/unix64.S +0 -711
  355. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64.S +0 -254
  356. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/x86/win64_intel.S +0 -238
  357. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffi.c +0 -306
  358. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/ffitarget.h +0 -57
  359. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/src/xtensa/sysv.S +0 -268
  360. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/stamp-h.in +0 -1
  361. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/Makefile.am +0 -135
  362. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/Makefile.in +0 -664
  363. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/config/default.exp +0 -1
  364. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +0 -54
  365. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/build.sh +0 -63
  366. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/conftest.py +0 -80
  367. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +0 -48
  368. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test.html +0 -7
  369. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/emscripten/test_libffi.py +0 -51
  370. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/lib/libffi.exp +0 -682
  371. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/lib/target-libpath.exp +0 -283
  372. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/lib/wrapper.exp +0 -45
  373. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/Makefile +0 -28
  374. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/README +0 -78
  375. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/alignof.h +0 -50
  376. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/bhaible.exp +0 -63
  377. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-call.c +0 -1746
  378. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/test-callback.c +0 -2885
  379. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +0 -747
  380. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_mixed.c +0 -46
  381. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/align_stdcall.c +0 -46
  382. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/bpo_38748.c +0 -41
  383. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/call.exp +0 -54
  384. 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
  385. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +0 -163
  386. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float.c +0 -59
  387. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float1.c +0 -60
  388. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float2.c +0 -61
  389. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float3.c +0 -74
  390. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float4.c +0 -62
  391. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/float_va.c +0 -110
  392. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many.c +0 -59
  393. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many2.c +0 -57
  394. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_double.c +0 -70
  395. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/many_mixed.c +0 -78
  396. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/negint.c +0 -52
  397. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/offsets.c +0 -46
  398. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pr1172638.c +0 -127
  399. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/promotion.c +0 -59
  400. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/pyobjc_tc.c +0 -114
  401. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl.c +0 -36
  402. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl1.c +0 -43
  403. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_dbl2.c +0 -42
  404. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl.c +0 -35
  405. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl1.c +0 -36
  406. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl2.c +0 -49
  407. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_fl3.c +0 -42
  408. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ldl.c +0 -34
  409. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll.c +0 -41
  410. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ll1.c +0 -48
  411. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sc.c +0 -36
  412. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_sl.c +0 -42
  413. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_uc.c +0 -38
  414. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/return_ul.c +0 -42
  415. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/s55.c +0 -60
  416. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen.c +0 -43
  417. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen2.c +0 -49
  418. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen3.c +0 -49
  419. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/strlen4.c +0 -55
  420. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct1.c +0 -67
  421. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct10.c +0 -57
  422. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct2.c +0 -67
  423. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct3.c +0 -60
  424. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct4.c +0 -64
  425. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct5.c +0 -66
  426. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct6.c +0 -64
  427. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct7.c +0 -74
  428. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct8.c +0 -81
  429. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/struct9.c +0 -68
  430. 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
  431. 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
  432. 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
  433. 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
  434. 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
  435. 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
  436. 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
  437. 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
  438. 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
  439. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/uninitialized.c +0 -61
  440. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_1.c +0 -78
  441. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_2.c +0 -220
  442. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_3.c +0 -154
  443. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct1.c +0 -134
  444. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +0 -134
  445. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +0 -140
  446. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure.exp +0 -67
  447. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn0.c +0 -90
  448. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn1.c +0 -83
  449. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn2.c +0 -83
  450. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn3.c +0 -102
  451. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn4.c +0 -91
  452. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn5.c +0 -94
  453. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_fn6.c +0 -92
  454. 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
  455. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/closure_simple.c +0 -61
  456. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_12byte.c +0 -112
  457. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_16byte.c +0 -117
  458. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_18byte.c +0 -120
  459. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_19byte.c +0 -131
  460. 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
  461. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte.c +0 -109
  462. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_20byte1.c +0 -113
  463. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_24byte.c +0 -145
  464. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_2byte.c +0 -103
  465. 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
  466. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte1.c +0 -103
  467. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3byte2.c +0 -103
  468. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_3float.c +0 -113
  469. 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
  470. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_4byte.c +0 -103
  471. 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
  472. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_5byte.c +0 -116
  473. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_64byte.c +0 -148
  474. 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
  475. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_6byte.c +0 -121
  476. 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
  477. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_7byte.c +0 -121
  478. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_8byte.c +0 -102
  479. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte1.c +0 -103
  480. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_9byte2.c +0 -103
  481. 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
  482. 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
  483. 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
  484. 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
  485. 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
  486. 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
  487. 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
  488. 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
  489. 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
  490. 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
  491. 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
  492. 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
  493. 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
  494. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_double.c +0 -43
  495. 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
  496. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_float.c +0 -46
  497. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_longdouble.c +0 -115
  498. 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
  499. 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
  500. 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
  501. 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
  502. 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
  503. 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
  504. 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
  505. 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
  506. 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
  507. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_pointer.c +0 -79
  508. 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
  509. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_schar.c +0 -47
  510. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sint.c +0 -44
  511. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_sshort.c +0 -45
  512. 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
  513. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uchar.c +0 -45
  514. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_uint.c +0 -47
  515. 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
  516. 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
  517. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ulonglong.c +0 -49
  518. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/cls_ushort.c +0 -46
  519. 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
  520. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/ffitest.h +0 -1
  521. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +0 -343
  522. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct.c +0 -175
  523. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct1.c +0 -161
  524. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct10.c +0 -146
  525. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct11.c +0 -137
  526. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct12.c +0 -86
  527. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct13.c +0 -115
  528. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct2.c +0 -119
  529. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct3.c +0 -120
  530. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct4.c +0 -120
  531. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct5.c +0 -121
  532. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct6.c +0 -142
  533. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct7.c +0 -120
  534. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct8.c +0 -142
  535. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/nested_struct9.c +0 -142
  536. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/problem1.c +0 -90
  537. 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
  538. 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
  539. 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
  540. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large.c +0 -145
  541. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_large2.c +0 -148
  542. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium.c +0 -124
  543. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/stret_medium2.c +0 -125
  544. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/testclosure.c +0 -75
  545. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +0 -118
  546. 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
  547. 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
  548. 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
  549. 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
  550. 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
  551. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/cls_complex.inc +0 -42
  552. 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
  553. 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
  554. 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
  555. 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
  556. 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
  557. 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
  558. 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
  559. 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
  560. 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
  561. 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
  562. 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
  563. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.exp +0 -36
  564. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex.inc +0 -51
  565. 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
  566. 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
  567. 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
  568. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_double.c +0 -10
  569. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_float.c +0 -10
  570. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +0 -86
  571. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/complex_longdouble.c +0 -10
  572. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/ffitest.h +0 -1
  573. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/many_complex.inc +0 -78
  574. 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
  575. 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
  576. 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
  577. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex.inc +0 -37
  578. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex1.inc +0 -41
  579. 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
  580. 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
  581. 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
  582. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.complex/return_complex2.inc +0 -44
  583. 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
  584. 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
  585. 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
  586. 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
  587. 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
  588. 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
  589. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/aa-direct.c +0 -34
  590. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/closure1.c +0 -28
  591. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/ffitest.h +0 -1
  592. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/go.exp +0 -36
  593. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi/testsuite/libffi.go/static-chain.h +0 -19
  594. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.bsd.mk +0 -40
  595. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.darwin.mk +0 -105
  596. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.gnu.mk +0 -32
  597. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.mk +0 -18
  598. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc.mk +0 -26
  599. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/libffi.vc64.mk +0 -26
  600. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/rbffi.h +0 -55
  601. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/ext/ffi_c/rbffi_endian.h +0 -59
  602. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/platform/aarch64-linux/types.conf +0 -104
  603. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi/version.rb +0 -3
  604. data/vendor/bundle/ruby/3.2.0/gems/ffi-1.16.3/lib/ffi_c.so +0 -0
  605. data/vendor/bundle/ruby/3.2.0/specifications/ffi-1.16.3.gemspec +0 -34
  606. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/COPYING +0 -0
  607. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/LICENSE +0 -0
  608. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/LICENSE.SPECS +0 -0
  609. /data/vendor/bundle/ruby/3.2.0/gems/{ffi-1.16.3 → ffi-1.17.0-x86_64-linux-gnu}/ffi.gemspec +0 -0
  610. /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
  611. /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
  612. /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
  613. /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
  614. /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
  615. /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
  616. /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
  617. /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
  618. /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
  619. /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
  620. /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
  621. /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
  622. /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
  623. /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
  624. /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
  625. /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
  626. /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
  627. /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
  628. /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
  629. /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
  630. /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
  631. /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
  632. /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
  633. /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
  634. /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
  635. /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
  636. /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
  637. /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
  638. /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
  639. /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
  640. /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
  641. /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
  642. /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
  643. /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
  644. /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
  645. /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
  646. /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
  647. /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
  648. /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
  649. /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
  650. /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
  651. /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
  652. /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
  653. /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
  654. /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
  655. /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
  656. /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
  657. /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
  658. /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
  659. /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
  660. /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
  661. /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
  662. /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
  663. /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
  664. /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
  665. /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
  666. /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
  667. /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
  668. /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
  669. /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
  670. /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
  671. /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
  672. /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
  673. /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
  674. /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
  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-solaris/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-windows/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.rb +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/struct_by_reference.rb +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/tools/const_generator.rb +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/tools/generator.rb +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/tools/generator_task.rb +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/tools/struct_generator.rb +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/tools/types_generator.rb +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/union.rb +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/variadic.rb +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.rb +0 -0
  687. /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
  688. /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
  689. /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
  690. /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
  691. /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
  692. /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
  693. /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
  694. /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
  695. /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
  696. /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__ */