From: law Date: Mon, 26 Jan 1998 22:54:52 +0000 (+0000) Subject: * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aaa36d7cead5de11c84cb2ea57807beaac76062e;p=platform%2Fupstream%2Flinaro-gcc.git * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl stuff only if MCT_TEXT is #define'd. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@17496 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 68a8ab5..3ec5d67 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Jan 26 23:57:39 1998 Manfred Hollstein + + * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl + stuff only if MCT_TEXT is #define'd. + Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32 diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 21301f5..673d2f3 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -2724,7 +2724,10 @@ __enable_execute_stack () /* Motorola forgot to put memctl.o in the libp version of libc881.a, so define it here, because we need it in __clear_insn_cache below */ +/* On older versions of this OS, no memctl or MCT_TEXT are defined; + hence we enable this stuff only if MCT_TEXT is #define'd. */ +#ifdef MCT_TEXT asm("\n\ global memctl\n\ memctl:\n\ @@ -2735,6 +2738,7 @@ memctl:\n\ noerror:\n\ movq &0,%d0\n\ rts"); +#endif /* Clear instruction cache so we can call trampolines on stack. This is called from FINALIZE_TRAMPOLINE in mot3300.h. */ @@ -2742,6 +2746,7 @@ noerror:\n\ void __clear_insn_cache () { +#ifdef MCT_TEXT int save_errno; /* Preserve errno, because users would be surprised to have @@ -2752,6 +2757,7 @@ __clear_insn_cache () No need to use an address derived from _start or %sp, as 0 works also. */ memctl(0, 4096, MCT_TEXT); errno = save_errno; +#endif } #endif /* __sysV68__ */