changeset 145:15b8dce19cf4

Implement m68k_modified_ret_addr
author Mike Pavone <pavone@retrodev.com>
date Mon, 31 Dec 2012 19:17:01 -0800
parents 177ba1a5af9c
children 5416a5c4628e
files runtime.S
diffstat 1 files changed, 3 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/runtime.S	Mon Dec 31 18:53:52 2012 -0800
+++ b/runtime.S	Mon Dec 31 19:17:01 2012 -0800
@@ -410,18 +410,11 @@
 	mov (%r8, %rcx), %cl
 	ret
 	
-ret_addr_msg:
-	.asciz "Program modified return address on stack: found %X, expected %X\n"
-	
 	.global m68k_modified_ret_addr
 m68k_modified_ret_addr:
-	lea ret_addr_msg(%rip), %rdi
-	mov %rcx, %rsi
-	mov 8(%rsp), %rdx
-	xor %rax, %rax
-	call printf
-	mov $1, %rdi
-	call exit
+	add $16, %rsp
+	call m68k_native_addr
+	jmp *%rcx
 
 dyn_addr_msg:
 	.asciz "Program needs dynamically calculated native address\n"