OSDN Git Service

* config/i386/linux.h (CRT_GET_RFIB_DATA): Add Intel syntax inline
authorrask <rask@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Nov 2007 01:04:27 +0000 (01:04 +0000)
committerrask <rask@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 28 Nov 2007 01:04:27 +0000 (01:04 +0000)
asm to macro.
* config/i386/sco5.h (CRT_GET_RFIB_DATA): Likewise.
* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130485 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/linux.h
gcc/config/i386/sco5.h
gcc/config/i386/sysv4.h

index cc16b23..a4c11dd 100644 (file)
@@ -1,3 +1,10 @@
+2007-11-28  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * config/i386/linux.h (CRT_GET_RFIB_DATA): Add Intel syntax inline
+       asm to macro.
+       * config/i386/sco5.h (CRT_GET_RFIB_DATA): Likewise.
+       * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Likewise.
+
 2007-11-28  Ben Elliston  <bje@au.ibm.com>
 
        * config/rs6000/aix64.opt (maix64): Add Negative(maix32).
index d59dc04..ac81498 100644 (file)
@@ -180,11 +180,12 @@ along with GCC; see the file COPYING3.  If not see
 #define CRT_GET_RFIB_DATA(BASE)                                                \
   __asm__ ("call\t.LPR%=\n"                                            \
           ".LPR%=:\n\t"                                                \
-          "popl\t%0\n\t"                                               \
+          "pop{l}\t%0\n\t"                                             \
           /* Due to a GAS bug, this cannot use EAX.  That encodes      \
              smaller than the traditional EBX, which results in the    \
              offset being off by one.  */                              \
-          "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"                 \
+          "add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"              \
+                  "|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}"              \
           : "=d"(BASE))
 #endif
 
index 9706846..4f19fd4 100644 (file)
@@ -300,11 +300,12 @@ along with GCC; see the file COPYING3.  If not see
 #define CRT_GET_RFIB_DATA(BASE)                                                \
   __asm__ ("call\t.LPR%=\n"                                            \
           ".LPR%=:\n\t"                                                \
-          "popl\t%0\n\t"                                               \
+          "pop{l}\t%0\n\t"                                             \
           /* Due to a GAS bug, this cannot use EAX.  That encodes      \
              smaller than the traditional EBX, which results in the    \
              offset being off by one.  */                              \
-          "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"                 \
+          "add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"              \
+                  "|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}"              \
           : "=d"(BASE))
 #endif
 
index f9180e2..e105272 100644 (file)
@@ -123,10 +123,11 @@ along with GCC; see the file COPYING3.  If not see
 #define CRT_GET_RFIB_DATA(BASE)                                                \
   __asm__ ("call\t.LPR%=\n"                                            \
           ".LPR%=:\n\t"                                                \
-          "popl\t%0\n\t"                                               \
+          "pop{l}\t%0\n\t"                                             \
           /* Due to a GAS bug, this cannot use EAX.  That encodes      \
              smaller than the traditional EBX, which results in the    \
              offset being off by one.  */                              \
-          "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"                 \
+          "add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0"              \
+                  "|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}"              \
           : "=d"(BASE))
 #endif