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
This commit is contained in:
Uros Bizjak 2012-10-02 09:50:36 +02:00 committed by Uros Bizjak
parent c8ae7abfab
commit 0c609a2144
3 changed files with 9 additions and 8 deletions

View File

@ -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

View File

@ -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)

View File

@ -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