From 0c609a21446d5ff209003d898a11878b343ca6db Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Tue, 2 Oct 2012 09:50:36 +0200 Subject: [PATCH] target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more. * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more. * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code. From-SVN: r191955 --- libitm/ChangeLog | 6 ++++++ libitm/config/x86/sjlj.S | 3 +-- libitm/config/x86/target.h | 8 ++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/libitm/ChangeLog b/libitm/ChangeLog index ee148b5cdf6..d62247987ea 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,9 @@ +2012-10-02 Uros Bizjak + + * config/x86/target.h (struct gtm_jmpbuf): Merge x86_64 + and ia32 declarations some more. + * config/x86/sjlj.S (_ITM_beginTransaction): Move ret to common code. + 2012-09-20 Jakub Jelinek PR other/43620 diff --git a/libitm/config/x86/sjlj.S b/libitm/config/x86/sjlj.S index 884422882be..4d733f4c220 100644 --- a/libitm/config/x86/sjlj.S +++ b/libitm/config/x86/sjlj.S @@ -74,7 +74,6 @@ SYM(_ITM_beginTransaction): 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 @@ SYM(_ITM_beginTransaction): #endif addl $28, %esp cfi_def_cfa_offset(4) - ret #endif + ret cfi_endproc TYPE(_ITM_beginTransaction) diff --git a/libitm/config/x86/target.h b/libitm/config/x86/target.h index 73b6585ae70..74f4f92cfbc 100644 --- a/libitm/config/x86/target.h +++ b/libitm/config/x86/target.h @@ -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 @@ typedef struct gtm_jmpbuf 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