X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fhelpers.c;h=493dbc85a70b677bcf498cf3218b579892dc9528;hb=b0b4fb685a8637231874c8d30b63365eb721283e;hp=43bd17e2fa499d3fe6904a97f71492646718b10b;hpb=b60bbdc365f66c0d9ce8e72eae129f2296ad9a14;p=mono.git diff --git a/mono/mini/helpers.c b/mono/mini/helpers.c index 43bd17e2fa4..493dbc85a70 100644 --- a/mono/mini/helpers.c +++ b/mono/mini/helpers.c @@ -66,7 +66,7 @@ opnames[] = { #endif /* DISABLE_LOGGING */ #if defined(__i386__) || defined(__x86_64__) -#ifndef TARGET_ARM64 +#if !defined(TARGET_ARM64) && !defined(__APPLE__) #define emit_debug_info TRUE #else #define emit_debug_info FALSE @@ -99,6 +99,7 @@ mono_inst_name (int op) { g_error ("unknown opcode name for %d", op); return NULL; #else + g_error ("unknown opcode name for %d", op); g_assert_not_reached (); #endif } @@ -148,7 +149,7 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) char *as_file; char *o_file; char *cmd; - int unused; + int unused G_GNUC_UNUSED; #ifdef HOST_WIN32 as_file = g_strdup_printf ("%s/test.s", tmp); @@ -214,8 +215,14 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) #else #if defined(sparc) && !defined(__GNUC__) #define DIS_CMD "dis" -#elif defined(__i386__) || defined(__x86_64__) +#elif defined(TARGET_X86) #define DIS_CMD "objdump -l -d" +#elif defined(TARGET_AMD64) + #if defined(HOST_WIN32) + #define DIS_CMD "x86_64-w64-mingw32-objdump.exe -M x86-64 -d" + #else + #define DIS_CMD "objdump -l -d" + #endif #else #define DIS_CMD "objdump -d" #endif @@ -264,6 +271,7 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) close (i); #endif +#ifdef HAVE_SYSTEM cmd = g_strdup_printf (ARCH_PREFIX AS_CMD " %s -o %s", as_file, o_file); unused = system (cmd); g_free (cmd); @@ -281,10 +289,13 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) unused = system (cmd); g_free (cmd); #endif - + cmd = g_strdup_printf (ARCH_PREFIX DIS_CMD " %s %s", objdump_args, o_file); unused = system (cmd); g_free (cmd); +#else + g_assert_not_reached (); +#endif /* HAVE_SYSTEM */ #ifndef HOST_WIN32 unlink (o_file);