Comments
Patch
===================================================================
@@ -74,7 +74,6 @@
call SYM(GTM_begin_transaction)
addq $56, %rsp
cfi_def_cfa_offset(8)
- ret
#else
leal 4(%esp), %ecx
movl 4(%esp), %eax
@@ -99,8 +98,8 @@
#endif
addl $28, %esp
cfi_def_cfa_offset(4)
- ret
#endif
+ ret
cfi_endproc
TYPE(_ITM_beginTransaction)
===================================================================
@@ -24,11 +24,11 @@
namespace GTM HIDDEN {
-#ifdef __x86_64__
/* ??? This doesn't work for Win64. */
typedef struct gtm_jmpbuf
{
void *cfa;
+#ifdef __x86_64__
unsigned long long rbx;
unsigned long long rbp;
unsigned long long r12;
@@ -36,18 +36,14 @@
unsigned long long r14;
unsigned long long r15;
unsigned long long rip;
-} gtm_jmpbuf;
#else
-typedef struct gtm_jmpbuf
-{
- void *cfa;
unsigned long ebx;
unsigned long esi;
unsigned long edi;
unsigned long ebp;
unsigned long eip;
-} gtm_jmpbuf;
#endif
+} gtm_jmpbuf;
/* x86 doesn't require strict alignment for the basic types. */
#define STRICT_ALIGNMENT 0