alpha.c (alpha_initialize_trampoline): Add covert_memory_address calls as needed.

* alpha.c (alpha_initialize_trampoline): Add covert_memory_address
        calls as needed.

From-SVN: r26604
This commit is contained in:
Donn Terry 1999-04-23 15:04:07 +00:00 committed by Richard Henderson
parent 98283b4208
commit d2692ef86e
2 changed files with 9 additions and 2 deletions

View file

@ -2,6 +2,9 @@ Fri Apr 23 14:57:33 1999 Donn Terry <donn@interix.com>
* alpha32.h (INITIALIZE_TRAMPOLINE): Get offsets right.
* alpha.c (alpha_initialize_trampoline): Add covert_memory_address
calls as needed.
Fri Apr 23 14:36:47 1999 Richard Henderson <rth@cygnus.com>
* alpha.c (alpha_expand_prologue): Don't negate frame size

View file

@ -2949,10 +2949,14 @@ alpha_initialize_trampoline (tramp, fnaddr, cxt, fnofs, cxtofs, jmpofs)
int fnofs, cxtofs, jmpofs;
{
rtx temp, temp1, addr;
/* ??? Something is wrong with VMS codegen in that we get aborts when
using ptr_mode. Hack around it for now. */
/* VMS really uses DImode pointers in memory at this point. */
enum machine_mode mode = TARGET_OPEN_VMS ? Pmode : ptr_mode;
#ifdef POINTERS_EXTEND_UNSIGNED
fnaddr = convert_memory_address (mode, fnaddr);
cxt = convert_memory_address (mode, cxt);
#endif
/* Store function address and CXT. */
addr = memory_address (mode, plus_constant (tramp, fnofs));
emit_move_insn (gen_rtx (MEM, mode, addr), fnaddr);