[Git][cmucl/cmucl][sparc64-dev] Fix bad stack offsets

Raymond Toy rtoy at common-lisp.net
Fri Jan 13 03:34:39 UTC 2017


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/c94b80e39f6a6f341b692b8ea7ce51cb76e4f195
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20170113/7a322455/attachment.html>


More information about the cmucl-cvs mailing list