Skip to content
Go library for interfacing with variadic C functions
Go Assembly C
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE
README
asmregs_386.h
asmregs_amd64.h
calltest_386.go
doc.go
variadic_386.S
variadic_386.go
variadic_386_test.go
variadic_amd64.S
variadic_amd64.go

README

Package variadic
================

This packge implements variadic calling conventions for calling foreign C code from within Go.

The primary motivation for this package was to be able to interface with Apple's Objective-C
runtime on Mac OS X, which uses a variadic function (objc_msgSend) for sending messages to objects.

Status
======

amd64:  Works pretty well - http://github.com/mkrautz/objc uses it (only tested on darwin, though!)

386:    Works on linux/386 and darwin/386

        Note: darwin/386 requires 16 byte stack alignment, and no
        effort has been made to support this at the moment. However,
        the tests pass on darwin/386 - not sure if I've been lucky.
Something went wrong with that request. Please try again.