Bus error interfacing with C function returning large struct
John Colvin
john.loughran.colvin at gmail.com
Wed Apr 17 04:43:46 PDT 2013
On Wednesday, 17 April 2013 at 11:14:52 UTC, Jacob Carlborg wrote:
> On 2013-04-17 12:05, John Colvin wrote:
>
>> Martins reply in the bug report correctly identifies the
>> problem, it's a
>> bug in dmds implementation of the OS X IA32 ABI.
>
> I see. I'm still wondering why it works on Mac OS X 10.6.3,
> just luck?
clang just happened to put the arguments to foo in to registers
different on 10.6.3
Instead of loading the 0 argument in to eax it loaded the pointer
to the struct like it would in system V ABI (linux)
I have no idea whether this is a complete coincidence, or whether
clang has changed it's approach to the OS X abi, or whether the
ABI itself has changed.
More information about the Digitalmars-d
mailing list