msvcrt: 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@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Ken Thomases 2019-03-18 14:21:55 -05:00 committed by Alexandre Julliard
parent 61d825ca3e
commit d22058d1cb
1 changed files with 2 additions and 2 deletions

View File

@ -44,7 +44,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("MSVCRT_" #name "_vtable") "\n" \
__ASM_NAME("MSVCRT_" #name "_vtable") ":\n" \
@ -56,7 +56,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("MSVCRT_" #name "_vtable") "\n" \
__ASM_NAME("MSVCRT_" #name "_vtable") ":\n" \