rbdc 0.9.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/dyncall/BUGS +1 -1
  3. data/dyncall/CMakeLists.txt +19 -7
  4. data/dyncall/ChangeLog +61 -20
  5. data/dyncall/LICENSE +1 -1
  6. data/dyncall/Makefile.generic +2 -0
  7. data/dyncall/ToDo +97 -29
  8. data/dyncall/autovar/README.txt +1 -0
  9. data/dyncall/autovar/autovar_ABI.h +4 -2
  10. data/dyncall/autovar/autovar_ARCH.h +9 -5
  11. data/dyncall/autovar/autovar_CC.h +3 -1
  12. data/dyncall/autovar/autovar_OS.h +2 -2
  13. data/dyncall/autovar/autovar_OSFAMILY.h +1 -1
  14. data/dyncall/configure +94 -38
  15. data/dyncall/dyncall/dyncall.3 +8 -4
  16. data/dyncall/dyncall/dyncall.h +1 -1
  17. data/dyncall/dyncall/dyncall_alloc.h +1 -1
  18. data/dyncall/dyncall/dyncall_api.c +3 -1
  19. data/dyncall/dyncall/dyncall_call.S +13 -5
  20. data/dyncall/dyncall/dyncall_call_arm32_arm.S +1 -2
  21. data/dyncall/dyncall/dyncall_call_arm32_arm.h +1 -1
  22. data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.S +24 -26
  23. data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.h +1 -1
  24. data/dyncall/dyncall/dyncall_call_arm32_thumb.h +1 -1
  25. data/dyncall/dyncall/dyncall_call_arm32_thumb_armhf.S +1 -1
  26. data/dyncall/dyncall/dyncall_call_arm32_thumb_gas.s +3 -7
  27. data/dyncall/dyncall/dyncall_call_arm64.S +2 -2
  28. data/dyncall/dyncall/dyncall_call_arm64.h +2 -2
  29. data/dyncall/dyncall/dyncall_call_mips.h +1 -1
  30. data/dyncall/dyncall/dyncall_call_mips_eabi.h +1 -1
  31. data/dyncall/dyncall/dyncall_call_mips_eabi_gas.s +16 -16
  32. data/dyncall/dyncall/dyncall_call_mips_gas.S +2 -2
  33. data/dyncall/dyncall/dyncall_call_mips_n32.h +5 -4
  34. data/dyncall/dyncall/dyncall_call_mips_n32_gas.s +4 -4
  35. data/dyncall/dyncall/dyncall_call_mips_n64.h +3 -3
  36. data/dyncall/dyncall/dyncall_call_mips_n64_gas.s +2 -2
  37. data/dyncall/dyncall/dyncall_call_mips_o32.h +4 -3
  38. data/dyncall/dyncall/dyncall_call_mips_o32_gas.s +1 -3
  39. data/dyncall/dyncall/dyncall_call_ppc32.S +1 -1
  40. data/dyncall/dyncall/dyncall_call_ppc32.h +1 -1
  41. data/dyncall/dyncall/dyncall_call_sparc.h +1 -1
  42. data/dyncall/dyncall/{dyncall_call_sparc.S → dyncall_call_sparc.s} +39 -44
  43. data/dyncall/dyncall/dyncall_call_sparc64.h +5 -5
  44. data/dyncall/dyncall/dyncall_call_sparc64.s +177 -0
  45. data/dyncall/dyncall/dyncall_call_x64.S +83 -86
  46. data/dyncall/dyncall/dyncall_call_x64.h +1 -1
  47. data/dyncall/dyncall/dyncall_call_x86.S +9 -9
  48. data/dyncall/dyncall/dyncall_call_x86.h +1 -1
  49. data/dyncall/dyncall/dyncall_call_x86_nasm.asm +5 -5
  50. data/dyncall/dyncall/dyncall_callf.c +18 -18
  51. data/dyncall/dyncall/dyncall_callf.h +1 -1
  52. data/dyncall/dyncall/dyncall_callvm.c +3 -3
  53. data/dyncall/dyncall/dyncall_callvm.h +1 -1
  54. data/dyncall/dyncall/dyncall_callvm_arm32_arm.c +25 -40
  55. data/dyncall/dyncall/dyncall_callvm_arm32_arm.h +1 -5
  56. data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.c +25 -33
  57. data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.h +1 -5
  58. data/dyncall/dyncall/dyncall_callvm_arm32_thumb.c +24 -36
  59. data/dyncall/dyncall/dyncall_callvm_arm32_thumb.h +1 -5
  60. data/dyncall/dyncall/dyncall_callvm_arm64.c +23 -27
  61. data/dyncall/dyncall/dyncall_callvm_arm64.h +2 -6
  62. data/dyncall/dyncall/dyncall_callvm_arm64_apple.c +23 -30
  63. data/dyncall/dyncall/dyncall_callvm_base.c +1 -1
  64. data/dyncall/dyncall/dyncall_callvm_mips.c +1 -1
  65. data/dyncall/dyncall/dyncall_callvm_mips.h +1 -1
  66. data/dyncall/dyncall/dyncall_callvm_mips_eabi.c +30 -27
  67. data/dyncall/dyncall/dyncall_callvm_mips_eabi.h +1 -5
  68. data/dyncall/dyncall/dyncall_callvm_mips_n32.c +24 -30
  69. data/dyncall/dyncall/{dyncall_call_sparc_v9.h → dyncall_callvm_mips_n32.h} +18 -8
  70. data/dyncall/dyncall/dyncall_callvm_mips_n64.c +23 -30
  71. data/dyncall/dyncall/dyncall_callvm_mips_n64.h +4 -6
  72. data/dyncall/dyncall/dyncall_callvm_mips_o32.c +31 -29
  73. data/dyncall/dyncall/dyncall_callvm_mips_o32.h +1 -3
  74. data/dyncall/dyncall/dyncall_callvm_ppc32.c +22 -20
  75. data/dyncall/dyncall/dyncall_callvm_ppc32.h +1 -3
  76. data/dyncall/dyncall/dyncall_callvm_ppc64.c +54 -15
  77. data/dyncall/dyncall/dyncall_callvm_ppc64.h +0 -2
  78. data/dyncall/dyncall/dyncall_callvm_sparc.c +34 -26
  79. data/dyncall/dyncall/dyncall_callvm_sparc.h +1 -3
  80. data/dyncall/dyncall/dyncall_callvm_sparc64.c +94 -150
  81. data/dyncall/dyncall/dyncall_callvm_sparc64.h +11 -17
  82. data/dyncall/dyncall/dyncall_callvm_x64.c +37 -36
  83. data/dyncall/dyncall/dyncall_callvm_x64.h +1 -4
  84. data/dyncall/dyncall/dyncall_callvm_x86.c +22 -63
  85. data/dyncall/dyncall/dyncall_callvm_x86.h +1 -17
  86. data/dyncall/dyncall/dyncall_config.h +1 -1
  87. data/dyncall/dyncall/dyncall_macros.h +28 -19
  88. data/dyncall/dyncall/dyncall_signature.h +1 -1
  89. data/dyncall/dyncall/dyncall_types.h +17 -18
  90. data/dyncall/dyncall/dyncall_utils.h +1 -1
  91. data/dyncall/dyncall/dyncall_value.h +28 -21
  92. data/dyncall/dyncall/dyncall_vector.c +1 -1
  93. data/dyncall/dyncall/dyncall_vector.h +1 -1
  94. data/dyncall/dyncall/gen-masm.sh +2 -2
  95. data/dyncall/dyncallback/CMakeLists.txt +1 -2
  96. data/dyncall/dyncallback/Makefile.generic +1 -1
  97. data/dyncall/dyncallback/dyncall_alloc_wx.c +1 -1
  98. data/dyncall/dyncallback/dyncall_alloc_wx.h +4 -3
  99. data/dyncall/dyncallback/dyncall_alloc_wx_malloc.c +8 -2
  100. data/dyncall/dyncallback/dyncall_alloc_wx_mmap.c +67 -4
  101. data/dyncall/dyncallback/dyncall_alloc_wx_win32.c +7 -2
  102. data/dyncall/dyncallback/dyncall_args.c +19 -15
  103. data/dyncall/dyncallback/dyncall_args.h +1 -1
  104. data/dyncall/dyncallback/{dyncall_args_arm32_arm.c → dyncall_args_arm32.c} +4 -4
  105. data/dyncall/dyncallback/{dyncall_args_arm32_arm.h → dyncall_args_arm32.h} +6 -6
  106. data/dyncall/dyncallback/dyncall_args_arm64.c +2 -2
  107. data/dyncall/dyncallback/dyncall_args_arm64_apple.c +2 -2
  108. data/dyncall/dyncallback/dyncall_args_mips.c +26 -21
  109. data/dyncall/dyncallback/dyncall_args_mips.h +18 -6
  110. data/dyncall/dyncallback/dyncall_args_mips64.c +81 -0
  111. data/dyncall/dyncallback/dyncall_args_mips_o32.c +104 -0
  112. data/dyncall/dyncallback/dyncall_args_ppc32.c +2 -2
  113. data/dyncall/dyncallback/dyncall_args_ppc32.h +1 -1
  114. data/dyncall/dyncallback/dyncall_args_ppc32_sysv.c +1 -1
  115. data/dyncall/dyncallback/dyncall_args_ppc64.c +24 -3
  116. data/dyncall/dyncallback/dyncall_args_sparc32.c +41 -15
  117. data/dyncall/dyncallback/dyncall_args_sparc32.h +2 -2
  118. data/dyncall/dyncallback/dyncall_args_sparc64.c +28 -15
  119. data/dyncall/dyncallback/dyncall_args_sparc64.h +7 -3
  120. data/dyncall/dyncallback/dyncall_args_x64.c +1 -1
  121. data/dyncall/dyncallback/dyncall_args_x64.h +1 -1
  122. data/dyncall/dyncallback/dyncall_args_x86.c +1 -1
  123. data/dyncall/dyncallback/dyncall_args_x86.h +1 -1
  124. data/dyncall/dyncallback/dyncall_callback.c +10 -12
  125. data/dyncall/dyncallback/dyncall_callback.h +2 -4
  126. data/dyncall/dyncallback/dyncall_callback_arch.S +12 -2
  127. data/dyncall/dyncallback/{dyncall_callback_arm32_arm.c → dyncall_callback_arm32.c} +25 -10
  128. data/dyncall/dyncallback/dyncall_callback_arm32_arm_apple.s +7 -7
  129. data/dyncall/dyncallback/dyncall_callback_arm32_arm_gas.S +9 -9
  130. data/dyncall/dyncallback/dyncall_callback_arm32_thumb_apple.S +1 -1
  131. data/dyncall/dyncallback/dyncall_callback_arm32_thumb_gas.S +1 -1
  132. data/dyncall/dyncallback/dyncall_callback_arm64.S +2 -2
  133. data/dyncall/dyncallback/dyncall_callback_arm64.c +20 -14
  134. data/dyncall/dyncallback/dyncall_callback_mips.c +26 -9
  135. data/dyncall/dyncallback/dyncall_callback_mips_eabi_gas.s +99 -0
  136. data/dyncall/dyncallback/{dyncall_args_arm32_thumb.h → dyncall_callback_mips_gas.S} +14 -9
  137. data/dyncall/dyncallback/{dyncall_callback_arm32_thumb.c → dyncall_callback_mips_n32_gas.s} +12 -7
  138. data/dyncall/dyncallback/dyncall_callback_mips_n64_gas.s +98 -0
  139. data/dyncall/dyncallback/dyncall_callback_mips_o32_gas.s +100 -0
  140. data/dyncall/dyncallback/dyncall_callback_ppc32.S +54 -54
  141. data/dyncall/dyncallback/dyncall_callback_ppc32.c +23 -5
  142. data/dyncall/dyncallback/dyncall_callback_ppc32_apple.s +92 -117
  143. data/dyncall/dyncallback/dyncall_callback_ppc64.S +2 -2
  144. data/dyncall/dyncallback/dyncall_callback_ppc64.c +23 -5
  145. data/dyncall/dyncallback/dyncall_callback_sparc32.c +25 -7
  146. data/dyncall/dyncallback/dyncall_callback_sparc32.s +55 -4
  147. data/dyncall/dyncallback/dyncall_callback_sparc64.c +25 -7
  148. data/dyncall/dyncallback/dyncall_callback_sparc64.s +89 -5
  149. data/dyncall/dyncallback/dyncall_callback_x64.S +8 -8
  150. data/dyncall/dyncallback/dyncall_callback_x64.c +19 -6
  151. data/dyncall/dyncallback/dyncall_callback_x86.S +29 -25
  152. data/dyncall/dyncallback/dyncall_callback_x86.c +24 -11
  153. data/dyncall/dyncallback/dyncall_thunk.c +6 -6
  154. data/dyncall/dyncallback/dyncall_thunk.h +9 -7
  155. data/dyncall/dyncallback/{dyncall_thunk_arm32_arm.c → dyncall_thunk_arm32.c} +5 -3
  156. data/dyncall/dyncallback/{dyncall_thunk_arm32_arm.h → dyncall_thunk_arm32.h} +7 -7
  157. data/dyncall/dyncallback/dyncall_thunk_arm64.c +2 -2
  158. data/dyncall/dyncallback/dyncall_thunk_arm64.h +8 -13
  159. data/dyncall/dyncallback/dyncall_thunk_mips.c +16 -20
  160. data/dyncall/dyncallback/dyncall_thunk_mips.h +4 -2
  161. data/dyncall/dyncallback/dyncall_thunk_mips64.c +103 -0
  162. data/dyncall/dyncallback/{dyncall_callback_arm32_thumb.h → dyncall_thunk_mips64.h} +15 -8
  163. data/dyncall/dyncallback/dyncall_thunk_ppc32.c +4 -4
  164. data/dyncall/dyncallback/dyncall_thunk_ppc32.h +1 -1
  165. data/dyncall/dyncallback/dyncall_thunk_ppc32_sysv.c +9 -9
  166. data/dyncall/dyncallback/dyncall_thunk_ppc64.c +2 -2
  167. data/dyncall/dyncallback/dyncall_thunk_sparc32.c +19 -2
  168. data/dyncall/dyncallback/dyncall_thunk_sparc32.h +5 -4
  169. data/dyncall/dyncallback/dyncall_thunk_sparc64.c +42 -2
  170. data/dyncall/dyncallback/dyncall_thunk_sparc64.h +5 -5
  171. data/dyncall/dyncallback/dyncall_thunk_x64.c +1 -1
  172. data/dyncall/dyncallback/dyncall_thunk_x64.h +2 -2
  173. data/dyncall/dyncallback/dyncall_thunk_x86.c +1 -1
  174. data/dyncall/dyncallback/dyncall_thunk_x86.h +2 -2
  175. data/dyncall/dyncallback/dyncallback.3 +16 -11
  176. data/dyncall/dynload/dynload.3 +63 -8
  177. data/dyncall/dynload/dynload.c +2 -8
  178. data/dyncall/dynload/dynload.h +9 -5
  179. data/dyncall/dynload/dynload_alloc.h +1 -1
  180. data/dyncall/dynload/dynload_syms.c +1 -3
  181. data/dyncall/dynload/dynload_syms_elf.c +19 -11
  182. data/dyncall/dynload/dynload_syms_mach-o.c +151 -75
  183. data/dyncall/dynload/dynload_syms_pe.c +24 -24
  184. data/dyncall/dynload/dynload_unix.c +156 -13
  185. data/dyncall/dynload/dynload_windows.c +15 -11
  186. data/dyncall/portasm/portasm-arm.S +1 -1
  187. data/dyncall/portasm/portasm-ppc.S +1 -1
  188. data/dyncall/portasm/{portasm-x64-att.S → portasm-x64.S} +7 -4
  189. data/dyncall/portasm/portasm-x86.S +4 -2
  190. data/{dyncall-bindings/ruby/rbdc/extconf.rb → extconf.rb} +4 -4
  191. data/{dyncall-bindings/ruby/rbdc/rbdc.c → rbdc.c} +5 -5
  192. metadata +24 -48
  193. data/dyncall/Makefile.M +0 -15
  194. data/dyncall/buildsys/dynmake/Makefile.base.M +0 -82
  195. data/dyncall/buildsys/dynmake/dynmake.bat +0 -2
  196. data/dyncall/buildsys/dynmake/dynmake.sh +0 -4
  197. data/dyncall/dynMakefile +0 -4
  198. data/dyncall/dyncall/Makefile.M +0 -10
  199. data/dyncall/dyncall/TODO +0 -9
  200. data/dyncall/dyncall/dynMakefile +0 -4
  201. data/dyncall/dyncall/dyncall_call_sparc64.S +0 -362
  202. data/dyncall/dyncall/dyncall_call_sparc_v9.S +0 -222
  203. data/dyncall/dyncall/dyncall_call_x64-att.S +0 -147
  204. data/dyncall/dyncall/dyncall_callvm_sparc_v9.c +0 -182
  205. data/dyncall/dyncall/dyncall_callvm_sparc_v9.h +0 -46
  206. data/dyncall/dyncallback/Makefile.M +0 -10
  207. data/dyncall/dyncallback/README.txt +0 -9
  208. data/dyncall/dyncallback/TODO +0 -4
  209. data/dyncall/dyncallback/dynMakefile +0 -4
  210. data/dyncall/dyncallback/dyncall_args_arm32_thumb.c +0 -30
  211. data/dyncall/dyncallback/dyncall_callback_arm32_arm.h +0 -46
  212. data/dyncall/dyncallback/dyncall_callback_mips.h +0 -43
  213. data/dyncall/dyncallback/dyncall_callback_ppc32.h +0 -43
  214. data/dyncall/dyncallback/dyncall_callback_ppc64.h +0 -56
  215. data/dyncall/dyncallback/dyncall_callback_sparc32.h +0 -44
  216. data/dyncall/dyncallback/dyncall_callback_x64.h +0 -45
  217. data/dyncall/dyncallback/dyncall_callback_x86.h +0 -50
  218. data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.c +0 -30
  219. data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.h +0 -36
  220. data/dyncall/dynload/Makefile.M +0 -10
  221. data/dyncall/dynload/TODO +0 -20
  222. data/dyncall/dynload/dynMakefile +0 -4
  223. data/dyncall/dynload/dynload_darwin.c +0 -90
