Commit 296ea027 by Rask Ingemann Lambertsen Committed by Rask Ingemann Lambertsen

linux.h (CRT_GET_RFIB_DATA): Add Intel syntax inline asm to macro.

	* 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.

From-SVN: r130485
parent d46e0870
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> 2007-11-28 Ben Elliston <bje@au.ibm.com>
* config/rs6000/aix64.opt (maix64): Add Negative(maix32). * config/rs6000/aix64.opt (maix64): Add Negative(maix32).
...@@ -180,11 +180,12 @@ along with GCC; see the file COPYING3. If not see ...@@ -180,11 +180,12 @@ along with GCC; see the file COPYING3. If not see
#define CRT_GET_RFIB_DATA(BASE) \ #define CRT_GET_RFIB_DATA(BASE) \
__asm__ ("call\t.LPR%=\n" \ __asm__ ("call\t.LPR%=\n" \
".LPR%=:\n\t" \ ".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 \ /* Due to a GAS bug, this cannot use EAX. That encodes \
smaller than the traditional EBX, which results in the \ smaller than the traditional EBX, which results in the \
offset being off by one. */ \ 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)) : "=d"(BASE))
#endif #endif
......
...@@ -300,11 +300,12 @@ along with GCC; see the file COPYING3. If not see ...@@ -300,11 +300,12 @@ along with GCC; see the file COPYING3. If not see
#define CRT_GET_RFIB_DATA(BASE) \ #define CRT_GET_RFIB_DATA(BASE) \
__asm__ ("call\t.LPR%=\n" \ __asm__ ("call\t.LPR%=\n" \
".LPR%=:\n\t" \ ".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 \ /* Due to a GAS bug, this cannot use EAX. That encodes \
smaller than the traditional EBX, which results in the \ smaller than the traditional EBX, which results in the \
offset being off by one. */ \ 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)) : "=d"(BASE))
#endif #endif
...@@ -123,10 +123,11 @@ along with GCC; see the file COPYING3. If not see ...@@ -123,10 +123,11 @@ along with GCC; see the file COPYING3. If not see
#define CRT_GET_RFIB_DATA(BASE) \ #define CRT_GET_RFIB_DATA(BASE) \
__asm__ ("call\t.LPR%=\n" \ __asm__ ("call\t.LPR%=\n" \
".LPR%=:\n\t" \ ".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 \ /* Due to a GAS bug, this cannot use EAX. That encodes \
smaller than the traditional EBX, which results in the \ smaller than the traditional EBX, which results in the \
offset being off by one. */ \ 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)) : "=d"(BASE))
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment