koffi 1.1.2 → 1.1.5
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.
- package/CMakeLists.txt +23 -19
- package/README.md +16 -27
- package/benchmark/CMakeLists.txt +11 -3
- package/benchmark/raylib_cc.cc +9 -9
- package/build/qemu/1.1.5/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_linux_arm.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_linux_riscv64.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_openbsd_ia32.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_openbsd_x64.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/1.1.5/koffi_win32_x64.tar.gz +0 -0
- package/package.json +2 -2
- package/qemu/qemu.js +18 -10
- package/qemu/registry/machines.json +138 -3
- package/qemu/registry/sha256sum.txt +27 -12
- package/src/abi_arm32.cc +29 -16
- package/src/abi_arm32_fwd.S +1 -1
- package/src/abi_arm64.cc +33 -17
- package/src/abi_arm64_fwd.S +1 -1
- package/src/abi_arm64_fwd.asm +107 -0
- package/src/abi_riscv64.cc +468 -0
- package/src/abi_riscv64_fwd.S +129 -0
- package/src/abi_x64_sysv.cc +9 -10
- package/src/abi_x64_sysv_fwd.S +113 -1
- package/src/abi_x64_win.cc +5 -8
- package/src/abi_x86.cc +11 -6
- package/src/call.cc +6 -18
- package/src/call.hh +13 -23
- package/src/ffi.cc +87 -25
- package/src/ffi.hh +14 -4
- package/src/parser.cc +18 -6
- package/src/util.cc +26 -57
- package/src/util.hh +17 -1
- package/test/CMakeLists.txt +4 -1
- package/test/misc.c +34 -0
- package/vendor/_patches/glfw_001_fix_openbsd_xlib_soname.patch +145 -0
- package/vendor/libcc/libcc.cc +7 -7
- package/vendor/libcc/libcc.hh +8 -2
- package/vendor/raylib/src/external/glfw/src/egl_context.c +6 -0
- package/vendor/raylib/src/external/glfw/src/osmesa_context.c +2 -0
- package/vendor/raylib/src/external/glfw/src/vulkan.c +2 -0
- package/vendor/raylib/src/external/glfw/src/x11_init.c +20 -0
- package/build/qemu/1.1.2/koffi_darwin_x64.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_freebsd_arm64.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_freebsd_ia32.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_freebsd_x64.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_linux_arm.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_linux_arm64.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_linux_ia32.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_linux_x64.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_win32_ia32.tar.gz +0 -0
- package/build/qemu/1.1.2/koffi_win32_x64.tar.gz +0 -0
package/vendor/libcc/libcc.hh
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
#include <utility>
|
|
36
36
|
#if defined(_WIN32)
|
|
37
37
|
#include <intrin.h>
|
|
38
|
-
#elif !defined(__APPLE__) && (!defined(__linux__) || defined(__GLIBC__))
|
|
38
|
+
#elif !defined(__APPLE__) && (!defined(__linux__) || defined(__GLIBC__)) && __has_include(<ucontext.h>)
|
|
39
39
|
#define RG_FIBER_USE_UCONTEXT
|
|
40
40
|
#include <ucontext.h>
|
|
41
41
|
#else
|
|
@@ -54,6 +54,7 @@
|
|
|
54
54
|
#pragma intrinsic(__rdtsc)
|
|
55
55
|
#endif
|
|
56
56
|
|
|
57
|
+
struct sigaction;
|
|
57
58
|
struct BrotliEncoderStateStruct;
|
|
58
59
|
|
|
59
60
|
namespace RG {
|
|
@@ -93,7 +94,7 @@ extern "C" const char *FelixTarget;
|
|
|
93
94
|
extern "C" const char *FelixVersion;
|
|
94
95
|
extern "C" const char *FelixCompiler;
|
|
95
96
|
|
|
96
|
-
#if defined(__x86_64__) || defined(_M_X64) || defined(__aarch64__)
|
|
97
|
+
#if defined(__x86_64__) || defined(_M_X64) || defined(__aarch64__) || __riscv_xlen == 64
|
|
97
98
|
typedef int64_t Size;
|
|
98
99
|
#define RG_SIZE_MAX INT64_MAX
|
|
99
100
|
#elif defined(_WIN32) || defined(__APPLE__) || defined(__unix__)
|
|
@@ -115,6 +116,7 @@ extern "C" const char *FelixCompiler;
|
|
|
115
116
|
#if ULLONG_MAX != 0xFFFFFFFFFFFFFFFFull
|
|
116
117
|
#error This code base is not designed to support non-64-bits long long types
|
|
117
118
|
#endif
|
|
119
|
+
static_assert(sizeof(double) == 8, "This code base is not designed to support single-precision double floats");
|
|
118
120
|
|
|
119
121
|
#define RG_STRINGIFY_(a) #a
|
|
120
122
|
#define RG_STRINGIFY(a) RG_STRINGIFY_(a)
|
|
@@ -195,6 +197,8 @@ extern "C" void AssertMessage(const char *filename, int line, const char *cond);
|
|
|
195
197
|
#define RG_DEBUG_BREAK() __asm__ __volatile__(".inst 0xd4200000")
|
|
196
198
|
#elif defined(__arm__)
|
|
197
199
|
#define RG_DEBUG_BREAK() __asm__ __volatile__(".inst 0xe7f001f0")
|
|
200
|
+
#elif defined(__riscv)
|
|
201
|
+
#define RG_DEBUG_BREAK() __asm__ __volatile__("ebreak")
|
|
198
202
|
#endif
|
|
199
203
|
|
|
200
204
|
#define RG_CRITICAL(Cond, ...) \
|
|
@@ -3929,6 +3933,8 @@ enum class PipeMode {
|
|
|
3929
3933
|
bool CreateOverlappedPipe(bool overlap0, bool overlap1, PipeMode mode, void *out_handles[2]); // HANDLE
|
|
3930
3934
|
void CloseHandleSafe(void **handle_ptr); // HANDLE
|
|
3931
3935
|
#else
|
|
3936
|
+
void SetSignalHandler(int signal, void (*func)(int), struct sigaction *prev = nullptr);
|
|
3937
|
+
|
|
3932
3938
|
bool CreatePipe(int pfd[2]);
|
|
3933
3939
|
void CloseDescriptorSafe(int *fd_ptr);
|
|
3934
3940
|
#endif
|
|
@@ -316,6 +316,8 @@ GLFWbool _glfwInitEGL(void)
|
|
|
316
316
|
"libEGL.dylib",
|
|
317
317
|
#elif defined(__CYGWIN__)
|
|
318
318
|
"libEGL-1.so",
|
|
319
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
320
|
+
"libEGL.so",
|
|
319
321
|
#else
|
|
320
322
|
"libEGL.so.1",
|
|
321
323
|
#endif
|
|
@@ -686,6 +688,8 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window,
|
|
|
686
688
|
"libGLES_CM.dll",
|
|
687
689
|
#elif defined(_GLFW_COCOA)
|
|
688
690
|
"libGLESv1_CM.dylib",
|
|
691
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
692
|
+
"libGLESv1_CM.so",
|
|
689
693
|
#else
|
|
690
694
|
"libGLESv1_CM.so.1",
|
|
691
695
|
"libGLES_CM.so.1",
|
|
@@ -703,6 +707,8 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window,
|
|
|
703
707
|
"libGLESv2.dylib",
|
|
704
708
|
#elif defined(__CYGWIN__)
|
|
705
709
|
"libGLESv2-2.so",
|
|
710
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
711
|
+
"libGLESv2.so",
|
|
706
712
|
#else
|
|
707
713
|
"libGLESv2.so.2",
|
|
708
714
|
#endif
|
|
@@ -59,6 +59,8 @@ GLFWbool _glfwInitVulkan(int mode)
|
|
|
59
59
|
_glfw.vk.handle = _glfw_dlopen("libvulkan.1.dylib");
|
|
60
60
|
if (!_glfw.vk.handle)
|
|
61
61
|
_glfw.vk.handle = _glfwLoadLocalVulkanLoaderNS();
|
|
62
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
63
|
+
_glfw.vk.handle = _glfw_dlopen("libvulkan.so");
|
|
62
64
|
#else
|
|
63
65
|
_glfw.vk.handle = _glfw_dlopen("libvulkan.so.1");
|
|
64
66
|
#endif
|
|
@@ -601,7 +601,11 @@ static void detectEWMH(void)
|
|
|
601
601
|
//
|
|
602
602
|
static GLFWbool initExtensions(void)
|
|
603
603
|
{
|
|
604
|
+
#if defined(__OpenBSD__) || defined(__NetBSD__)
|
|
605
|
+
_glfw.x11.vidmode.handle = _glfw_dlopen("libXxf86vm.so");
|
|
606
|
+
#else
|
|
604
607
|
_glfw.x11.vidmode.handle = _glfw_dlopen("libXxf86vm.so.1");
|
|
608
|
+
#endif
|
|
605
609
|
if (_glfw.x11.vidmode.handle)
|
|
606
610
|
{
|
|
607
611
|
_glfw.x11.vidmode.QueryExtension = (PFN_XF86VidModeQueryExtension)
|
|
@@ -621,6 +625,8 @@ static GLFWbool initExtensions(void)
|
|
|
621
625
|
|
|
622
626
|
#if defined(__CYGWIN__)
|
|
623
627
|
_glfw.x11.xi.handle = _glfw_dlopen("libXi-6.so");
|
|
628
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
629
|
+
_glfw.x11.xi.handle = _glfw_dlopen("libXi.so");
|
|
624
630
|
#else
|
|
625
631
|
_glfw.x11.xi.handle = _glfw_dlopen("libXi.so.6");
|
|
626
632
|
#endif
|
|
@@ -651,6 +657,8 @@ static GLFWbool initExtensions(void)
|
|
|
651
657
|
|
|
652
658
|
#if defined(__CYGWIN__)
|
|
653
659
|
_glfw.x11.randr.handle = _glfw_dlopen("libXrandr-2.so");
|
|
660
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
661
|
+
_glfw.x11.randr.handle = _glfw_dlopen("libXrandr.so");
|
|
654
662
|
#else
|
|
655
663
|
_glfw.x11.randr.handle = _glfw_dlopen("libXrandr.so.2");
|
|
656
664
|
#endif
|
|
@@ -743,6 +751,8 @@ static GLFWbool initExtensions(void)
|
|
|
743
751
|
|
|
744
752
|
#if defined(__CYGWIN__)
|
|
745
753
|
_glfw.x11.xcursor.handle = _glfw_dlopen("libXcursor-1.so");
|
|
754
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
755
|
+
_glfw.x11.xcursor.handle = _glfw_dlopen("libXcursor.so");
|
|
746
756
|
#else
|
|
747
757
|
_glfw.x11.xcursor.handle = _glfw_dlopen("libXcursor.so.1");
|
|
748
758
|
#endif
|
|
@@ -764,6 +774,8 @@ static GLFWbool initExtensions(void)
|
|
|
764
774
|
|
|
765
775
|
#if defined(__CYGWIN__)
|
|
766
776
|
_glfw.x11.xinerama.handle = _glfw_dlopen("libXinerama-1.so");
|
|
777
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
778
|
+
_glfw.x11.xinerama.handle = _glfw_dlopen("libXinerama.so");
|
|
767
779
|
#else
|
|
768
780
|
_glfw.x11.xinerama.handle = _glfw_dlopen("libXinerama.so.1");
|
|
769
781
|
#endif
|
|
@@ -817,6 +829,8 @@ static GLFWbool initExtensions(void)
|
|
|
817
829
|
{
|
|
818
830
|
#if defined(__CYGWIN__)
|
|
819
831
|
_glfw.x11.x11xcb.handle = _glfw_dlopen("libX11-xcb-1.so");
|
|
832
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
833
|
+
_glfw.x11.x11xcb.handle = _glfw_dlopen("libX11-xcb.so");
|
|
820
834
|
#else
|
|
821
835
|
_glfw.x11.x11xcb.handle = _glfw_dlopen("libX11-xcb.so.1");
|
|
822
836
|
#endif
|
|
@@ -830,6 +844,8 @@ static GLFWbool initExtensions(void)
|
|
|
830
844
|
|
|
831
845
|
#if defined(__CYGWIN__)
|
|
832
846
|
_glfw.x11.xrender.handle = _glfw_dlopen("libXrender-1.so");
|
|
847
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
848
|
+
_glfw.x11.xrender.handle = _glfw_dlopen("libXrender.so");
|
|
833
849
|
#else
|
|
834
850
|
_glfw.x11.xrender.handle = _glfw_dlopen("libXrender.so.1");
|
|
835
851
|
#endif
|
|
@@ -857,6 +873,8 @@ static GLFWbool initExtensions(void)
|
|
|
857
873
|
|
|
858
874
|
#if defined(__CYGWIN__)
|
|
859
875
|
_glfw.x11.xshape.handle = _glfw_dlopen("libXext-6.so");
|
|
876
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
877
|
+
_glfw.x11.xshape.handle = _glfw_dlopen("libXext.so");
|
|
860
878
|
#else
|
|
861
879
|
_glfw.x11.xshape.handle = _glfw_dlopen("libXext.so.6");
|
|
862
880
|
#endif
|
|
@@ -1120,6 +1138,8 @@ int _glfwPlatformInit(void)
|
|
|
1120
1138
|
|
|
1121
1139
|
#if defined(__CYGWIN__)
|
|
1122
1140
|
_glfw.x11.xlib.handle = _glfw_dlopen("libX11-6.so");
|
|
1141
|
+
#elif defined(__OpenBSD__) || defined(__NetBSD__)
|
|
1142
|
+
_glfw.x11.xlib.handle = _glfw_dlopen("libX11.so");
|
|
1123
1143
|
#else
|
|
1124
1144
|
_glfw.x11.xlib.handle = _glfw_dlopen("libX11.so.6");
|
|
1125
1145
|
#endif
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|