rbdc 0.9.0 → 1.0.0
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.
- checksums.yaml +4 -4
- data/dyncall/BUGS +1 -1
- data/dyncall/CMakeLists.txt +19 -7
- data/dyncall/ChangeLog +61 -20
- data/dyncall/LICENSE +1 -1
- data/dyncall/Makefile.generic +2 -0
- data/dyncall/ToDo +97 -29
- data/dyncall/autovar/README.txt +1 -0
- data/dyncall/autovar/autovar_ABI.h +4 -2
- data/dyncall/autovar/autovar_ARCH.h +9 -5
- data/dyncall/autovar/autovar_CC.h +3 -1
- data/dyncall/autovar/autovar_OS.h +2 -2
- data/dyncall/autovar/autovar_OSFAMILY.h +1 -1
- data/dyncall/configure +94 -38
- data/dyncall/dyncall/dyncall.3 +8 -4
- data/dyncall/dyncall/dyncall.h +1 -1
- data/dyncall/dyncall/dyncall_alloc.h +1 -1
- data/dyncall/dyncall/dyncall_api.c +3 -1
- data/dyncall/dyncall/dyncall_call.S +13 -5
- data/dyncall/dyncall/dyncall_call_arm32_arm.S +1 -2
- data/dyncall/dyncall/dyncall_call_arm32_arm.h +1 -1
- data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.S +24 -26
- data/dyncall/dyncall/dyncall_call_arm32_arm_armhf.h +1 -1
- data/dyncall/dyncall/dyncall_call_arm32_thumb.h +1 -1
- data/dyncall/dyncall/dyncall_call_arm32_thumb_armhf.S +1 -1
- data/dyncall/dyncall/dyncall_call_arm32_thumb_gas.s +3 -7
- data/dyncall/dyncall/dyncall_call_arm64.S +2 -2
- data/dyncall/dyncall/dyncall_call_arm64.h +2 -2
- data/dyncall/dyncall/dyncall_call_mips.h +1 -1
- data/dyncall/dyncall/dyncall_call_mips_eabi.h +1 -1
- data/dyncall/dyncall/dyncall_call_mips_eabi_gas.s +16 -16
- data/dyncall/dyncall/dyncall_call_mips_gas.S +2 -2
- data/dyncall/dyncall/dyncall_call_mips_n32.h +5 -4
- data/dyncall/dyncall/dyncall_call_mips_n32_gas.s +4 -4
- data/dyncall/dyncall/dyncall_call_mips_n64.h +3 -3
- data/dyncall/dyncall/dyncall_call_mips_n64_gas.s +2 -2
- data/dyncall/dyncall/dyncall_call_mips_o32.h +4 -3
- data/dyncall/dyncall/dyncall_call_mips_o32_gas.s +1 -3
- data/dyncall/dyncall/dyncall_call_ppc32.S +1 -1
- data/dyncall/dyncall/dyncall_call_ppc32.h +1 -1
- data/dyncall/dyncall/dyncall_call_sparc.h +1 -1
- data/dyncall/dyncall/{dyncall_call_sparc.S → dyncall_call_sparc.s} +39 -44
- data/dyncall/dyncall/dyncall_call_sparc64.h +5 -5
- data/dyncall/dyncall/dyncall_call_sparc64.s +177 -0
- data/dyncall/dyncall/dyncall_call_x64.S +83 -86
- data/dyncall/dyncall/dyncall_call_x64.h +1 -1
- data/dyncall/dyncall/dyncall_call_x86.S +9 -9
- data/dyncall/dyncall/dyncall_call_x86.h +1 -1
- data/dyncall/dyncall/dyncall_call_x86_nasm.asm +5 -5
- data/dyncall/dyncall/dyncall_callf.c +18 -18
- data/dyncall/dyncall/dyncall_callf.h +1 -1
- data/dyncall/dyncall/dyncall_callvm.c +3 -3
- data/dyncall/dyncall/dyncall_callvm.h +1 -1
- data/dyncall/dyncall/dyncall_callvm_arm32_arm.c +25 -40
- data/dyncall/dyncall/dyncall_callvm_arm32_arm.h +1 -5
- data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.c +25 -33
- data/dyncall/dyncall/dyncall_callvm_arm32_arm_armhf.h +1 -5
- data/dyncall/dyncall/dyncall_callvm_arm32_thumb.c +24 -36
- data/dyncall/dyncall/dyncall_callvm_arm32_thumb.h +1 -5
- data/dyncall/dyncall/dyncall_callvm_arm64.c +23 -27
- data/dyncall/dyncall/dyncall_callvm_arm64.h +2 -6
- data/dyncall/dyncall/dyncall_callvm_arm64_apple.c +23 -30
- data/dyncall/dyncall/dyncall_callvm_base.c +1 -1
- data/dyncall/dyncall/dyncall_callvm_mips.c +1 -1
- data/dyncall/dyncall/dyncall_callvm_mips.h +1 -1
- data/dyncall/dyncall/dyncall_callvm_mips_eabi.c +30 -27
- data/dyncall/dyncall/dyncall_callvm_mips_eabi.h +1 -5
- data/dyncall/dyncall/dyncall_callvm_mips_n32.c +24 -30
- data/dyncall/dyncall/{dyncall_call_sparc_v9.h → dyncall_callvm_mips_n32.h} +18 -8
- data/dyncall/dyncall/dyncall_callvm_mips_n64.c +23 -30
- data/dyncall/dyncall/dyncall_callvm_mips_n64.h +4 -6
- data/dyncall/dyncall/dyncall_callvm_mips_o32.c +31 -29
- data/dyncall/dyncall/dyncall_callvm_mips_o32.h +1 -3
- data/dyncall/dyncall/dyncall_callvm_ppc32.c +22 -20
- data/dyncall/dyncall/dyncall_callvm_ppc32.h +1 -3
- data/dyncall/dyncall/dyncall_callvm_ppc64.c +54 -15
- data/dyncall/dyncall/dyncall_callvm_ppc64.h +0 -2
- data/dyncall/dyncall/dyncall_callvm_sparc.c +34 -26
- data/dyncall/dyncall/dyncall_callvm_sparc.h +1 -3
- data/dyncall/dyncall/dyncall_callvm_sparc64.c +94 -150
- data/dyncall/dyncall/dyncall_callvm_sparc64.h +11 -17
- data/dyncall/dyncall/dyncall_callvm_x64.c +37 -36
- data/dyncall/dyncall/dyncall_callvm_x64.h +1 -4
- data/dyncall/dyncall/dyncall_callvm_x86.c +22 -63
- data/dyncall/dyncall/dyncall_callvm_x86.h +1 -17
- data/dyncall/dyncall/dyncall_config.h +1 -1
- data/dyncall/dyncall/dyncall_macros.h +28 -19
- data/dyncall/dyncall/dyncall_signature.h +1 -1
- data/dyncall/dyncall/dyncall_types.h +17 -18
- data/dyncall/dyncall/dyncall_utils.h +1 -1
- data/dyncall/dyncall/dyncall_value.h +28 -21
- data/dyncall/dyncall/dyncall_vector.c +1 -1
- data/dyncall/dyncall/dyncall_vector.h +1 -1
- data/dyncall/dyncall/gen-masm.sh +2 -2
- data/dyncall/dyncallback/CMakeLists.txt +1 -2
- data/dyncall/dyncallback/Makefile.generic +1 -1
- data/dyncall/dyncallback/dyncall_alloc_wx.c +1 -1
- data/dyncall/dyncallback/dyncall_alloc_wx.h +4 -3
- data/dyncall/dyncallback/dyncall_alloc_wx_malloc.c +8 -2
- data/dyncall/dyncallback/dyncall_alloc_wx_mmap.c +67 -4
- data/dyncall/dyncallback/dyncall_alloc_wx_win32.c +7 -2
- data/dyncall/dyncallback/dyncall_args.c +19 -15
- data/dyncall/dyncallback/dyncall_args.h +1 -1
- data/dyncall/dyncallback/{dyncall_args_arm32_arm.c → dyncall_args_arm32.c} +4 -4
- data/dyncall/dyncallback/{dyncall_args_arm32_arm.h → dyncall_args_arm32.h} +6 -6
- data/dyncall/dyncallback/dyncall_args_arm64.c +2 -2
- data/dyncall/dyncallback/dyncall_args_arm64_apple.c +2 -2
- data/dyncall/dyncallback/dyncall_args_mips.c +26 -21
- data/dyncall/dyncallback/dyncall_args_mips.h +18 -6
- data/dyncall/dyncallback/dyncall_args_mips64.c +81 -0
- data/dyncall/dyncallback/dyncall_args_mips_o32.c +104 -0
- data/dyncall/dyncallback/dyncall_args_ppc32.c +2 -2
- data/dyncall/dyncallback/dyncall_args_ppc32.h +1 -1
- data/dyncall/dyncallback/dyncall_args_ppc32_sysv.c +1 -1
- data/dyncall/dyncallback/dyncall_args_ppc64.c +24 -3
- data/dyncall/dyncallback/dyncall_args_sparc32.c +41 -15
- data/dyncall/dyncallback/dyncall_args_sparc32.h +2 -2
- data/dyncall/dyncallback/dyncall_args_sparc64.c +28 -15
- data/dyncall/dyncallback/dyncall_args_sparc64.h +7 -3
- data/dyncall/dyncallback/dyncall_args_x64.c +1 -1
- data/dyncall/dyncallback/dyncall_args_x64.h +1 -1
- data/dyncall/dyncallback/dyncall_args_x86.c +1 -1
- data/dyncall/dyncallback/dyncall_args_x86.h +1 -1
- data/dyncall/dyncallback/dyncall_callback.c +10 -12
- data/dyncall/dyncallback/dyncall_callback.h +2 -4
- data/dyncall/dyncallback/dyncall_callback_arch.S +12 -2
- data/dyncall/dyncallback/{dyncall_callback_arm32_arm.c → dyncall_callback_arm32.c} +25 -10
- data/dyncall/dyncallback/dyncall_callback_arm32_arm_apple.s +7 -7
- data/dyncall/dyncallback/dyncall_callback_arm32_arm_gas.S +9 -9
- data/dyncall/dyncallback/dyncall_callback_arm32_thumb_apple.S +1 -1
- data/dyncall/dyncallback/dyncall_callback_arm32_thumb_gas.S +1 -1
- data/dyncall/dyncallback/dyncall_callback_arm64.S +2 -2
- data/dyncall/dyncallback/dyncall_callback_arm64.c +20 -14
- data/dyncall/dyncallback/dyncall_callback_mips.c +26 -9
- data/dyncall/dyncallback/dyncall_callback_mips_eabi_gas.s +99 -0
- data/dyncall/dyncallback/{dyncall_args_arm32_thumb.h → dyncall_callback_mips_gas.S} +14 -9
- data/dyncall/dyncallback/{dyncall_callback_arm32_thumb.c → dyncall_callback_mips_n32_gas.s} +12 -7
- data/dyncall/dyncallback/dyncall_callback_mips_n64_gas.s +98 -0
- data/dyncall/dyncallback/dyncall_callback_mips_o32_gas.s +100 -0
- data/dyncall/dyncallback/dyncall_callback_ppc32.S +54 -54
- data/dyncall/dyncallback/dyncall_callback_ppc32.c +23 -5
- data/dyncall/dyncallback/dyncall_callback_ppc32_apple.s +92 -117
- data/dyncall/dyncallback/dyncall_callback_ppc64.S +2 -2
- data/dyncall/dyncallback/dyncall_callback_ppc64.c +23 -5
- data/dyncall/dyncallback/dyncall_callback_sparc32.c +25 -7
- data/dyncall/dyncallback/dyncall_callback_sparc32.s +55 -4
- data/dyncall/dyncallback/dyncall_callback_sparc64.c +25 -7
- data/dyncall/dyncallback/dyncall_callback_sparc64.s +89 -5
- data/dyncall/dyncallback/dyncall_callback_x64.S +8 -8
- data/dyncall/dyncallback/dyncall_callback_x64.c +19 -6
- data/dyncall/dyncallback/dyncall_callback_x86.S +29 -25
- data/dyncall/dyncallback/dyncall_callback_x86.c +24 -11
- data/dyncall/dyncallback/dyncall_thunk.c +6 -6
- data/dyncall/dyncallback/dyncall_thunk.h +9 -7
- data/dyncall/dyncallback/{dyncall_thunk_arm32_arm.c → dyncall_thunk_arm32.c} +5 -3
- data/dyncall/dyncallback/{dyncall_thunk_arm32_arm.h → dyncall_thunk_arm32.h} +7 -7
- data/dyncall/dyncallback/dyncall_thunk_arm64.c +2 -2
- data/dyncall/dyncallback/dyncall_thunk_arm64.h +8 -13
- data/dyncall/dyncallback/dyncall_thunk_mips.c +16 -20
- data/dyncall/dyncallback/dyncall_thunk_mips.h +4 -2
- data/dyncall/dyncallback/dyncall_thunk_mips64.c +103 -0
- data/dyncall/dyncallback/{dyncall_callback_arm32_thumb.h → dyncall_thunk_mips64.h} +15 -8
- data/dyncall/dyncallback/dyncall_thunk_ppc32.c +4 -4
- data/dyncall/dyncallback/dyncall_thunk_ppc32.h +1 -1
- data/dyncall/dyncallback/dyncall_thunk_ppc32_sysv.c +9 -9
- data/dyncall/dyncallback/dyncall_thunk_ppc64.c +2 -2
- data/dyncall/dyncallback/dyncall_thunk_sparc32.c +19 -2
- data/dyncall/dyncallback/dyncall_thunk_sparc32.h +5 -4
- data/dyncall/dyncallback/dyncall_thunk_sparc64.c +42 -2
- data/dyncall/dyncallback/dyncall_thunk_sparc64.h +5 -5
- data/dyncall/dyncallback/dyncall_thunk_x64.c +1 -1
- data/dyncall/dyncallback/dyncall_thunk_x64.h +2 -2
- data/dyncall/dyncallback/dyncall_thunk_x86.c +1 -1
- data/dyncall/dyncallback/dyncall_thunk_x86.h +2 -2
- data/dyncall/dyncallback/dyncallback.3 +16 -11
- data/dyncall/dynload/dynload.3 +63 -8
- data/dyncall/dynload/dynload.c +2 -8
- data/dyncall/dynload/dynload.h +9 -5
- data/dyncall/dynload/dynload_alloc.h +1 -1
- data/dyncall/dynload/dynload_syms.c +1 -3
- data/dyncall/dynload/dynload_syms_elf.c +19 -11
- data/dyncall/dynload/dynload_syms_mach-o.c +151 -75
- data/dyncall/dynload/dynload_syms_pe.c +24 -24
- data/dyncall/dynload/dynload_unix.c +156 -13
- data/dyncall/dynload/dynload_windows.c +15 -11
- data/dyncall/portasm/portasm-arm.S +1 -1
- data/dyncall/portasm/portasm-ppc.S +1 -1
- data/dyncall/portasm/{portasm-x64-att.S → portasm-x64.S} +7 -4
- data/dyncall/portasm/portasm-x86.S +4 -2
- data/{dyncall-bindings/ruby/rbdc/extconf.rb → extconf.rb} +4 -4
- data/{dyncall-bindings/ruby/rbdc/rbdc.c → rbdc.c} +5 -5
- metadata +24 -48
- data/dyncall/Makefile.M +0 -15
- data/dyncall/buildsys/dynmake/Makefile.base.M +0 -82
- data/dyncall/buildsys/dynmake/dynmake.bat +0 -2
- data/dyncall/buildsys/dynmake/dynmake.sh +0 -4
- data/dyncall/dynMakefile +0 -4
- data/dyncall/dyncall/Makefile.M +0 -10
- data/dyncall/dyncall/TODO +0 -9
- data/dyncall/dyncall/dynMakefile +0 -4
- data/dyncall/dyncall/dyncall_call_sparc64.S +0 -362
- data/dyncall/dyncall/dyncall_call_sparc_v9.S +0 -222
- data/dyncall/dyncall/dyncall_call_x64-att.S +0 -147
- data/dyncall/dyncall/dyncall_callvm_sparc_v9.c +0 -182
- data/dyncall/dyncall/dyncall_callvm_sparc_v9.h +0 -46
- data/dyncall/dyncallback/Makefile.M +0 -10
- data/dyncall/dyncallback/README.txt +0 -9
- data/dyncall/dyncallback/TODO +0 -4
- data/dyncall/dyncallback/dynMakefile +0 -4
- data/dyncall/dyncallback/dyncall_args_arm32_thumb.c +0 -30
- data/dyncall/dyncallback/dyncall_callback_arm32_arm.h +0 -46
- data/dyncall/dyncallback/dyncall_callback_mips.h +0 -43
- data/dyncall/dyncallback/dyncall_callback_ppc32.h +0 -43
- data/dyncall/dyncallback/dyncall_callback_ppc64.h +0 -56
- data/dyncall/dyncallback/dyncall_callback_sparc32.h +0 -44
- data/dyncall/dyncallback/dyncall_callback_x64.h +0 -45
- data/dyncall/dyncallback/dyncall_callback_x86.h +0 -50
- data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.c +0 -30
- data/dyncall/dyncallback/dyncall_thunk_arm32_thumb.h +0 -36
- data/dyncall/dynload/Makefile.M +0 -10
- data/dyncall/dynload/TODO +0 -20
- data/dyncall/dynload/dynMakefile +0 -4
- data/dyncall/dynload/dynload_darwin.c +0 -90
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 48c23d651ae6024799dc93d27784b76932a2442a
|
|
4
|
+
data.tar.gz: 77aea3d5b61b0b1957a8e6c4fee0c0e3815afe77
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bc287843aed36b3750e69451c4612ac4fb6460d9c200592960b04ac4ec23240e162bd28d155b94aa3c17b3ebda874ac6689ab0f7f136a5fd239519fbfeb37007
|
|
7
|
+
data.tar.gz: 73b0f5ddbaf53b12882499d67ec86c7f3a28ec5987978d5e49c5afd8b3229307994c1883ec3c56b25b46b77fc2e3c2dbb9d43239ee76773e460a9a59de82c416
|
data/dyncall/BUGS
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
- add support for SELinux
|
|
1
|
+
- add support for SELinux
|
|
2
2
|
- dyncall sparc v7/v8: -xO3 on SunPro segfaults in tests.
|
|
3
3
|
- dyncall sparc64 port: works fine on Debian 6, but has issues on OpenBSD and Solaris regarding passing of float and double values.
|
|
4
4
|
- this BUGS file should be merged with ToDo or vice-versa
|
data/dyncall/CMakeLists.txt
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
#
|
|
20
20
|
|
|
21
21
|
cmake_minimum_required (VERSION 2.6)
|
|
22
|
-
project(DynCall)
|
|
22
|
+
project(DynCall C)
|
|
23
23
|
|
|
24
24
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "dyncall enables dynamic invocation of machine-level function calls")
|
|
25
25
|
set(CPACK_PACKAGE_VENDOR "dyncall project")
|
|
@@ -35,6 +35,14 @@ include(CPack)
|
|
|
35
35
|
# currently we have no use for this, but maybe later..
|
|
36
36
|
#set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/buildsys/cmake/Modules" "${CMAKE_MODULE_PATH}")
|
|
37
37
|
|
|
38
|
+
option(LANG_CXX "Enable and build C++ tests" ON)
|
|
39
|
+
|
|
40
|
+
if(LANG_CXX)
|
|
41
|
+
enable_language(CXX)
|
|
42
|
+
endif()
|
|
43
|
+
|
|
44
|
+
include(CheckCCompilerFlag)
|
|
45
|
+
check_c_compiler_flag("-fPIC -Werror" COMPILER_HAS_FPIC)
|
|
38
46
|
|
|
39
47
|
if(MSVC)
|
|
40
48
|
enable_language(ASM_MASM)
|
|
@@ -47,10 +55,12 @@ if(MSVC)
|
|
|
47
55
|
#set(CMAKE_ASM_MASM_SOURCE_FILE_EXTENSIONS asm)
|
|
48
56
|
#set(CMAKE_ASM_MASM_COMPILE_OBJECT "<CMAKE_ASM_MASM_COMPILER> <FLAGS> /c /Fo <OBJECT> <SOURCE>")
|
|
49
57
|
elseif(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_C_COMPILER_ID}" STREQUAL "Intel")
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
58
|
+
if(COMPILER_HAS_FPIC)
|
|
59
|
+
# when used in shared libraries, -fPIC is required by several architectures
|
|
60
|
+
# and platforms (observed on AMD64, Solaris/Sparc).
|
|
61
|
+
# we enable it per default here.
|
|
62
|
+
add_definitions("-fPIC")
|
|
63
|
+
endif()
|
|
54
64
|
# enable gcc as front-end to assembler for .S files
|
|
55
65
|
set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}")
|
|
56
66
|
set(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c")
|
|
@@ -61,8 +71,10 @@ elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "SunPro")
|
|
|
61
71
|
set(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c")
|
|
62
72
|
enable_language(ASM)
|
|
63
73
|
else()
|
|
64
|
-
if (
|
|
65
|
-
|
|
74
|
+
if (CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
|
75
|
+
if(COMPILER_HAS_FPIC)
|
|
76
|
+
add_definitions("-fPIC")
|
|
77
|
+
endif()
|
|
66
78
|
# enable gcc as front-end to assembler for .S files
|
|
67
79
|
set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}")
|
|
68
80
|
set(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c")
|
data/dyncall/ChangeLog
CHANGED
|
@@ -1,21 +1,62 @@
|
|
|
1
1
|
This file lists bigger/noteworthy changes, only...
|
|
2
2
|
|
|
3
|
-
Version 1.0 (
|
|
4
|
-
|
|
3
|
+
Version 1.0 (2018/04/23)
|
|
4
|
+
dyncall:
|
|
5
|
+
o PPC64 single-precision float fixes for more than 13 float args (thanks Masanori Mitsugi!)
|
|
6
|
+
o fixed potential buffer overrun on ARM64
|
|
7
|
+
o error code handling (dcGetError) changes, flag is now cleared (work still underway)
|
|
8
|
+
o MIPS n64 ellipsis call fixes
|
|
9
|
+
o ARM32 armhf ellipsis call fixes
|
|
10
|
+
o fixed ARM32-THUMB stack alignment issues (found on Cortex-m0, thanks Darren Whobrey!)
|
|
11
|
+
o better C++ compiler support (for pointer conversions)
|
|
12
|
+
dyncallback:
|
|
13
|
+
o PPC64 single-precision float fixes for more than 13 float args (thanks Masanori Mitsugi!)
|
|
14
|
+
o MIPS o32 (big- and little-endian), EABI (32 bit, little-endian) and n64 (big-endian) support
|
|
15
|
+
o SPARC32 (v7/v8) support
|
|
16
|
+
o SPARC64 (v9) support
|
|
17
|
+
o PPC32 fixes for (old) Darwin/OS X systems
|
|
18
|
+
o POSIX compliance: fallback for wx alloc on systems that don't have mmap()'s MAP_ANON
|
|
19
|
+
o allocated space used for thunk now always W^X (req. for e.g. OpenBSD >= 6.0)
|
|
20
|
+
dynload:
|
|
21
|
+
o major reliability/stability fixes for Mach-O dlSyms* functions to (thanks Stéphane Mons for help):
|
|
22
|
+
better handle loading dylibs by symlink, relative path, random casing, etc.
|
|
23
|
+
fixes to symbol name lookups that used wrong offsets before
|
|
24
|
+
64-bit platform fixes (was broken on x64 and never supported on others)
|
|
25
|
+
o allowing Mach-O dlSyms* lib to be used standalone (consistent with ELF and PE impls now)
|
|
26
|
+
o simplifications of implemention on Darwin, sharing parts with *nix implementation
|
|
27
|
+
o potentially breaking change on macos/Darwin platforms: all functions now consistently accept or
|
|
28
|
+
return symbol names as they would appear in C code, instead of the raw ones in object files
|
|
29
|
+
o added new function dlGetLibraryPath, allowing lookups of path to library via handle
|
|
30
|
+
general:
|
|
31
|
+
o assembly code now built by explicitily asking for non-execstack, for safer/easier integration
|
|
32
|
+
into other projects/builds, where needed; needed b/c of questionable default behaviours of some
|
|
33
|
+
toolchains (thanks Thorsten Behrens for report and analysis)
|
|
34
|
+
doc:
|
|
35
|
+
o working html doc generation from TEX sources
|
|
36
|
+
o SPARC32 (v7/v8) calling convention description
|
|
37
|
+
o SPARC64 (v9) calling convention description
|
|
38
|
+
bindings:
|
|
39
|
+
o better documentation, removed relative path dependencies, general cleanup
|
|
40
|
+
o python: updated to latest signature format (was still on 0.1)
|
|
41
|
+
o java: rewritten (old version was never complete, anyways)
|
|
42
|
+
tests:
|
|
43
|
+
o added new dynload_plain test covering basic use of all dynload functions
|
|
44
|
+
buildsys:
|
|
45
|
+
o cmake: made to work on systems without C++ compiler (thanks Franklin Mathieu)
|
|
5
46
|
|
|
6
47
|
Version 0.9 (2015/12/31)
|
|
7
48
|
dyncall:
|
|
8
49
|
o ARM64 support (AAPCS64 on Linux & Apple's derived version on iOS)
|
|
9
50
|
o armhf calling convention support for ARM32
|
|
10
|
-
o PPC64 support, including syscalls (thanks Masanori!)
|
|
51
|
+
o PPC64 support, including syscalls (thanks Masanori Mitsugi!)
|
|
11
52
|
o introduced dcArgF and dcVArgF for flexible/convenient argument binding (works like dcCallF/dcVCallF but without the function call)
|
|
12
53
|
o using -fPIC by default for FreeBSD
|
|
13
54
|
o PPC32 linux syscall support
|
|
14
|
-
o fixed return value errors for
|
|
55
|
+
o fixed return value errors for ARM32 on some platforms (e.g. freebsd/arm32, nintendo ds); arm & thumb mode
|
|
15
56
|
dyncallback:
|
|
16
57
|
o ARM64 support (AAPCS64 on Linux, Apple's derived version on iOS)
|
|
17
58
|
o armhf calling convention support for ARM32
|
|
18
|
-
o PPC64 support (thanks Masanori!)
|
|
59
|
+
o PPC64 support (thanks Masanori Mitsugi!)
|
|
19
60
|
o PPC32 System V support (Linux)
|
|
20
61
|
o fix for PPC32 Darwin/OS X
|
|
21
62
|
o more intuitive specification of callback return type
|
|
@@ -37,6 +78,7 @@ bindings:
|
|
|
37
78
|
o erldc: Erlang binding (thanks Erik!)
|
|
38
79
|
infrastructure:
|
|
39
80
|
o moved to hg
|
|
81
|
+
o moved bindings to own repository
|
|
40
82
|
|
|
41
83
|
Version 0.8 (2014/03/24)
|
|
42
84
|
buildsys:
|
|
@@ -47,9 +89,9 @@ buildsys:
|
|
|
47
89
|
o based more sources on portasm generation
|
|
48
90
|
dyncall:
|
|
49
91
|
o fix for ARMv7 Thumb-2 code (tested on iPhone 4 CDMA / iOS 6.0.1)
|
|
50
|
-
o bugfixes for -O2 builds for SPARC-v9 and SPARC-v7
|
|
92
|
+
o bugfixes for -O2 builds for SPARC-v9 and SPARC-v7
|
|
51
93
|
o new optimized call kernel for SPARC-v9 without conditionals
|
|
52
|
-
o bigger refactoring and optimization of
|
|
94
|
+
o bigger refactoring and optimization of MIPS o32
|
|
53
95
|
o x64 optimizations
|
|
54
96
|
dyncallback:
|
|
55
97
|
o added callback support for plan9
|
|
@@ -70,14 +112,14 @@ bindings:
|
|
|
70
112
|
|
|
71
113
|
Version 0.7 (2012/01/02)
|
|
72
114
|
architecture:
|
|
73
|
-
o added subproject: portasm - portable (GNU AS,+Apple and MASM) assembly framework
|
|
115
|
+
o added subproject: portasm - portable (GNU AS,+Apple and MASM) assembly framework
|
|
74
116
|
o added subproject: autovar - predefined macro framework (was dyncall_macros.h)
|
|
75
|
-
o added support for sparc (32-bit) (tested on linux/debian,openbsd,solaris)
|
|
76
|
-
o added support for sparc (64-bit) (tested on linux/debian,openbsd,solaris)
|
|
77
117
|
o added support for Solaris and SunPro compiler for i386, x86_64, sparc and sparc64
|
|
78
118
|
o improved auto-detection via preprocessor defines
|
|
79
119
|
dyncall updates:
|
|
80
120
|
o uses portasm (GNU,Apple,Microsoft) common sources for x86,x64,ppc32,arm32_arm
|
|
121
|
+
o added support for sparc (32-bit) (tested on linux/debian,openbsd,solaris)
|
|
122
|
+
o added support for sparc (64-bit) (tested on linux/debian,openbsd,solaris)
|
|
81
123
|
o bug fixes for x64/win64 calling convention
|
|
82
124
|
o added support for mingw32-w64 on x64
|
|
83
125
|
o improved cdecl x86 calling convention: stack always 16 byte aligned
|
|
@@ -104,8 +146,8 @@ dynload updates:
|
|
|
104
146
|
o no dependencies to libdyncall sources.
|
|
105
147
|
buildsys additions:
|
|
106
148
|
o added zero-config (BSD,GNU,SUN) make files (Makefile.embedded)
|
|
107
|
-
o added in/out-of-source configure2 w/ (BSD,GNU) make files (Makefile.generic
|
|
108
|
-
o added bootstrap lua script (download/build)
|
|
149
|
+
o added in/out-of-source configure2 w/ (BSD,GNU) make files (Makefile.generic)
|
|
150
|
+
o added bootstrap lua script (download/build)
|
|
109
151
|
o Nmakefile: more tests included (resolve_self)
|
|
110
152
|
o improved cross-compilation for iOS (upgrade to 4.3 sdk)
|
|
111
153
|
o darwin 8.0 support
|
|
@@ -127,13 +169,13 @@ buildsys/cmake updates:
|
|
|
127
169
|
o added experimental 'dynMake' portable make-based build-system (not stable, yet)
|
|
128
170
|
documentation updates:
|
|
129
171
|
o added dyncallback documentation
|
|
130
|
-
o updated dyncall documentation
|
|
172
|
+
o updated dyncall documentation
|
|
131
173
|
o minor updates
|
|
132
174
|
tests:
|
|
133
175
|
o added flexible test suite for calls (call_suite) based on Lua and C
|
|
134
176
|
o added syscall test
|
|
135
177
|
o updates to resolve-self test (adding additional link flags to export symbols)
|
|
136
|
-
o improved dir name portability (renamed plain_c++ -> plain_cxx)
|
|
178
|
+
o improved dir name portability (renamed plain_c++ -> plain_cxx)
|
|
137
179
|
o renamed *.cpp -> *.cc files (OpenBSD/Sun make has no implicit rules for cpp)
|
|
138
180
|
|
|
139
181
|
Version 0.6 (2010/09/25)
|
|
@@ -141,17 +183,17 @@ building:
|
|
|
141
183
|
o new build systems: CMake and Plan9's mk
|
|
142
184
|
o buildsys/gmake tool chain update: pcc and iphone sdk
|
|
143
185
|
o x64 bugfix: added "-fPIC" even for static libs
|
|
144
|
-
dynload updates:
|
|
186
|
+
dynload updates:
|
|
145
187
|
o enum symbols update: Mach-O and Win64 (thanks Olivier)
|
|
146
188
|
o numerous convenience changes to dynload interface (thanks Olivier)
|
|
147
189
|
o added support for resolving application images itself
|
|
148
190
|
dyncall updates:
|
|
149
191
|
o new platform support: arm/iphone (armv6), x86/Plan9
|
|
150
|
-
o new
|
|
192
|
+
o new MIPS calling conventions: o32, n64 (both endian models)
|
|
151
193
|
o cleanup: unexported functions in MASM files, b/c export not needed (thanks Olivier)
|
|
152
194
|
o interface update: added error reporting facility 'dcGetError'
|
|
153
195
|
o bugfix for ppc32/sysv: ellipsis calls were broken
|
|
154
|
-
o interface update: added new abstract mode for ellipsis calls (DC_CALL_C_ELLIPSIS)
|
|
196
|
+
o interface update: added new abstract mode for ellipsis calls (DC_CALL_C_ELLIPSIS)
|
|
155
197
|
docs:
|
|
156
198
|
o comprehensive update
|
|
157
199
|
tests:
|
|
@@ -174,14 +216,13 @@ Version 0.4 (2009/07/06)
|
|
|
174
216
|
o fixed nmake buildfiles and configure.bat (were out of date and wrong)
|
|
175
217
|
o test suite clean up (GNUmake, BSDmake):
|
|
176
218
|
target "config" modified, phony without dependencies to other builds
|
|
177
|
-
o bugfix: GNU fastcall calling convention for float and double arguments
|
|
178
|
-
was wrong. no skip of register.
|
|
219
|
+
o bugfix: GNU fastcall calling convention for float and double arguments was wrong (no skip of register)
|
|
179
220
|
o update: x86win32* suite tests are built on cygwin now, added total result output
|
|
180
221
|
o signature types change:
|
|
181
222
|
C Strings: 'S' -> 'Z'
|
|
182
223
|
long: 'l' -> 'j'
|
|
183
224
|
long long: 'L' -> 'l'
|
|
184
|
-
added unsigned integer type signature characters: upper case encoding
|
|
225
|
+
added unsigned integer type signature characters: upper case encoding
|
|
185
226
|
o added: callbacks component (support only for some platforms ATM)
|
|
186
227
|
o added: test cases for alloc_wx, thunk
|
|
187
228
|
o updated Documentation
|
data/dyncall/LICENSE
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
If not stated otherwise inside a file, all files here are distributed in
|
|
2
2
|
terms of:
|
|
3
3
|
|
|
4
|
-
Copyright (c) 2007-
|
|
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
|
data/dyncall/Makefile.generic
CHANGED
data/dyncall/ToDo
CHANGED
|
@@ -1,24 +1,50 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.1:
|
|
2
2
|
----
|
|
3
|
+
- ./configure on macOS does not pass CFLAGS etc.. to Makefile.config
|
|
4
|
+
- support platforms without shared libraries so they can be built by just typing `./configure;make` (e.g. minix < 3.2.1)
|
|
5
|
+
* also make sure minix with shared library support builds and works in general (>= 3.2.1) as well as ELF on Minix (>= 3.2.0) to begin with (as that's the base, and we only test on 3.1.8 so far)
|
|
6
|
+
- dyncall supports calls to functions where prototype exists (with and without varargs); however not when no
|
|
7
|
+
prototype exist (e.g. just calling some pointer), without any declaration... even possible in C, as one has
|
|
8
|
+
to cast to the function type? need to support?
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
- dyncallback's "stack_cleanup" can be removed from non x86 impls... test if they still work
|
|
12
|
+
- target a minimum c version, for use with -pedantic, etc.? Right now we use e.g. extensions
|
|
13
|
+
for anon structs, etc.
|
|
14
|
+
- the CallVM-free functions are per VTable, however the latter can be changed out
|
|
15
|
+
at runtime... which basically changes potentially the deallocator...
|
|
16
|
+
same goes for functions setting the mode. think about how to make this safer - currently
|
|
17
|
+
we have a higher flexibility and we need to potentially clean up from the mode we are in,
|
|
18
|
+
however, this is open to misuse
|
|
19
|
+
- check all vararg calling conv implementations if they promote correctly
|
|
20
|
+
(e.g. float to double); we used to not care as it was the user's job to
|
|
21
|
+
think of that, but we allow users to use ArgFloat, etc. on "..." now,
|
|
22
|
+
taking care of the promotion; so it should be consistent all across the
|
|
23
|
+
implementations -> also write testcode specifically for that
|
|
3
24
|
- autovar was never really pushed all the way through and still plays second
|
|
4
25
|
fiddle to dyncall_macros.h, clean this all up, eventually (Tassilo: for now, I
|
|
5
26
|
removed out of sync files to avoid confusion; but still probably duped code)
|
|
6
|
-
-
|
|
7
|
-
|
|
27
|
+
- add portable "make install"
|
|
28
|
+
* make install should also install manpages
|
|
8
29
|
- mailing list announcements (html email?)
|
|
9
30
|
- fix for NDS:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
- armhf ellipsis: fix weirdness with long long as first ... arg
|
|
18
|
-
- add portable "make install"
|
|
31
|
+
* ARM:
|
|
32
|
+
- callback_plain retval wrong (not only platform), area on stack where
|
|
33
|
+
it's stored is probably not zeroed, so half-words, etc., come with garbage
|
|
34
|
+
* THUMB:
|
|
35
|
+
- ellipsis (might be test itself, not respecting fixed part of args)
|
|
36
|
+
- callback_plain retval, see above under ARM
|
|
37
|
+
- callf
|
|
19
38
|
- support Solaris11 CFLAGS with -D_FILE_OFFSET_BITS=64
|
|
20
|
-
- make sure selinux works (esp. regarding NX bits
|
|
39
|
+
- make sure selinux works (esp. regarding NX bits)
|
|
21
40
|
Daniel has a patch for it, if needed, implementing allocwx with two memory blocks, one for w^x, mmaped to one for r|x
|
|
41
|
+
- support /SAFESEH on cl/win32
|
|
42
|
+
- test code functions should be in .so files, optionally, so the suites can directly
|
|
43
|
+
be used to test dycnall bindings
|
|
44
|
+
- pkg-config support?
|
|
45
|
+
- quadmath support (long double)
|
|
46
|
+
- add tests using alloca(), as this might depend on the frame pointer being correctly
|
|
47
|
+
set; we don't check for this, currently, at all
|
|
22
48
|
|
|
23
49
|
portasm:
|
|
24
50
|
--------
|
|
@@ -26,19 +52,36 @@ portasm:
|
|
|
26
52
|
|
|
27
53
|
dyncall:
|
|
28
54
|
--------
|
|
55
|
+
- merge arm32_thumb_{gas/apple} and include thumb support for portasm
|
|
56
|
+
- x64 verification: return values are passed via RAX and RDX, and XMM0 and XMM1.
|
|
57
|
+
- find big endian arm box (also hardfloat), e.g. cubietruck: http://blog.netbsd.org/tnf/entry/working_arm_multiprocessor_support
|
|
58
|
+
- test if armhf/thumb is actually working... pulls in arm mode code in dyncall_callvm.c
|
|
59
|
+
- dyncall_call_mips_n32.h and dyncall_call_mips_n64.h are pretty much the same, share code
|
|
29
60
|
- support for return values: aggregate return values
|
|
30
61
|
- support for argument values: structures, half-precision, vector types, long double
|
|
31
|
-
|
|
62
|
+
* make sure that struct support for ellipsis calls are not forgotten (copy everything by value)
|
|
32
63
|
- consider automatic type-promotion for arguments passed through DC_CALL_C_ELLIPSIS_VARARGS;
|
|
33
64
|
this would make it easier to just pass arguments instead of having to know about the C
|
|
34
|
-
type promotions
|
|
65
|
+
type promotions (this is partly done, see todo-item above under 1.1)
|
|
35
66
|
- syscalls for x64
|
|
36
67
|
* bsd
|
|
37
68
|
* linux
|
|
38
69
|
- other syscalls
|
|
70
|
+
- MIPS32 softfloat support (-msoft-float)
|
|
71
|
+
- test MIPS32 eabi big endian (current port works on psp, which is little endian)
|
|
72
|
+
- implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and
|
|
73
|
+
EdgeRouter lite uses this: https://blog.netbsd.org/tnf/entry/hands_on_experience_with_edgerouter)
|
|
74
|
+
- implement MIPS64 EABI (gcc -mabi=eabi); both, little and big-endian
|
|
75
|
+
- support for Minix/arm
|
|
76
|
+
- improve ellipsis test:
|
|
77
|
+
* test not just with one fixed arg, to also simulate alignment problems
|
|
78
|
+
* test return values
|
|
79
|
+
* convert from c++ to c, to have it also on plan9, and more portability
|
|
39
80
|
|
|
40
81
|
dynload:
|
|
41
82
|
--------
|
|
83
|
+
- RTLD_LAZY in darwin, why not in unix?
|
|
84
|
+
- dlGetLibraryPath: dl_iterate_phdr() used on OpenBSD, but not available on version < 3.7
|
|
42
85
|
- bug: test/nm crashes on qemu mips linux o32 debian etch
|
|
43
86
|
- test/resolve_self crashes/asserts on windows and bsds
|
|
44
87
|
- rename SymsInit to InitSyms and similar for cleanup function to reflect naming
|
|
@@ -46,24 +89,44 @@ dynload:
|
|
|
46
89
|
- get rid of Dl_info and friends (_GNU_SOURCE) in dynload/dynload_syms_elf.c
|
|
47
90
|
for implementation of dlSymsNameFromValue(..)
|
|
48
91
|
- check if PSP can support dynload (missing elf.h, dlfcn.h, etc.); fixup readme if successful
|
|
92
|
+
- some functionality like java's System.mapLibraryName('name') might be helpful?
|
|
93
|
+
- Failed On Open Solaris 11:
|
|
94
|
+
In file included from dynload_syms.c:28:
|
|
95
|
+
dynload_syms_elf.c:56: error: syntax error before "Elf_Dyn"
|
|
96
|
+
dynload_syms_elf.c:56: warning: data definition has no type or storage class
|
|
97
|
+
dynload_syms_elf.c: In function `dlSymsInit':
|
|
98
|
+
dynload_syms_elf.c:155: error: `pDyn' undeclared (first use in this function)
|
|
99
|
+
dynload_syms_elf.c:155: error: (Each undeclared identifier is reported only once
|
|
100
|
+
dynload_syms_elf.c:155: error: for each function it appears in.)
|
|
101
|
+
dynload_syms_elf.c:155: error: syntax error before ')' token
|
|
102
|
+
dynload_syms_elf.c:160: error: `DT_NULL' undeclared (first use in this function)
|
|
103
|
+
dynload_syms_elf.c:163: error: `DT_STRTAB' undeclared (first use in this function)
|
|
104
|
+
dynload_syms_elf.c:164: error: `DT_SYMTAB' undeclared (first use in this function)
|
|
105
|
+
dynload_syms_elf.c:165: error: `DT_HASH' undeclared (first use in this function)
|
|
106
|
+
make: *** [dynload_syms.o] Error 1
|
|
49
107
|
|
|
50
108
|
dyncallback:
|
|
51
109
|
------------
|
|
52
|
-
- callback_plain's return value not correct anymore on NDS (maybe just broken testcode?)
|
|
53
|
-
|
|
110
|
+
- callback_plain's return value not correct anymore on NDS (maybe just broken testcode?),
|
|
111
|
+
see above under 1.1 items
|
|
112
|
+
* check other platforms also, if asm stub initializes retval space, correctly
|
|
54
113
|
- finish PPC32 callbacks (see bugs section, below, BSD not working)
|
|
114
|
+
- MIPS32 softfloat support (-msoft-float)
|
|
115
|
+
- test MIPS32 eabi big endian (current port works on psp, which is little endian)
|
|
116
|
+
- implement MIPS64 N32 (gcc -mabi=n32); both, little and big-endian (looks like NetNBSD on and
|
|
117
|
+
EdgeRouter lite uses this: https://blog.netbsd.org/tnf/entry/hands_on_experience_with_edgerouter)
|
|
118
|
+
- implement MIPS64 EABI (gcc -mabi=eabi); both, little and big-endian
|
|
119
|
+
- support for Minix/arm
|
|
55
120
|
|
|
56
121
|
bindings:
|
|
57
122
|
---------
|
|
58
123
|
- release bindings as standalone packages (already done for rbdc as a gem and rdyncall on cran)
|
|
59
124
|
* add note to documentation, where bindings are and that some bindings are svn-only ATM
|
|
60
125
|
- add rdoc documentation to ruby gem
|
|
61
|
-
- bring python up to latest
|
|
62
126
|
- add pydoc for python
|
|
63
127
|
- add manpage for shdc
|
|
64
128
|
- expose callf-convenience functions to go
|
|
65
129
|
- add godoc for godc
|
|
66
|
-
- bring java up to latest
|
|
67
130
|
- add javadoc to java
|
|
68
131
|
- add more bindings
|
|
69
132
|
- add callback support for erlang, go, java, lua, python and ruby (and shell? how?)
|
|
@@ -71,14 +134,20 @@ bindings:
|
|
|
71
134
|
|
|
72
135
|
manual:
|
|
73
136
|
-------
|
|
74
|
-
-
|
|
137
|
+
- introduce doc overview tables and common vocab for calling convention specifics, following example of table on page 13 of https://www.linux-mips.org/pub/linux/mips/doc/ABI/MIPS-N32-ABI-Handbook.pdf; also as inspiration, e.g. user 'preserved' instead of 'permanent', etc. https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html#//apple_ref/doc/uid/TP40009021-SW4
|
|
138
|
+
- make stack layout diagrams better, e.g. add grow direction (example: https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/art/arm_stack.jpg on https://developer.apple.com/library/content/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARMv6FunctionCallingConventions.html#//apple_ref/doc/uid/TP40009021-SW1)
|
|
139
|
+
- callconv diagrams:
|
|
140
|
+
* good idea to review it all, anyways, if the calling conventions are actually
|
|
141
|
+
represented correctly (and if they are in sync with the .pdf, we used to have
|
|
142
|
+
problems with multirow.4ht)
|
|
75
143
|
- provide more examples on how to use dyncall, dynload and dyncallback
|
|
76
144
|
* e.g. enhance manual with a couple of examples (e.g. calling MessageBoxA on windows, etc.)
|
|
77
145
|
- manuals for bindings (as stated in bindings-section, above)
|
|
146
|
+
- under "dyncall support", in each calling convention appendix, list crucial details of e.g. big/little endian support, etc.
|
|
147
|
+
- specify integer models in use, use common ILP32, LLP64, etc. terms
|
|
78
148
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
- finish SPARC/SPARC64 calling conventions in doc's callconv-appendix !!!
|
|
149
|
+
regressions:
|
|
150
|
+
------------
|
|
82
151
|
- Haiku/gmake build doesn't build dynload due to the fact, that elf.h is not found
|
|
83
152
|
on default installations (one has to install the system headers)
|
|
84
153
|
* add to doc
|
|
@@ -97,10 +166,9 @@ nice to have:
|
|
|
97
166
|
|
|
98
167
|
bugs:
|
|
99
168
|
-----
|
|
100
|
-
- callconv
|
|
169
|
+
- setting callconv, specifically for platforms that have only one (default)) excepts on some
|
|
101
170
|
platforms, eg. setting X64_sysv on amd64/Linux - keeping cdecl which is the same in
|
|
102
|
-
this case, works
|
|
103
|
-
- callbacks on ppc32 only work on linux and apple (osx abi), but not BSD
|
|
171
|
+
this case, works (this should work now...)
|
|
104
172
|
- vararg function calls don't work for ARM THUMB mode (Daniel's new interface for modesetting for varag
|
|
105
173
|
args should be used); adapt test/ellipsis and/or retest
|
|
106
174
|
|
|
@@ -108,11 +176,13 @@ missing implementations (descending priority):
|
|
|
108
176
|
----------------------------------------------
|
|
109
177
|
- riscv
|
|
110
178
|
- itanium
|
|
179
|
+
- superh/j-core
|
|
111
180
|
- 68k, 88k, 6502, etc.
|
|
181
|
+
- arc
|
|
112
182
|
- alpha
|
|
113
|
-
- superh
|
|
114
183
|
- cell
|
|
115
184
|
- blackfin
|
|
185
|
+
- seaforth
|
|
116
186
|
- s/390
|
|
117
187
|
- z80
|
|
118
188
|
- hppa
|
|
@@ -120,6 +190,4 @@ missing implementations (descending priority):
|
|
|
120
190
|
- atmel avr
|
|
121
191
|
- propeller
|
|
122
192
|
- amd29k
|
|
123
|
-
- arc
|
|
124
|
-
- seaforth
|
|
125
193
|
|