Ken Thomases : msvcp90: Fix vtable alignment on macOS and certain non-x86 architectures.

Alexandre Julliard julliard at winehq.org
Mon Mar 18 16:20:16 CDT 2019


Module: wine
Branch: master
Commit: 849daa9c8573f2489a9936b65288ae7ad0a78953
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=849daa9c8573f2489a9936b65288ae7ad0a78953

Author: Ken Thomases <ken at codeweavers.com>
Date:   Mon Mar 18 14:21:56 2019 -0500

msvcp90: Fix vtable alignment on macOS and certain non-x86 architectures.

On some platforms and architectures, the .align <n> directive aligns to 2^n
bytes, not n bytes.  The .balign <n> directive always aligns to n bytes.

Signed-off-by: Ken Thomases <ken at codeweavers.com>
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcp90/cxx.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/msvcp90/cxx.h b/dlls/msvcp90/cxx.h
index 917d814..05c8776 100644
--- a/dlls/msvcp90/cxx.h
+++ b/dlls/msvcp90/cxx.h
@@ -45,7 +45,7 @@
 
 #define __ASM_VTABLE(name,funcs) \
     __asm__(".data\n" \
-            "\t.align 8\n" \
+            "\t.balign 8\n" \
             "\t.quad " __ASM_NAME(#name "_rtti") "\n" \
             "\t.globl " __ASM_NAME("MSVCP_" #name "_vtable") "\n" \
             __ASM_NAME("MSVCP_" #name "_vtable") ":\n" \
@@ -57,7 +57,7 @@
 
 #define __ASM_VTABLE(name,funcs) \
     __asm__(".data\n" \
-            "\t.align 4\n" \
+            "\t.balign 4\n" \
             "\t.long " __ASM_NAME(#name "_rtti") "\n" \
             "\t.globl " __ASM_NAME("MSVCP_" #name "_vtable") "\n" \
             __ASM_NAME("MSVCP_" #name "_vtable") ":\n" \




More information about the wine-cvs mailing list