changeset 727:59a98179d3ba

Eliminate runtime.S/runtime_32.S.
author Michael Pavone <pavone@retrodev.com>
date Sat, 23 May 2015 20:24:27 -0700
parents 7367b14ac01c
children cb1c005880e7
files Makefile m68k_core_x86.c runtime.S runtime_32.S
diffstat 4 files changed, 12 insertions(+), 39 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Fri May 22 23:49:32 2015 -0700
+++ b/Makefile	Sat May 23 20:24:27 2015 -0700
@@ -45,11 +45,11 @@
 TRANSOBJS=gen.o backend.o mem.o
 M68KOBJS=68kinst.o m68k_core.o
 ifeq ($(CPU),x86_64)
-M68KOBJS+= runtime.o m68k_core_x86.o
+M68KOBJS+= m68k_core_x86.o
 TRANSOBJS+= gen_x86.o backend_x86.o
 else
 ifeq ($(CPU),i686)
-M68KOBJS+= runtime_32.o m68k_core_x86.o
+M68KOBJS+= m68k_core_x86.o
 TRANSOBJS+= gen_x86.o backend_x86.o
 endif
 endif
@@ -61,10 +61,12 @@
 MAINOBJS=blastem.o debug.o gdb_remote.o vdp.o render_sdl.o io.o $(CONFIGOBJS) gst.o $(M68KOBJS) $(TRANSOBJS) $(AUDIOOBJS)
 
 ifeq ($(CPU),x86_64)
-CFLAGS+=-DX86_64
+CFLAGS+=-DX86_64 -m64
+LDFLAGS+=-m64
 else
 ifeq ($(CPU),i686)
-CFLAGS+=-DX86_32
+CFLAGS+=-DX86_32 -m32
+LDFLAGS+=-m32
 endif
 endif
 
--- a/m68k_core_x86.c	Fri May 22 23:49:32 2015 -0700
+++ b/m68k_core_x86.c	Sat May 23 20:24:27 2015 -0700
@@ -1363,8 +1363,12 @@
 		retn(code);
 		return;
 	}
-	mov_ir(code, inst->address, opts->gen.scratch1, SZ_D);
-	call(code, (code_ptr)m68k_invalid);
+	mov_ir(code, (int64_t)stderr, RDI, SZ_PTR);
+	mov_ir(code, (int64_t)"Invalid instruction at %X\n", RSI, SZ_PTR);
+	mov_ir(code, inst->address, RDX, SZ_D);
+	call_args_abi(code, (code_ptr)fprintf, 3, RDI, RSI, RDX);
+	mov_ir(code, 1, RDI, SZ_D);
+	call_args(code, (code_ptr)exit, 1, RDI);
 }
 
 void translate_m68k_abcd_sbcd(m68k_options *opts, m68kinst *inst, host_ea *src_op, host_ea *dst_op)
--- a/runtime.S	Fri May 22 23:49:32 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-
-
-invalid_msg:
-	.asciz "Invalid instruction at %X\n"
-
-	.global m68k_invalid
-m68k_invalid:
-	lea invalid_msg(%rip), %rdi
-	mov %ecx, %esi
-	xor %rax, %rax
-	call printf
-	mov $1, %rdi
-	call exit
-
-
-
--- a/runtime_32.S	Fri May 22 23:49:32 2015 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-
-
-invalid_msg:
-	.asciz "Invalid instruction at %X\n"
-
-	.global m68k_invalid
-m68k_invalid:
-	push %ecx
-	push invalid_msg
-	xor %eax, %eax
-	call printf
-	push $1
-	call exit
-
-
-
-