[Git][cmucl/cmucl][sparc64-dev] Fix bad stack offsets
Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl Commits: c94b80e3 by Raymond Toy at 2017-01-12T19:34:29-08:00 Fix bad stack offsets Was storing code-tn at the wrong stack slot and also storing the return address offset in the wrong stack slot. - - - - - 1 changed file: - src/lisp/sparc64-assem.S Changes: ===================================== src/lisp/sparc64-assem.S ===================================== --- a/src/lisp/sparc64-assem.S +++ b/src/lisp/sparc64-assem.S @@ -157,7 +157,7 @@ call_into_c: mov reg_CSP, reg_CFP add reg_CSP, 64, reg_CSP stn reg_OCFP, [reg_CFP] - stn reg_CODE, [reg_CFP+8] + stn reg_CODE, [reg_CFP+2*8] /* Turn on pseudo-atomic. */ or reg_ALLOC, pseudo_atomic_Value, reg_ALLOC @@ -165,7 +165,7 @@ call_into_c: /* Convert the return address to an offset and save it on the stack. */ sub reg_LIP, reg_CODE, reg_L0 add reg_L0, type_OtherPointer, reg_L0 - stn reg_L0, [reg_CFP+2*8] + stn reg_L0, [reg_CFP+8] /* Store LISP state */ store(reg_BSP,current_binding_stack_pointer) View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/c94b80e39f6a6f341b692b8ea7...
participants (1)
-
Raymond Toy