diff options
author | Manfred Hollstein <manfred@s-direktnet.de> | 1998-01-26 22:54:52 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-01-26 15:54:52 -0700 |
commit | 3698f44e0eaa13abd10a7e80de48a06f151d5d3d (patch) | |
tree | ceb6aa6d7c4e146161912b7b8bc3967f50829426 /gcc/libgcc2.c | |
parent | ac8a456ac75d4466455b21db57f947704a4ed458 (diff) | |
download | gcc-3698f44e0eaa13abd10a7e80de48a06f151d5d3d.zip gcc-3698f44e0eaa13abd10a7e80de48a06f151d5d3d.tar.gz gcc-3698f44e0eaa13abd10a7e80de48a06f151d5d3d.tar.bz2 |
libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl stuff only if MCT_TEXT is #define'd.
* libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
stuff only if MCT_TEXT is #define'd.
From-SVN: r17496
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r-- | gcc/libgcc2.c | 6 |
1 files changed, 6 insertions, 0 deletions
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__ */ |