Projects / dyncall

dyncall

The dyncall library project provides a clean and portable C interface to dynamically issue foreign function calls using small call kernels written in assembly. Instead of providing code for every bridged function call, which unnecessarily results in code bloat, only a modest number of instructions are used to invoke all calls.

Tags
Licenses
Operating Systems
Implementation

Recent releases

  •  25 Mar 2014 18:36

    Release Notes: This release features a simplified build system, major updates for ARM targets, including new support for ARM hardfloat (armhf) and iOS ARMv7 Thumb2 ABIs, refactorings of SPARC v7/v9, MIPS o32, and MS x64 backends, and new callback support for plan9/x86. Documentation was updated, and a new language binding for Go, as well as updates to R and Ruby bindings, is available.

    •  05 Jan 2012 10:14

      Release Notes: This release added a stable port for SPARC 32/64-bit and build support for Solaris/SunPro. Meta Assembly Format was introduced for call kernels with support for Microsoft, GNU, Apple, and Sun syntax. Bugs with Win64/x64 (critical), CygWin/x86, AMD64 System-V, and Haiku were fixed. The API was updated for ellipsis calls and bugfixes for PowerPC. A new build system, zero-configure, and hybrid {BSD,GNU,SUN} makefiles were added. Build support was added for mingw32-w64 and MINIX. Experimental support for passing structs and invoke syscalls was added. There were many minor improvements for build systems and test suites.

      •  27 Sep 2010 15:49

        Release Notes: This release includes new ports to iPhoneOS/ARM, Plan9/X86, and new calling conventions for MIPS (o32,n64). It adds support for the build tools CMake, Plan9's mk, pcc compiler, and cross-compilation via iPhoneSDK. It adds an error reporting facility to the library dyncall interface. The library dynload's image symbol enumeration support has been expanded with support for Win64 PE and Darwin Mach-O images, as well as support for self-referencing application host images. There is a major bugfix for ellipsis calls on PPC32/System V. There are new additions to and improvements in test suites, and updates to the documentation.

        •  02 Feb 2010 07:12

          Release Notes: This release has support for more ARM platforms including new ABI 'ATPCS' and bugfixes and updates for Callbacks on x64/Windows, x64/Darwin, arm32/ARM, arm32/Thumb. A new stress test tool for callbacks was added to the test suite. Haiku/BeOS platform support was added along with universal binary build support on Darwin. The source code was updated.:'arm9' was renamed to 'arm32' and callback API related functions are prefixed now with 'dcb' instead of 'dc'. There were many small documentation updates (callbacks are still undocumented). The Ruby and R bindings were updated.

          •  06 Jul 2009 22:55

            Release Notes: This release adds a callbacks framework: Scripting language functions are wrapped up in a single C pointer; no user data is needed. Ports: x86(Windows, Linux, Mac OS X) and x64 Linux. This is still alpha, with documentation missing and more ports to come with the next release. The signature notation has been updated: unsigned notation has been introduced (for bindings). This version is the base for the upcoming R language binding 'rdyncall'.

            Screenshot

            Project Spotlight

            OpenStack4j

            A Fluent OpenStack client API for Java.

            Screenshot

            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.