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 | |
parent | c8ae7abfab787ea99556e69aa16780dbb81cec64 (diff) | |
download | gcc-0c609a21446d5ff209003d898a11878b343ca6db.zip gcc-0c609a21446d5ff209003d898a11878b343ca6db.tar.gz gcc-0c609a21446d5ff209003d898a11878b343ca6db.tar.bz2 |
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
-rw-r--r-- | libitm/ChangeLog | 6 | ||||
-rw-r--r-- | libitm/config/x86/sjlj.S | 3 | ||||
-rw-r--r-- | libitm/config/x86/target.h | 8 |
3 files changed, 9 insertions, 8 deletions
diff --git a/libitm/ChangeLog b/libitm/ChangeLog index ee148b5..d622479 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,9 @@ +2012-10-02 Uros Bizjak <ubizjak@gmail.com> + + * 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 <jakub@redhat.com> PR other/43620 diff --git a/libitm/config/x86/sjlj.S b/libitm/config/x86/sjlj.S index 8844228..4d733f4 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 73b6585..74f4f92 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 |