Raul Miller wrote:
> J uses a hack where doubles are passed as long. This works on other
> OSes but not on openbsd.

This seems suspect. There's no guarantee double and long are the same size.

> I was under the impression that gcc passes all values on the stack,
> not in floating point registers or anything like that?

This depends a lot on the CPU, but gcc on openbsd generally behaves the same
as on any other OS with the same CPU.

> I also wind up spending a fair amount of time in ld.so -- maybe I'll
> be able to find my way through all the detail, but mostly I'm just as
> lost using gdb as with any other approach.

I doubt ld.so really has much to do with it.

> Basically, though, I don't know what I am looking for, so I don't know
> how to tell when I am getting close to it.
> 
> Does anyone know how I should approach this issue? (Is there anything
> specific to OpenBSD which should be relevant here, or should I
> strictly focus on gcc issues?)

Looking at the disassembly for the stub code may help.

It sounds like you may be missing a prototype somewhere and are getting
implicit conversions.

Reply via email to