Browse thread
[Caml-list] Binding C libraries which use variable arguments (stdarg.h)
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Adrien <camaradetux@g...> |
| Subject: | Re: [Caml-list] Binding C libraries which use variable arguments (stdarg.h) |
On 01/11/2009, Florian Weimer <fw@deneb.enyo.de> wrote: > * Adrien: > >> On 01/11/2009, Florian Weimer <fw@deneb.enyo.de> wrote: >>> * Adrien: >>> >>>> It turned out it worked on linux x86_32, linux x86_64, netbsd sparc64 >>>> with 32-bit userland, debian's kfreebsd amd64 and ppc32. There's >>>> windows which I haven't checked yet though. >>> >>> x86_64 has different calling conventions for varargs and non-varargs >>> functions. If it works for you, it's only by accident (e.g. because >>> you aren't passing floating-point arguments). >>> >> >> I tried a few things with "double" at first since I'm on x86_64 and >> got no warning and no problem whatsoever. > > Could you check if libffi sets the %rax register to the number of > floating-point arguments? (I've seen this working by mere chance in > many cases.) > Unfortunately I don't know much about asm, I tried to check but failed (couldn't find what "leaq" meant). I found a few references indicating that libffi was properly doing that however. --- Adrien Nader