From: Robert Shearman <[EMAIL PROTECTED]>
Subject: Re: Feedback requested for Mac OSX x86 stack patch -- #2
Date: Thu, 08 Jun 2006 10:36:31 +0100

Nick Burns wrote:

diff -u -p -r1.114 ChangeLog
--- ChangeLog   24 May 2006 18:09:06 -0000      1.114
+++ ChangeLog   8 Jun 2006 07:06:10 -0000
@@ -1,3 +1,8 @@
+2006-06-08  Nick Burns <[EMAIL PROTECTED]>
+
+       * include/windef.h:
+ If on Mac OSX (x86) use force_align_arg_pointer to fix the stack on entry to Wine.
+
 2006-05-24  Alexandre Julliard <[EMAIL PROTECTED]>
         * dlls/usp10/tests/usp10.c:


You don't need to patch ChangeLog; it is update each release from GIT history. Just include the text you want in the change log in the email you send the patch with.

Got ya no changelog dealies -- was unsure about that part...

Index: include/windef.h
===================================================================
RCS file: /home/wine/wine/include/windef.h,v
retrieving revision 1.103
diff -u -p -r1.103 windef.h
--- include/windef.h    5 Jun 2006 12:29:21 -0000    1.103
+++ include/windef.h    8 Jun 2006 05:14:30 -0000
@@ -52,7 +52,12 @@ extern "C" {
 #ifndef __stdcall
 # ifdef __i386__
 #  ifdef __GNUC__
-#   define __stdcall __attribute__((__stdcall__))
+#   ifdef __APPLE__
+ /* Mac OSX uses 16-byte aligned stack and not a 4-byte one -- so we must realign on entry */


Shouldn't this be #if defined __APPLE__ && defined __i386__?

Isnt ..
# ifdef __i386__
#  ifdef __GNUC__
#   ifdef __APPLE__
... the same? (should it be more clear?)

+# define __stdcall __attribute__((__stdcall__)) __attribute((force_align_arg_pointer))
+#   else
+#    define __stdcall __attribute__((__stdcall__))
+#   endif
 #  elif defined(_MSC_VER)
     /* Nothing needs to be done. __stdcall already exists */
 #  else


--
Rob Shearman

- Nick




Reply via email to