* m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.

* libgcc2.c (__enable_execute_stack): Provide for sysV88 too.

From-SVN: r15256
This commit is contained in:
Manfred Hollstein 1997-09-10 18:02:16 +00:00 committed by Jeff Law
parent 0021b564f4
commit 9dfc6eba89
3 changed files with 23 additions and 2 deletions

View File

@ -26,6 +26,9 @@ Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com)
Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de>
* m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define.
* libgcc2.c (__enable_execute_stack): Provide for sysV88 too.
* xm-m88k.h (USG): Only define if it hasn't already been defined.
* Makefile.in (risky-stage1): Delete gratutious whitespace.

View File

@ -137,3 +137,21 @@ do { \
if (((int *)__DTOR_LIST__)[i] != -1) \
__DTOR_LIST__[i] (); \
} while (0)
#ifdef sysV88
/* manfred@s-direktnet.de: Re-define INITIALIZE_TRAMPOLINE to additionally call
__enable_execute_stack.
I don't actually have a clue why nobody else than sysV88 and __DOLPHIN__
needs to call this; perhaps they didn't ever run the c-torture tests
getting segmentations violations and/or bus errors with nested functions. */
#undef INITIALIZE_TRAMPOLINE
#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \
{ \
emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 40)), FNADDR); \
emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 36)), CXT); \
emit_call_insn (gen_call (gen_rtx (MEM, SImode, \
gen_rtx (SYMBOL_REF, Pmode, \
"__enable_execute_stack")), \
const0_rtx)); \
}
#endif

View File

@ -2827,7 +2827,7 @@ __enable_execute_stack ()
}
#endif /* __convex__ */
#ifdef __DOLPHIN__
#if defined (__DOLPHIN__) || defined (sysV88)
/* Modified from the convex -code above. */
@ -2857,7 +2857,7 @@ __enable_execute_stack ()
errno=save_errno;
}
#endif /* __DOLPHIN__ */
#endif /* __DOLPHIN__ or sysV88 */
#ifdef __pyr__