On 7/16/2016 11:24 PM, Adam Sansier wrote:
I should point out that the code still doesn't work. It simply doesn't crash. It seems to jump to another code location that fails silently. I might not be fixing up the stack frame correctly or or doing something D expects. Hard to no because when I try to step over the `call` instruction it ends up in limbo in another part of the code so I can't check the return state to even see if it passed. I guess EIP is getting thrashed. Regardless, just further proves something is wrong with D as C++ works exactly as it should no matter how the function is called.
What I suggest is compiling the asm code with C++, and compiling with D. Run obj2asm on the output, and compare. Since you need them to produce the same result, any differences should be obvious.
It's much easier than using a debugger.
