]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
target.h (struct gtm_jmpbuf): Merge x86_64 and ia32 declarations some more.
authorUros Bizjak <ubizjak@gmail.com>
Tue, 2 Oct 2012 07:50:36 +0000 (09:50 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 2 Oct 2012 07:50:36 +0000 (09:50 +0200)
* 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
libitm/config/x86/sjlj.S
libitm/config/x86/target.h

index ee148b5cdf66feaec2ff0a9f68b8bf26241444ae..d62247987ea93cda2e0b9290ec94f16191b2b441 100644 (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
index 884422882beee02e5319e9add7a4eefb85595668..4d733f4c2200914427e23b44aaa788fcdb38d251 100644 (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)
index 73b6585ae7055902c0c4be89040d02e2ae090353..74f4f92cfbc26316016544d44951fe7305932157 100644 (file)
 
 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