diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2012-10-02 09:50:36 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-10-02 09:50:36 +0200 |
commit | 0c609a21446d5ff209003d898a11878b343ca6db (patch) | |
tree | 662df7d556eac753af31b15a13d8e2a6090a87cb /libitm/config | |
parent | c8ae7abfab787ea99556e69aa16780dbb81cec64 (diff) | |
download | gcc-0c609a21446d5ff209003d898a11878b343ca6db.tar.gz |
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
Diffstat (limited to 'libitm/config')
-rw-r--r-- | libitm/config/x86/sjlj.S | 3 | ||||
-rw-r--r-- | libitm/config/x86/target.h | 8 |
2 files changed, 3 insertions, 8 deletions
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 |