@@ -6,7 +6,7 @@
6
6
  Description:
7
7
  License:
8
8
 
9
- Copyright (c) 2007-2015 Daniel Adler <dadler@uni-goettingen.de>,
9
+ Copyright (c) 2007-2018 Daniel Adler <dadler@uni-goettingen.de>,
10
10
  Tassilo Philipp <tphilipp@potion-studios.com>
11
11
 
12
12
  Permission to use, copy, modify, and distribute this software for any
@@ -24,7 +24,6 @@
24
24
  */
25
25
 
26
26
 
27
-
28
27
  /*
29
28
 
30
29
  dynload_unix.c
@@ -35,31 +34,175 @@
35
34
 
36
35
 
37
36
  #include "dynload.h"
37
+ #include "../autovar/autovar_OS.h"
38
+
39
+ #include <string.h>
38
40
 
41
+ #if defined(__GLIBC__) /* to access dlinfo */
42
+ # define _GNU_SOURCE
43
+ # define __USE_GNU
44
+ #endif
39
45
  #include <dlfcn.h>
40
46
 
41
47
 
42
48
  DLLib* dlLoadLibrary(const char* libPath)
43
49
  {
44
- return (DLLib*)dlopen(libPath,RTLD_NOW|RTLD_GLOBAL);
50
+ return (DLLib*)dlopen(libPath, RTLD_NOW|RTLD_GLOBAL); //@@@ should use RTLD_LAZY, maybe?
51
+ }
52
+
53
+
54
+ void* dlFindSymbol(DLLib* pLib, const char* pSymbolName)
55
+ {
56
+ return dlsym((void*)pLib, pSymbolName);
57
+ }
58
+
59
+
60
+ void dlFreeLibrary(DLLib* pLib)
61
+ {
62
+ /* Check for NULL for cross-platform consistency. *BSD seems to do that in
63
+ dlclose, Linux does not. POSIX states "if handle does not refer to an open
64
+ object, dlclose() returns a non-zero value", which unfortunately sounds
65
+ like it's not explicitly specified. */
66
+ if(pLib)
67
+ dlclose((void*)pLib);
68
+ }
69
+
70
+
71
+
72
+ /* for dlopen-based dlGetLibraryPath impls below, prefer RTLD_NOLOAD */
73
+ /* that merely checks lib names */
74
+ #if defined(RTLD_NOLOAD)
75
+ # define RTLD_LIGHTEST RTLD_NOLOAD
76
+ #else
77
+ # define RTLD_LIGHTEST RTLD_LAZY
78
+ #endif
79
+
80
+
81
+ /* code for dlGetLibraryPath is platform specific - if dlinfo() exists use */
82
+ /* that: check for RTLD_DI_LINKMAP (#define for dlinfo()), or if GNU C Lib */
83
+ /* is used (where RTLD_DI_LINKMAP is an enum), or by OS (dlinfo comes from */
84
+ /* Solaris), etc. */
85
+ #if defined(RTLD_DI_LINKMAP) || defined(OS_SunOS) || defined(__GLIBC__) /* @@@ dlinfo() was introduced in glibc 2.3.3 (in 2003), somehow check for that, also */
86
+
87
+ #include <link.h>
88
+
89
+ int dlGetLibraryPath(DLLib* pLib, char* sOut, int bufSize)
90
+ {
91
+ struct link_map* p;
92
+ int l = -1;
93
+ if(dlinfo(pLib, RTLD_DI_LINKMAP, &p) == 0) {
94
+ l = strlen(p->l_name);
95
+ if(l < bufSize) /* l+'\0' <= bufSize */
96
+ strcpy(sOut, p->l_name);
97
+ }
98
+ return l+1; /* strlen + '\0' */
45
99
  }
