X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fhelpers.c;h=b48962fd08dcd0a4dce94a2abd0b1d07f0729d22;hb=7f3b76a32ffa62a98597ad871e088181cbf67651;hp=0e884e0c8e79052ee3fab2c076757fc5a77aa603;hpb=7906336bdc335c68be0fe875c7edf547a3c9d159;p=mono.git diff --git a/mono/mini/helpers.c b/mono/mini/helpers.c index 0e884e0c8e7..b48962fd08d 100644 --- a/mono/mini/helpers.c +++ b/mono/mini/helpers.c @@ -66,10 +66,14 @@ opnames[] = { #endif /* DISABLE_LOGGING */ #if defined(__i386__) || defined(__x86_64__) +#ifndef TARGET_ARM64 #define emit_debug_info TRUE #else #define emit_debug_info FALSE #endif +#else +#define emit_debug_info FALSE +#endif /*This enables us to use the right tooling when building the cross compiler for iOS.*/ #if defined (__APPLE__) && defined (TARGET_ARM) && (defined(__i386__) || defined(__x86_64__)) @@ -95,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 } @@ -130,6 +135,9 @@ mono_blockset_print (MonoCompile *cfg, MonoBitSet *set, const char *name, guint void mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) { +#if defined(__native_client__) + return; +#endif #ifndef DISABLE_LOGGING GHashTable *offset_to_bb_hash = NULL; int i, cindex, bb_num; @@ -141,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); @@ -207,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 @@ -234,6 +248,12 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) # else # define AS_CMD "as -gstabs" # endif +#elif defined (TARGET_ARM64) +# if defined (__APPLE__) +# define AS_CMD "clang -c -arch arm64 -g -x assembler" +# else +# define AS_CMD "as -gstabs" +# endif #elif defined(__mips__) && (_MIPS_SIM == _ABIO32) #define AS_CMD "as -mips32" #elif defined(__ppc64__) @@ -268,11 +288,11 @@ 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); - + #ifndef HOST_WIN32 unlink (o_file); unlink (as_file);