* sparc-stub.c (_trap_low): Do restore/save sequence after
setting sp to ensure that we load the previous window from the right place on the stack.
This commit is contained in:
parent
1399802122
commit
f2e21136eb
|
@ -1,3 +1,9 @@
|
|||
Thu Sep 16 12:12:59 1993 Stu Grossman (grossman at cygnus.com)
|
||||
|
||||
* sparc-stub.c (_trap_low): Do restore/save sequence after
|
||||
setting sp to ensure that we load the previous window from the
|
||||
right place on the stack.
|
||||
|
||||
Thu Sep 16 00:36:32 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||
|
||||
* mipsread.c: Many changes for alpha ecoff format:
|
||||
|
|
|
@ -220,9 +220,6 @@ recursive_trap:
|
|||
call _handle_exception
|
||||
add %sp, 24 * 4, %o0 ! Pass address of registers
|
||||
|
||||
restore ! Ensure that previous window is valid
|
||||
save %g0, %g0, %g0 ! by causing a window_underflow trap
|
||||
|
||||
! Reload all of the registers that aren't on the stack
|
||||
|
||||
ld [%sp + (24 + 1) * 4], %g1 ! registers[Gx]
|
||||
|
@ -237,6 +234,10 @@ recursive_trap:
|
|||
|
||||
ldd [%sp + (24 + 64) * 4], %l0 ! Y & PSR
|
||||
ldd [%sp + (24 + 68) * 4], %l2 ! PC & NPC
|
||||
|
||||
restore ! Ensure that previous window is valid
|
||||
save %g0, %g0, %g0 ! by causing a window_underflow trap
|
||||
|
||||
mov %l0, %y
|
||||
mov %l1, %psr ! Make sure that traps are disabled
|
||||
! for rett
|
||||
|
|
Loading…
Reference in New Issue