From c1f9de5a735ed339650616bc253ec42464f7ae21 Mon Sep 17 00:00:00 2001 From: Diego Novillo Date: Mon, 16 Oct 2000 16:52:47 +0000 Subject: [PATCH] unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using appropriate assembler dialect. 2000-10-13 Diego Novillo * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using appropriate assembler dialect. From-SVN: r36887 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/unix.h | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d06524fa0de..205785ad570 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -47,6 +47,11 @@ * gcc.texi (Contributing): Update. +2000-10-13 Diego Novillo + + * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using + appropriate assembler dialect. + 2000-10-13 Alexandre Oliva * c-common.c (c_expand_builtin): PARAMS-ize prototype. diff --git a/gcc/config/i386/unix.h b/gcc/config/i386/unix.h index 5b87c8cfe7f..eea359cdf57 100644 --- a/gcc/config/i386/unix.h +++ b/gcc/config/i386/unix.h @@ -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 \ { \ -- 2.30.2