46
100
 
47
101
 
48
- void* dlFindSymbol(DLLib* libHandle, const char* symbol)
102
+ /* specific implementation needed on Darwin -----> */
103
+ #elif defined(OS_Darwin)
104
+
105
+ #include <stdint.h>
106
+ #include <mach-o/dyld.h>
107
+
108
+ int dlGetLibraryPath(DLLib* pLib, char* sOut, int bufSize)
49
109
  {
50
- return dlsym((void*)libHandle, symbol);
110
+ uint32_t i;
111
+ int l = -1;
112
+
113
+ /*if(pLib == RTLD_DEFAULT)
114
+ return NULL; @@@ return exec's path */
115
+
116
+ /* Darwin's code doesn't come with (non-standard) dlinfo(), so use dyld(1) */
117
+ /* code. There doesn't seem to be a direct way to query the library path, */
118
+ /* so "double-load" temporarily all already loaded images (just increases */
119
+ /* ref count) and compare handles until we found ours. Return the name. */
120
+ for(i=_dyld_image_count(); i>0;) /* iterate libs from end, more likely ours */
121
+ {
122
+ const char* libPath = _dyld_get_image_name(--i);
123
+ void* lib = dlopen(libPath, RTLD_LIGHTEST);
124
+ if(lib) {
125
+ dlclose(lib);
126
+ /* compare handle pointers' high bits (in low 2 bits some flags might */
127
+ /* be stored - should be safe b/c address needs alignment, anywas) */
128
+ if(((intptr_t)pLib ^ (intptr_t)lib) < 4) {
129
+ l = strlen(libPath);
130
+ if(l < bufSize) /* l+'\0' <= bufSize */
131
+ strcpy(sOut, libPath);
132
+ break;
133
+ }
134
+ }
135
+ }
136
+
137
+ return l+1; /* strlen + '\0' */
51
138
  }
