X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmini%2Fhelpers.c;h=2a0b7d9e0e1d826125da9451cad191f441d99ec8;hb=9852e7da8c00f2bcbf483211832563a63178101a;hp=1afce3858f95c9157bea42b3ae96ccf4ce6d7ea6;hpb=9229d3a283f618a6a7fdadcfb9a1e66743a6ba2a;p=mono.git diff --git a/mono/mini/helpers.c b/mono/mini/helpers.c index 1afce3858f9..2a0b7d9e0e1 100644 --- a/mono/mini/helpers.c +++ b/mono/mini/helpers.c @@ -66,6 +66,13 @@ opnames[] = { #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__)) + +#define ARCH_PREFIX "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/" + +#endif + #define ARCH_PREFIX "" //#define ARCH_PREFIX "powerpc64-linux-gnu-" @@ -129,6 +136,7 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) char *as_file; char *o_file; char *cmd; + int unused; #ifdef HOST_WIN32 as_file = g_strdup_printf ("%s/test.s", tmp); @@ -203,12 +211,24 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) #if defined(sparc) #define AS_CMD "as -xarch=v9" -#elif defined(__i386__) || defined(__x86_64__) +#elif defined (TARGET_X86) # if defined(__APPLE__) -# define AS_CMD "as" +# define AS_CMD "as -arch i386" # else # define AS_CMD "as -gstabs" -#endif +# endif +#elif defined (TARGET_AMD64) +# if defined (__APPLE__) +# define AS_CMD "as -arch x86_64" +# else +# define AS_CMD "as -gstabs" +# endif +#elif defined (TARGET_ARM) +# if defined (__APPLE__) +# define AS_CMD "as -arch arm" +# else +# define AS_CMD "as -gstabs" +# endif #elif defined(__mips__) && (_MIPS_SIM == _ABIO32) #define AS_CMD "as -mips32" #elif defined(__ppc64__) @@ -227,7 +247,7 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) #endif cmd = g_strdup_printf (ARCH_PREFIX AS_CMD " %s -o %s", as_file, o_file); - system (cmd); + unused = system (cmd); g_free (cmd); if (!objdump_args) objdump_args = ""; @@ -240,12 +260,12 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id) * everything as data. */ cmd = g_strdup_printf (ARCH_PREFIX "strip -x %s", o_file); - system (cmd); + unused = system (cmd); g_free (cmd); #endif cmd = g_strdup_printf (ARCH_PREFIX DIS_CMD " %s %s", objdump_args, o_file); - system (cmd); + unused = system (cmd); g_free (cmd); #ifndef HOST_WIN32