aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-07-20 09:17:10 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1996-07-20 09:17:10 -0400
commit22b54c57a1d3b30ebbfc9c34650e360753b5d591 (patch)
tree5c221ba67a04dd19420572c3ae39ccbfc711a3e8 /gcc
parent0189a68ad39868ba382c19b7e59d218bdfac373f (diff)
downloadgcc-22b54c57a1d3b30ebbfc9c34650e360753b5d591.zip
gcc-22b54c57a1d3b30ebbfc9c34650e360753b5d591.tar.gz
gcc-22b54c57a1d3b30ebbfc9c34650e360753b5d591.tar.bz2
(INITIALIZE_TRAMPOLINE): Use `_flush_cache'; flush data cache too.
From-SVN: r12541
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/mips/mips.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 6c45d96..be4efbe 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -2218,12 +2218,13 @@ typedef struct mips_args {
emit_move_insn (gen_rtx (MEM, SImode, plus_constant (addr, 36)), CHAIN);\
} \
\
- /* Flush the instruction cache. */ \
+ /* Flush both caches. We need to flush the data cache in case \
+ the system has a write-back cache. */ \
/* ??? Should check the return value for errors. */ \
- emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "cacheflush"), \
+ emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "_flush_cache"), \
0, VOIDmode, 3, addr, Pmode, \
GEN_INT (TRAMPOLINE_SIZE), TYPE_MODE (integer_type_node),\
- GEN_INT (1), TYPE_MODE (integer_type_node)); \
+ GEN_INT (3), TYPE_MODE (integer_type_node)); \
}
/* Addressing modes, and classification of registers for them. */