[Mono-bugs] [Bug 82387][Nor] Changed - P/Invoke partially not working on Mac OS X
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Fri Aug 10 14:15:24 EDT 2007
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by grompf at sublimeintervention.com.
http://bugzilla.ximian.com/show_bug.cgi?id=82387
--- shadow/82387 2007-08-10 13:55:57.000000000 -0400
+++ shadow/82387.tmp.30766 2007-08-10 14:15:24.000000000 -0400
@@ -115,6 +115,46 @@
Yep thats the one.
I'm working on something else right now; I'll do the math later to see why we're off
+
+------- Additional Comments From grompf at sublimeintervention.com 2007-08-10 14:15 -------
+vargaz,
+
+ Pretty simple fix; we accounted for alignment on apple lower down which you forgot to
+remove; check this patch and if it looks good to you I'll commit (it fixes the problem here)
+
+Index: tramp-x86.c
+=======================================================
+============
+--- tramp-x86.c (revision 82445)
++++ tramp-x86.c (working copy)
+@@ -252,11 +252,6 @@
+ pushed_args += 2;
+
+ /* starting the call sequence */
+-#ifdef __APPLE__
+- /* changing esp to keep the stack aligned */
+- x86_alu_reg_imm (buf, X86_SUB, X86_ESP, 8);
+- pushed_args += 2;
+-#endif
+
+ /* FIXME: Push the trampoline address */
+ x86_push_imm (buf, 0);
+@@ -300,12 +295,7 @@
+ else
+ x86_call_code (buf, mono_magic_trampoline);
+
+-#ifdef __APPLE__
+- /* account for the alignment above */
+- x86_alu_reg_imm (buf, X86_ADD, X86_ESP, 6*4);
+-#else
+ x86_alu_reg_imm (buf, X86_ADD, X86_ESP, 4*4);
+-#endif
+
+ /* restore LMF start */
+ /* ebx = previous_lmf */
+
+
+
More information about the mono-bugs
mailing list