X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mono%2Fmini%2Fimage-writer.c;h=4992565ba0d162951515dee73e1177f56124f4f8;hb=ff49850dfc18f5991246a203184fa1e0b8a7c7ab;hp=c216f3b25755f4231091b096a4f506990e4a8d2f;hpb=266345ec8f312b59cbd0bd1026d7304e30a91a2a;p=mono.git diff --git a/mono/mini/image-writer.c b/mono/mini/image-writer.c index c216f3b2575..4992565ba0d 100644 --- a/mono/mini/image-writer.c +++ b/mono/mini/image-writer.c @@ -1686,6 +1686,9 @@ bin_writer_emit_writeout (MonoImageWriter *acfg) static void asm_writer_emit_start (MonoImageWriter *acfg) { +#if defined(TARGET_ASM_APPLE) + fprintf (acfg->fp, ".subsections_via_symbols\n"); +#endif } static int @@ -1759,8 +1762,14 @@ asm_writer_emit_symbol_type (MonoImageWriter *acfg, const char *name, gboolean f stype = "object"; asm_writer_emit_unset_mode (acfg); + #if defined(TARGET_ASM_APPLE) +#elif defined(TARGET_WIN32) + if (func) + fprintf (acfg->fp, "\t.def %s; .scl 2; .type 32; .endef\n", name); + else + fprintf (acfg->fp, "\t.data\n"); #elif defined(TARGET_ARM) fprintf (acfg->fp, "\t.type %s,#%s\n", name, stype); #else @@ -1783,7 +1792,7 @@ asm_writer_emit_local_symbol (MonoImageWriter *acfg, const char *name, const cha { asm_writer_emit_unset_mode (acfg); -#ifndef TARGET_ASM_APPLE +#if !defined(TARGET_ASM_APPLE) && !defined(TARGET_WIN32) fprintf (acfg->fp, "\t.local %s\n", name); #endif @@ -1795,7 +1804,8 @@ asm_writer_emit_symbol_size (MonoImageWriter *acfg, const char *name, const char { asm_writer_emit_unset_mode (acfg); -#ifndef TARGET_ASM_APPLE + +#if !defined(TARGET_ASM_APPLE) && !defined(TARGET_WIN32) fprintf (acfg->fp, "\t.size %s,%s-%s\n", name, end_label, name); #endif }