Commit b5c663ee authored by Vincent Povirk's avatar Vincent Povirk Committed by Alexandre Julliard

mscoree: Preserve %ecx when calling ReallyFixupVTable.

parent 6f1d43b1
...@@ -827,6 +827,8 @@ static void get_utf8_args(int *argc, char ***argv) ...@@ -827,6 +827,8 @@ static void get_utf8_args(int *argc, char ***argv)
struct vtable_fixup_thunk struct vtable_fixup_thunk
{ {
/* push %ecx */
BYTE i7;
/* sub $0x4,%esp */ /* sub $0x4,%esp */
BYTE i1[3]; BYTE i1[3];
/* mov fixup,(%esp) */ /* mov fixup,(%esp) */
...@@ -839,12 +841,15 @@ struct vtable_fixup_thunk ...@@ -839,12 +841,15 @@ struct vtable_fixup_thunk
BYTE i4[2]; BYTE i4[2];
/* pop %eax */ /* pop %eax */
BYTE i5; BYTE i5;
/* pop %ecx */
BYTE i8;
/* jmp *vtable_entry */ /* jmp *vtable_entry */
BYTE i6[2]; BYTE i6[2];
void *vtable_entry; void *vtable_entry;
}; };
static const struct vtable_fixup_thunk thunk_template = { static const struct vtable_fixup_thunk thunk_template = {
0x51,
{0x83,0xec,0x04}, {0x83,0xec,0x04},
{0xc7,0x04,0x24}, {0xc7,0x04,0x24},
NULL, NULL,
...@@ -852,6 +857,7 @@ static const struct vtable_fixup_thunk thunk_template = { ...@@ -852,6 +857,7 @@ static const struct vtable_fixup_thunk thunk_template = {
NULL, NULL,
{0xff,0xd0}, {0xff,0xd0},
0x58, 0x58,
0x59,
{0xff,0x25}, {0xff,0x25},
NULL NULL
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment