Raymond Toy pushed to branch sparc64-dev at cmucl / cmucl
Commits: 7dd0a074 by Raymond Toy at 2017-02-03T21:04:10-08:00 Skip the inst in the branch delay slot
When snarfing the not-implemented trap, we need to skip over the instruction in the branch delay slot too, to get to the desired string.
- - - - -
1 changed file:
- src/compiler/sparc64/insts.lisp
Changes:
===================================== src/compiler/sparc64/insts.lisp ===================================== --- a/src/compiler/sparc64/insts.lisp +++ b/src/compiler/sparc64/insts.lisp @@ -1547,8 +1547,8 @@ about function addresses and register values.") ;; From the offset in the branch instruction, compute the max ;; length of the string that was encoded. (let ((max-length (+ (ash (ldb (byte 24 0) branch-inst) 2) 4))) - ;; Skip the branch instruction - (incf offset 4) + ;; Skip the branch instruction and the delay slot + (incf offset 8) ;; Print each following byte until max-length is reached or we ;; get a 0 byte. (with-output-to-string (s)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/7dd0a074a3f9ca65a8b33f76bb...