http://d.puremagic.com/issues/show_bug.cgi?id=9931
--- Comment #7 from Martin Nowak <[email protected]> 2013-04-16 17:57:26 PDT --- Seems like OSX deviates from the SysV IA-32 ABI for memory struct returns. The callee does NOT return the hidden pointer in EAX. Instead the caller has to use the value passed as argument. 0x0000267c <D4test3barFZS4test3Foo+20>: call 0x26a0 <foo> 0x00002681 <D4test3barFZS4test3Foo+25>: add $0xc,%esp 0x00002684 <D4test3barFZS4test3Foo+28>: mov %eax,%esi // <- EAX is trashed 0x00002686 <D4test3barFZS4test3Foo+30>: mov -0x4(%ebp),%edi 0x00002689 <D4test3barFZS4test3Foo+33>: movsl %ds:(%esi),%es:(%edi) 0x0000268a <D4test3barFZS4test3Foo+34>: movsl %ds:(%esi),%es:(%edi) 0x0000268b <D4test3barFZS4test3Foo+35>: movsl %ds:(%esi),%es:(%edi) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