52
139
 
53
140
 
54
- void dlFreeLibrary(DLLib* libHandle)
141
+ /* OpenBSD >= 3.7 has dl_iterate_phdr(), use it if not explicitly requesting */
142
+ /* to use dladdr()-based guessing (set by configure) -----> */
143
+ #elif defined(OS_OpenBSD) && !defined(DL_DLADDR_TO_LIBPATH)
144
+
145
+ #include <sys/types.h>
146
+ #include <link.h>
147
+
148
+ typedef struct {
149
+ DLLib* pLib;
150
+ char* sOut;
151
+ int bufSize;
152
+ } iter_phdr_data;
153
+
154
+ static int iter_phdr_cb(struct dl_phdr_info* info, size_t size, void* data)
55
155
  {
156
+ int l = -1;
157
+ iter_phdr_data* d = (iter_phdr_data*)data;
158
+ /* unable to relate info->dlpi_addr directly to our dlopen handle, let's */
159
+ /* do what we do on macOS above, re-dlopen the already loaded lib (just */
160
+ /* increases ref count) and compare handles. */
161
+ void* lib = dlopen(info->dlpi_name, RTLD_LIGHTEST);
162
+ if(lib) {
163
+ dlclose(lib);
164
+ if(lib == (void*)d->pLib) {
165
+ l = strlen(info->dlpi_name);
166
+ if(l < d->bufSize) /* l+'\0' <= bufSize */
167
+ strcpy(d->sOut, info->dlpi_name);
168
+ }
169
+ }
170
+ return l+1; /* strlen + '\0'; is 0 if lib not found, which continues iter */
171
+ }
56
172
 
