projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #2698 from esdrubal/iosxmlarray
[mono.git]
/
mono
/
mini
/
image-writer.c
diff --git
a/mono/mini/image-writer.c
b/mono/mini/image-writer.c
index c216f3b25755f4231091b096a4f506990e4a8d2f..4992565ba0d162951515dee73e1177f56124f4f8 100644
(file)
--- 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)
{
static void
asm_writer_emit_start (MonoImageWriter *acfg)
{
+#if defined(TARGET_ASM_APPLE)
+ fprintf (acfg->fp, ".subsections_via_symbols\n");
+#endif
}
static int
}
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);
stype = "object";
asm_writer_emit_unset_mode (acfg);
+
#if defined(TARGET_ASM_APPLE)
#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
#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);
{
asm_writer_emit_unset_mode (acfg);
-#if
ndef TARGET_ASM_APPLE
+#if
!defined(TARGET_ASM_APPLE) && !defined(TARGET_WIN32)
fprintf (acfg->fp, "\t.local %s\n", name);
#endif
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);
{
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
}
fprintf (acfg->fp, "\t.size %s,%s-%s\n", name, end_label, name);
#endif
}