# HG changeset patch # User Michael Pavone # Date 1432437867 25200 # Node ID 59a98179d3ba2dbb6d9663d11a54bc8652c152b1 # Parent 7367b14ac01c27a6c4011275382928059a44f445 Eliminate runtime.S/runtime_32.S. diff -r 7367b14ac01c -r 59a98179d3ba Makefile --- 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 diff -r 7367b14ac01c -r 59a98179d3ba m68k_core_x86.c --- 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) diff -r 7367b14ac01c -r 59a98179d3ba runtime.S --- 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 - - - diff -r 7367b14ac01c -r 59a98179d3ba runtime_32.S --- 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 - - - -