57
- // Check for NULL for cross-platform consistency. *BSD seems
58
- // to do that in dlclose, Linux does not. POSIX states "if handle
59
- // does not refer to an open object, dlclose() returns a non-zero
60
- // value", which unfortunately sounds like it's not explicitly
61
- // specified.
62
- if(libHandle)
63
- dlclose((void*)libHandle);
173
+ int dlGetLibraryPath(DLLib* pLib, char* sOut, int bufSize)
174
+ {
175
+ iter_phdr_data d = { pLib, sOut, bufSize };
176
+ return dl_iterate_phdr(iter_phdr_cb, &d);
64
177
  }
65
178
 
179
+
180
+ /* fallback to dladdr() hack */
181
+ #else
182
+
183
+ /* if nothing else is available, fall back to guessing using dladdr() - this */
184
+ /* might not always work, as it's trying to getit via the _fini() symbol, */
185
+ /* which is usually defined in ELF files, but not guaranteed */
186
+
187
+ /* @@@Note: On some platforms this might be improved, e.g. on BeOS we have */
188
+ /* lt_dlgetinfo, which requires iterating over ltdl stuff, but was unable */
189
+ /* to get that to work (would also introduce a link dependency on libltdl) */
190
+
191
+ int dlGetLibraryPath(DLLib* pLib, char* sOut, int bufSize)
192
+ {
193
+ /* cross fingers that shared object is standard ELF and look for _fini */
194
+ int l = -1;
195
+ void* s = dlsym((void*)pLib, "_fini");
196
+ if(s) {
197
+ Dl_info i;
198
+ if(dladdr(s, &i) != 0) {
199
+ l = strlen(i.dli_fname);
200
+ if(l < bufSize) /* l+'\0' <= bufSize */
201
+ strcpy(sOut, i.dli_fname);
202
+ }
203
+ }
204
+ return l+1; /* strlen + '\0' */
205
+ }
206
+
207
+ #endif
208
+
@@ -6,7 +6,7 @@
6
6
  Description:
7
7
  License:
8
8
 
9
- Copyright (c) 2007-2015 Daniel Adler <dadler@uni-goettingen.de>,
9
+ Copyright (c) 2007-2018 Daniel Adler <dadler@uni-goettingen.de>,
10
10
  Tassilo Philipp <tphilipp@potion-studios.com>
11
11
 
12
12
  Permission to use, copy, modify, and distribute this software for any
@@ -38,23 +38,27 @@
38
38
 
39
39
  #include <windows.h>
40
40
 
41
+
41
42
  DLLib* dlLoadLibrary(const char* libPath)
42
43
  {
43
- if (libPath != NULL) {
44
- return (DLLib*) LoadLibraryA(libPath);
45
- /*return (DLLib*) LoadLibraryA(libPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);*/
46
- } else {
47
- return (DLLib*) GetModuleHandle(NULL);
48
- }
44
+ return (DLLib*)(libPath != NULL ? LoadLibraryA(libPath) : GetModuleHandle(NULL));
49
45
  }
50
46
 
51
- void* dlFindSymbol(DLLib* libHandle, const char* symbol)
47
+
48
+ void* dlFindSymbol(DLLib* pLib, const char* pSymbolName)
52
49
  {
53
- return (void*) GetProcAddress( (HINSTANCE)libHandle, symbol);
50
+ return (void*)GetProcAddress((HINSTANCE)pLib, pSymbolName);
54
51
  }
55
52
 
56
- void dlFreeLibrary(DLLib* libHandle)
53
+
54
+ void dlFreeLibrary(DLLib* pLib)
55
+ {
56
+ FreeLibrary((HINSTANCE)pLib);
57
+ }
58
+
59
+
60
+ int dlGetLibraryPath(DLLib* pLib, char* sOut, int bufSize)
57
61
  {
58
- FreeLibrary( (HINSTANCE)libHandle );
62
+ return GetModuleFileNameA((HMODULE)pLib, sOut, bufSize)+1; /* strlen + '\0' */
59
63
  }
60
64
 
@@ -6,7 +6,7 @@
6
6
  Description:
7
7
  License:
8
8
 
9
- Copyright (c) 2011-2015 Daniel Adler <dadler@uni-goettingen.de>,
9
+ Copyright (c) 2011-2018 Daniel Adler <dadler@uni-goettingen.de>,
10
10
  Tassilo Philipp <tphilipp@potion-studios.com>
11
11
 
12
12
  Permission to use, copy, modify, and distribute this software for any
@@ -6,7 +6,7 @@
6
6
  Description: Portable Assembler Macros for ppc
7
7
  License:
8
8
 
9
- Copyright (c) 2011-2015 Daniel Adler <dadler@uni-goettingen.de>
9
+ Copyright (c) 2011-2018 Daniel Adler <dadler@uni-goettingen.de>
10
10
 
11
11
  Permission to use, copy, modify, and distribute this software for any
12
12
  purpose with or without fee is hereby granted, provided that the above
@@ -2,11 +2,11 @@
2
2
 
3
3
  Package: dyncall
4
4
  Library: portasm
5
- File: portasm/portasm-x64-att.S
5
+ File: portasm/portasm-x64.S
6
6
  Description: Portable Assembler Macros for X64
7
7
  License:
8
8
 
9
- Copyright (c) 2011-2015 Daniel Adler <dadler@uni-goettingen.de>
9
+ Copyright (c) 2011-2018 Daniel Adler <dadler@uni-goettingen.de>
10
10
 
11
11
  Permission to use, copy, modify, and distribute this software for any
12
12
  purpose with or without fee is hereby granted, provided that the above
@@ -69,12 +69,14 @@
69
69
  # define JNE(X) jne X
70
70
  # define CMP(A,B) cmp B,A
71
71
  # define LOCAL(X) X
72
+ /* @@@ check if masm support wanted/needed */
73
+ # define SECTION_NOTE_NXSTACK
72
74
  #else
73
75
  /* GNU/SunPro Assembler AT&T Syntax */
