* sparc-stub.c (_trap_low): Do restore/save sequence after
authorStu Grossman <grossman@cygnus>
Thu, 16 Sep 1993 19:16:19 +0000 (19:16 +0000)
committerStu Grossman <grossman@cygnus>
Thu, 16 Sep 1993 19:16:19 +0000 (19:16 +0000)
setting sp to ensure that we load the previous window from the
right place on the stack.

gdb/ChangeLog
gdb/sparc-stub.c

index 004cf589cafd6ce4499483a0514067b03d4cf9ec..a452fd76dd4b0df0e70ff7cf312de43e2dbb2e7b 100644 (file)
@@ -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:
index 2688b4263f54b21888a1f5298d3f7e9ee2aaa3be..689282addf9cc9948dbb26952524123f52903d29 100644 (file)
@@ -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