unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using appropriate assembler dialect.
authorDiego Novillo <dnovillo@cygnus.com>
Mon, 16 Oct 2000 16:52:47 +0000 (16:52 +0000)
committerDiego Novillo <dnovillo@gcc.gnu.org>
Mon, 16 Oct 2000 16:52:47 +0000 (12:52 -0400)
2000-10-13  Diego Novillo  <dnovillo@cygnus.com>

* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
appropriate assembler dialect.

From-SVN: r36887

gcc/ChangeLog
gcc/config/i386/unix.h

index d06524fa0de745618734b10c218a31aada3c4374..205785ad5706ad460b51c5ef41346a75cd60d5de 100644 (file)
 
        * gcc.texi (Contributing): Update.
 
+2000-10-13  Diego Novillo  <dnovillo@cygnus.com>
+
+       * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
+       appropriate assembler dialect.
+
 2000-10-13  Alexandre Oliva  <aoliva@redhat.com>
 
        * c-common.c (c_expand_builtin): PARAMS-ize prototype.
index 5b87c8cfe7f7c8cd7dbe1bc366987b0213284c91..eea359cdf5725003b23a0ef7f6c634368a76672b 100644 (file)
@@ -118,9 +118,11 @@ do {                                                                           \
       ASM_OUTPUT_INTERNAL_LABEL (FILE, "L", CODE_LABEL_NUMBER (xops[1]));   \
       output_asm_insn ("pop{l}\t%0", xops);                                \
       output_asm_insn ("add{l}\t$_GLOBAL_OFFSET_TABLE_+[.-%P1], %0", xops); \
-      fprintf (FILE, "\tmovl ");                                           \
-      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));       \
-      fprintf (FILE, "@GOT(%%ebx),%%ecx\n\tpopl %%ebx\n\tjmp *%%ecx\n");    \
+      xops[0] = gen_rtx_MEM (SImode, XEXP (DECL_RTL (FUNCTION), 0));       \
+      output_asm_insn ("mov{l}\t{%0@GOT(%%ebx), %%ecx|%%ecx, %0@GOT[%%ebx]}",\
+                      xops);                                               \
+      asm_fprintf (FILE, "\tpop{l\t%%ebx|\t%%ebx}\n");                     \
+      asm_fprintf (FILE, "\tjmp\t{*%%ecx|%%ecx}\n");                       \
     }                                                                      \
   else                                                                     \
     {                                                                      \