74
76
  .text
75
77
  # define BEGIN_ASM
76
78
  # define END_ASM
77
- # include "../autovar/autovar_OS.h"
79
+ # include "../autovar/autovar_ABI.h"
78
80
  # if defined (OS_Darwin)
79
81
  # define CSYM(X) _##X
80
82
  # else
@@ -150,7 +152,8 @@
150
152
  # define JNE(X) jne X
151
153
  # define FLDS(X) flds X
152
154
  # define FLDL(X) fldl X
153
- # define SET(K,V) .set K,V
155
+ /* not available on some platforms, e.g. old solaris, so use K=V syntax # define SET(K,V) .set K,V */
156
+ # define SET(K,V) K = V
154
157
  # define LOCAL(X) .X
155
158
  #endif
156
159
 
@@ -6,7 +6,7 @@
6
6
  Description: Portable Assembler Macros for x86
7
7
  License:
8
8
 
9
- Copyright (c) 2011-2015 Daniel Adler <dadler@uni-goettingen.de>
9
+ Copyright (c) 2011-2018 Daniel Adler <dadler@uni-goettingen.de>
10
10
 
11
11
  Permission to use, copy, modify, and distribute this software for any
12
12
  purpose with or without fee is hereby granted, provided that the above
@@ -62,12 +62,14 @@
62
62
  # define FLDS(OP) fld OP
63
63
  # define FLDL(OP) fld OP
64
64
  # define LOCAL(NAME) NAME
65
+ /* @@@ check if masm support wanted/needed */
66
+ # define SECTION_NOTE_NXSTACK
65
67
  #else
66
68
  /* GNU/SunPro Assembler AT&T Syntax */
67
69
  .text
68
70
  # define BEGIN_ASM
69
71
  # define END_ASM
70
- # include "../autovar/autovar_OS.h"
72
+ # include "../autovar/autovar_ABI.h"
71
73
  # if defined(OS_Win32) || defined(OS_Cygwin) || defined(OS_MinGW) || defined(OS_Darwin) || defined(OS_Minix)
72
74
  # define CSYM(X) _##X
73
75
  # else
@@ -1,7 +1,7 @@
1
1
  #//////////////////////////////////////////////////////////////////////
2
2
  #
3
3
  # extconf.rb
4
- # Copyright (c) 2007-2015 Daniel Adler <dadler@uni-goettingen.de>,
4
+ # Copyright (c) 2007-2018 Daniel Adler <dadler@uni-goettingen.de>,
5
5
  # Tassilo Philipp <tphilipp@potion-studios.com>
6
6
  #
7
7
  # Permission to use, copy, modify, and distribute this software for any
@@ -26,16 +26,16 @@
26
26
  require 'mkmf'
27
27
 
28
28
  dir_config 'rbdc'
29
- base_dir = '../../../dyncall/'
29
+ base_dir = 'dyncall/'
30
30
 
31
- $CFLAGS << ' -I../../../dyncall/dyncall '
31
+ $CFLAGS << ' -Idyncall/dyncall '
32
32
 
33
33
  # Build dyncall libs.
34
34
  puts 'Building dyncall libraries:'
35
35
  Dir.chdir(base_dir) do
36
36
  cmd = case
37
37
  when RUBY_PLATFORM =~ /mswin/ then 'configure.bat && nmake /f Nmakefile'
38
- else './configure && env CFLAGS="-fPIC" make'
38
+ else './configure && make'
39
39
  end
40
40
  puts cmd
41
41
  raise "'#{cmd}' failed" unless system(cmd)
@@ -1,7 +1,7 @@
1
1
  /*
2
2
 
3
3
  rbdc.c
4
- Copyright (c) 2007-2015 Daniel Adler <dadler@uni-goettingen.de>,
4
+ Copyright (c) 2007-2018 Daniel Adler <dadler@uni-goettingen.de>,
5
5
  Tassilo Philipp <tphilipp@potion-studios.com>
6
6
 
7
7
  Permission to use, copy, modify, and distribute this software for any
@@ -22,10 +22,10 @@
22
22
 
23
23
 
24
24
  #include <ruby.h>
25
- #include "../../../dyncall/dyncall/dyncall.h"
26
- #include "../../../dyncall/dyncallback/dyncall_callback.h"
27
- #include "../../../dyncall/dynload/dynload.h"
28
- #include "../../../dyncall/dyncall/dyncall_signature.h"
25
+ #include "dyncall/dyncall/dyncall.h"
26
+ #include "dyncall/dyncallback/dyncall_callback.h"
27
+ #include "dyncall/dynload/dynload.h"
28
+ #include "dyncall/dyncall/dyncall_signature.h"
29
29
 
30
30
  /* Our ruby module and its classes. */
31
31
  static VALUE rb_dcModule;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbdc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tassilo Philipp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-31 00:00:00.000000000 Z
11
+ date: 2018-04-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby interface to dyncall, allowing programmers to call C functions in
14
14
  shared libraries from ruby without writing any glue code at all (e.g. "l.load('/usr/lib/libm.so');
@@ -16,17 +16,14 @@ description: Ruby interface to dyncall, allowing programmers to call C functions
16
16
  email: tphilipp@potion-studios.com
17
17
  executables: []
18
18
  extensions:
19
- - dyncall-bindings/ruby/rbdc/extconf.rb
19
+ - extconf.rb
20
20
  extra_rdoc_files: []
21
21
  files:
22
- - dyncall-bindings/ruby/rbdc/extconf.rb
23
- - dyncall-bindings/ruby/rbdc/rbdc.c
24
22
  - dyncall/AUTHORS
25
23
  - dyncall/BUGS
26
24
  - dyncall/CMakeLists.txt
27
25
  - dyncall/ChangeLog
28
26
  - dyncall/LICENSE
29
- - dyncall/Makefile.M
30
27
  - dyncall/Makefile.embedded
31
28
  - dyncall/Makefile.generic
32
29
  - dyncall/Nmakefile
@@ -43,9 +40,6 @@ files:
43
40
  - dyncall/buildsys/cmake/Modules/FindDynCallback.cmake
44
41
  - dyncall/buildsys/cmake/Modules/FindDynLoad.cmake
45
42
  - dyncall/buildsys/cmake/Modules/UseLATEX.cmake
46
- - dyncall/buildsys/dynmake/Makefile.base.M
47
- - dyncall/buildsys/dynmake/dynmake.bat
48
- - dyncall/buildsys/dynmake/dynmake.sh
49
43
  - dyncall/buildsys/lua/Makefile
50
44
  - dyncall/buildsys/lua/README.txt
51
45
  - dyncall/buildsys/lua/bootstrap.sh
@@ -76,17 +70,13 @@ files:
76
70
  - dyncall/configure
77
71
  - dyncall/configure.bat
78
72
  - dyncall/configure.rc
79
- - dyncall/dynMakefile
80
73
  - dyncall/dyncall/CMakeLists.txt
81
74
  - dyncall/dyncall/DynCallConfig.cmake
82
- - dyncall/dyncall/Makefile.M
83
75
  - dyncall/dyncall/Makefile.embedded
84
76
  - dyncall/dyncall/Makefile.generic
85
77
  - dyncall/dyncall/Nmakefile
86
78
  - dyncall/dyncall/README-Developer.txt
87
79
  - dyncall/dyncall/README.txt
88
- - dyncall/dyncall/TODO
89
- - dyncall/dyncall/dynMakefile
90
80
  - dyncall/dyncall/dyncall.3
91
81
  - dyncall/dyncall/dyncall.h
92
82
  - dyncall/dyncall/dyncall_alloc.h
@@ -116,13 +106,10 @@ files:
116
106
  - dyncall/dyncall/dyncall_call_ppc32.h
117
107
  - dyncall/dyncall/dyncall_call_ppc64.S
118
108
  - dyncall/dyncall/dyncall_call_ppc64.h
119
- - dyncall/dyncall/dyncall_call_sparc.S
120
109
  - dyncall/dyncall/dyncall_call_sparc.h
121
- - dyncall/dyncall/dyncall_call_sparc64.S
110
+ - dyncall/dyncall/dyncall_call_sparc.s
122
111
  - dyncall/dyncall/dyncall_call_sparc64.h
123
- - dyncall/dyncall/dyncall_call_sparc_v9.S
124
- - dyncall/dyncall/dyncall_call_sparc_v9.h
125
- - dyncall/dyncall/dyncall_call_x64-att.S
112
+ - dyncall/dyncall/dyncall_call_sparc64.s
126
113
  - dyncall/dyncall/dyncall_call_x64.S
127
114
  - dyncall/dyncall/dyncall_call_x64.h
128
115
  - dyncall/dyncall/dyncall_call_x64_generic_masm.asm
@@ -150,6 +137,7 @@ files:
150
137
  - dyncall/dyncall/dyncall_callvm_mips_eabi.c
151
138
  - dyncall/dyncall/dyncall_callvm_mips_eabi.h
152
139
  - dyncall/dyncall/dyncall_callvm_mips_n32.c
140
+ - dyncall/dyncall/dyncall_callvm_mips_n32.h
153
141
  - dyncall/dyncall/dyncall_callvm_mips_n64.c
154
142
  - dyncall/dyncall/dyncall_callvm_mips_n64.h
155
143
  - dyncall/dyncall/dyncall_callvm_mips_o32.c
@@ -162,8 +150,6 @@ files:
162
150
  - dyncall/dyncall/dyncall_callvm_sparc.h
163
151
  - dyncall/dyncall/dyncall_callvm_sparc64.c
164
152
  - dyncall/dyncall/dyncall_callvm_sparc64.h
165
- - dyncall/dyncall/dyncall_callvm_sparc_v9.c
166
- - dyncall/dyncall/dyncall_callvm_sparc_v9.h
167
153
  - dyncall/dyncall/dyncall_callvm_x64.c
168
154
  - dyncall/dyncall/dyncall_callvm_x64.h
169
155
  - dyncall/dyncall/dyncall_callvm_x86.c
@@ -182,13 +168,9 @@ files:
182
168
  - dyncall/dyncall/mkfile
183
169
  - dyncall/dyncallback/CMakeLists.txt
184
170
  - dyncall/dyncallback/DynCallbackConfig.cmake
185
- - dyncall/dyncallback/Makefile.M
186
171
  - dyncall/dyncallback/Makefile.embedded
187
172
  - dyncall/dyncallback/Makefile.generic
188
173
  - dyncall/dyncallback/Nmakefile
189
- - dyncall/dyncallback/README.txt
190
- - dyncall/dyncallback/TODO
191
- - dyncall/dyncallback/dynMakefile
192
174
  - dyncall/dyncallback/dyncall_alloc_wx.c
193
175
  - dyncall/dyncallback/dyncall_alloc_wx.h
194
176
  - dyncall/dyncallback/dyncall_alloc_wx_malloc.c
@@ -196,14 +178,14 @@ files:
196
178
  - dyncall/dyncallback/dyncall_alloc_wx_win32.c
197
179
  - dyncall/dyncallback/dyncall_args.c
198
180
  - dyncall/dyncallback/dyncall_args.h
199
- - dyncall/dyncallback/dyncall_args_arm32_arm.c
200
- - dyncall/dyncallback/dyncall_args_arm32_arm.h
201
- - dyncall/dyncallback/dyncall_args_arm32_thumb.c
202
- - dyncall/dyncallback/dyncall_args_arm32_thumb.h
181
+ - dyncall/dyncallback/dyncall_args_arm32.c
182
+ - dyncall/dyncallback/dyncall_args_arm32.h
203
183
  - dyncall/dyncallback/dyncall_args_arm64.c
204
184
  - dyncall/dyncallback/dyncall_args_arm64_apple.c
205
185
  - dyncall/dyncallback/dyncall_args_mips.c
206
186
  - dyncall/dyncallback/dyncall_args_mips.h
187
+ - dyncall/dyncallback/dyncall_args_mips64.c
188
+ - dyncall/dyncallback/dyncall_args_mips_o32.c
207
189
  - dyncall/dyncallback/dyncall_args_ppc32.c
208
190
  - dyncall/dyncallback/dyncall_args_ppc32.h
209
191
  - dyncall/dyncallback/dyncall_args_ppc32_sysv.c
@@ -220,49 +202,45 @@ files:
220
202
  - dyncall/dyncallback/dyncall_callback.c
221
203
  - dyncall/dyncallback/dyncall_callback.h
222
204
  - dyncall/dyncallback/dyncall_callback_arch.S
223
- - dyncall/dyncallback/dyncall_callback_arm32_arm.c
224
- - dyncall/dyncallback/dyncall_callback_arm32_arm.h
205
+ - dyncall/dyncallback/dyncall_callback_arm32.c
225
206
  - dyncall/dyncallback/dyncall_callback_arm32_arm_apple.s
226
207
  - dyncall/dyncallback/dyncall_callback_arm32_arm_gas.S
227
- - dyncall/dyncallback/dyncall_callback_arm32_thumb.c
228
- - dyncall/dyncallback/dyncall_callback_arm32_thumb.h
229
208
  - dyncall/dyncallback/dyncall_callback_arm32_thumb_apple.S
230
209
  - dyncall/dyncallback/dyncall_callback_arm32_thumb_gas.S
231
210
  - dyncall/dyncallback/dyncall_callback_arm64.S
232
211
  - dyncall/dyncallback/dyncall_callback_arm64.c
233
212
  - dyncall/dyncallback/dyncall_callback_mips.c
234
- - dyncall/dyncallback/dyncall_callback_mips.h
213
+ - dyncall/dyncallback/dyncall_callback_mips_eabi_gas.s
214
+ - dyncall/dyncallback/dyncall_callback_mips_gas.S
215
+ - dyncall/dyncallback/dyncall_callback_mips_n32_gas.s
216
+ - dyncall/dyncallback/dyncall_callback_mips_n64_gas.s
217
+ - dyncall/dyncallback/dyncall_callback_mips_o32_gas.s
235
218
  - dyncall/dyncallback/dyncall_callback_ppc32.S
236
219
  - dyncall/dyncallback/dyncall_callback_ppc32.c
237
- - dyncall/dyncallback/dyncall_callback_ppc32.h
238
220
  - dyncall/dyncallback/dyncall_callback_ppc32_apple.s
239
221
  - dyncall/dyncallback/dyncall_callback_ppc64.S
240
222
  - dyncall/dyncallback/dyncall_callback_ppc64.c
241
- - dyncall/dyncallback/dyncall_callback_ppc64.h
242
223
  - dyncall/dyncallback/dyncall_callback_sparc32.c
243
- - dyncall/dyncallback/dyncall_callback_sparc32.h
244
224
  - dyncall/dyncallback/dyncall_callback_sparc32.s
245
225
  - dyncall/dyncallback/dyncall_callback_sparc64.c
246
226
  - dyncall/dyncallback/dyncall_callback_sparc64.s
247
227
  - dyncall/dyncallback/dyncall_callback_x64.S
248
228
  - dyncall/dyncallback/dyncall_callback_x64.c
249
- - dyncall/dyncallback/dyncall_callback_x64.h
250
229
  - dyncall/dyncallback/dyncall_callback_x64_masm.asm
251
230
  - dyncall/dyncallback/dyncall_callback_x86.S
252
231
  - dyncall/dyncallback/dyncall_callback_x86.c
253
- - dyncall/dyncallback/dyncall_callback_x86.h
254
232
  - dyncall/dyncallback/dyncall_callback_x86_8a.s
255
233
  - dyncall/dyncallback/dyncall_callback_x86_masm.asm
256
234
  - dyncall/dyncallback/dyncall_thunk.c
257
235
  - dyncall/dyncallback/dyncall_thunk.h
258
- - dyncall/dyncallback/dyncall_thunk_arm32_arm.c
259
- - dyncall/dyncallback/dyncall_thunk_arm32_arm.h
260
- - dyncall/dyncallback/dyncall_thunk_arm32_thumb.c
261
- - dyncall/dyncallback/dyncall_thunk_arm32_thumb.h
236
+ - dyncall/dyncallback/dyncall_thunk_arm32.c
237
+ - dyncall/dyncallback/dyncall_thunk_arm32.h
262
238
  - dyncall/dyncallback/dyncall_thunk_arm64.c
263
239
  - dyncall/dyncallback/dyncall_thunk_arm64.h
264
240
  - dyncall/dyncallback/dyncall_thunk_mips.c
265
241
  - dyncall/dyncallback/dyncall_thunk_mips.h
242
+ - dyncall/dyncallback/dyncall_thunk_mips64.c
243
+ - dyncall/dyncallback/dyncall_thunk_mips64.h
266
244
  - dyncall/dyncallback/dyncall_thunk_ppc32.c
267
245
  - dyncall/dyncallback/dyncall_thunk_ppc32.h
268
246
  - dyncall/dyncallback/dyncall_thunk_ppc32_sysv.c
@@ -281,18 +259,14 @@ files:
281
259
  - dyncall/dyncallback/mkfile
282
260
  - dyncall/dynload/CMakeLists.txt
283
261
  - dyncall/dynload/DynLoadConfig.cmake
284
- - dyncall/dynload/Makefile.M
285
262
  - dyncall/dynload/Makefile.embedded
286
263
  - dyncall/dynload/Makefile.generic
287
264
  - dyncall/dynload/Nmakefile
288
265
  - dyncall/dynload/README.txt
289
- - dyncall/dynload/TODO
290
- - dyncall/dynload/dynMakefile
291
266
  - dyncall/dynload/dynload.3
292
267
  - dyncall/dynload/dynload.c
293
268
  - dyncall/dynload/dynload.h
294
269
  - dyncall/dynload/dynload_alloc.h
295
- - dyncall/dynload/dynload_darwin.c
296
270
  - dyncall/dynload/dynload_syms.c
297
271
  - dyncall/dynload/dynload_syms_elf.c
298
272
  - dyncall/dynload/dynload_syms_mach-o.c
@@ -305,8 +279,10 @@ files:
305
279
  - dyncall/portasm/portasm-arm.S
306
280
  - dyncall/portasm/portasm-ppc.S
307
281
  - dyncall/portasm/portasm-ppc64.S
308
- - dyncall/portasm/portasm-x64-att.S
282
+ - dyncall/portasm/portasm-x64.S
309
283
  - dyncall/portasm/portasm-x86.S
284
+ - extconf.rb
285
+ - rbdc.c
310
286
  homepage: http://www.dyncall.org
311
287
  licenses:
312
288
  - ISC
@@ -327,7 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
327
303
  version: '0'
328
304
  requirements: []
329
305
  rubyforge_project:
330
- rubygems_version: 2.4.8
306
+ rubygems_version: 2.6.12
331
307
  signing_key:
332
308
  specification_version: 4
333
309
  summary: foreign function interface for C calls