diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-02 07:50:36 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-02 07:50:36 +0000 |
commit | 63c3ac7774ee8a271ba4929a670e753ef3a025fe (patch) | |
tree | 662df7d556eac753af31b15a13d8e2a6090a87cb /libitm | |
parent | 5a8f4e9d50e7c74bda611b4b0fee9f6caba75f7a (diff) | |
download | gcc-63c3ac7774ee8a271ba4929a670e753ef3a025fe.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191955 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libitm')
-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 ee148b5cdf6..d62247987ea 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 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 |