forked from pool/mono-core
Accepting request 246550 from Mono:Factory
OBS-URL: https://build.opensuse.org/request/show/246550 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/mono-core?expand=0&rev=78
This commit is contained in:
commit
f37a63c2e3
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:fdb48cad26149288dcb99a3d9b4ec89735706000242c50bdc21ce657af201a40
|
|
||||||
size 77515552
|
|
3
mono-3.6.0.tar.bz2
Normal file
3
mono-3.6.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4dff480a7b6af25e5316b4a8d7afabd1f46f2fdf36c16847aed79fc04075e938
|
||||||
|
size 84031890
|
@ -1,14 +0,0 @@
|
|||||||
Index: mono-3.0.2/mono/mini/mini-arm.c
|
|
||||||
===================================================================
|
|
||||||
--- mono-3.0.2.orig/mono/mini/mini-arm.c
|
|
||||||
+++ mono-3.0.2/mono/mini/mini-arm.c
|
|
||||||
@@ -721,6 +721,9 @@ mono_arch_cpu_optimizations (guint32 *ex
|
|
||||||
v5_supported = TRUE;
|
|
||||||
darwin = TRUE;
|
|
||||||
iphone_abi = TRUE;
|
|
||||||
+#elif 1
|
|
||||||
+ thumb_supported = TRUE;
|
|
||||||
+ v5_supported = TRUE;
|
|
||||||
#else
|
|
||||||
char buf [512];
|
|
||||||
char *line;
|
|
@ -1,16 +0,0 @@
|
|||||||
Index: mono-3.0.2/mono/mini/mini-arm.c
|
|
||||||
===================================================================
|
|
||||||
--- mono-3.0.2.orig/mono/mini/mini-arm.c
|
|
||||||
+++ mono-3.0.2/mono/mini/mini-arm.c
|
|
||||||
@@ -721,6 +721,11 @@ mono_arch_cpu_optimizations (guint32 *ex
|
|
||||||
v5_supported = TRUE;
|
|
||||||
darwin = TRUE;
|
|
||||||
iphone_abi = TRUE;
|
|
||||||
+#elif 1
|
|
||||||
+ thumb_supported = TRUE;
|
|
||||||
+ v5_supported = TRUE;
|
|
||||||
+ v6_supported = TRUE;
|
|
||||||
+ v7_supported = TRUE;
|
|
||||||
#else
|
|
||||||
char buf [512];
|
|
||||||
char *line;
|
|
@ -1,32 +0,0 @@
|
|||||||
Index: mono-3.0.2/configure
|
|
||||||
===================================================================
|
|
||||||
--- mono-3.0.2.orig/configure
|
|
||||||
+++ mono-3.0.2/configure
|
|
||||||
@@ -25018,9 +25018,6 @@ if test ${TARGET} = ARM && test x$cross_
|
|
||||||
$as_echo_n "checking which FPU to use... " >&6; }
|
|
||||||
|
|
||||||
fpu=NONE
|
|
||||||
- if gcc -v 2>&1 | grep -q -- '--with-float=hard'; then
|
|
||||||
- fpu=VFP_HARD
|
|
||||||
- fi
|
|
||||||
|
|
||||||
if test x$fpu = xNONE; then
|
|
||||||
ORIG_CFLAGS=$CFLAGS
|
|
||||||
@@ -25063,11 +25060,12 @@ main ()
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
-if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
- fpu=FPA
|
|
||||||
-else
|
|
||||||
- fpu=NONE
|
|
||||||
-fi
|
|
||||||
+#if ac_fn_c_try_compile "$LINENO"; then :
|
|
||||||
+# fpu=FPA
|
|
||||||
+#else
|
|
||||||
+# fpu=NONE
|
|
||||||
+#fi
|
|
||||||
+fpu=VFP
|
|
||||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
|
||||||
fi
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
|||||||
--- a/mcs/Makefile
|
Index: mono-3.4.0/mcs/Makefile
|
||||||
+++ b/mcs/Makefile
|
===================================================================
|
||||||
@@ -82,7 +82,7 @@
|
--- mono-3.4.0.orig/mcs/Makefile
|
||||||
|
+++ mono-3.4.0/mcs/Makefile
|
||||||
|
@@ -83,7 +83,7 @@ all-local $(STD_TARGETS:=-local):
|
||||||
@:
|
@:
|
||||||
|
|
||||||
dir-check:
|
dir-check:
|
||||||
|
@ -10,10 +10,11 @@ with one destination register we also need to make some additional
|
|||||||
calls use r12. We probably should convert all calls that currently
|
calls use r12. We probably should convert all calls that currently
|
||||||
use r0 to use r12 if no other conflicts arise but this is enough to build.
|
use r0 to use r12 if no other conflicts arise but this is enough to build.
|
||||||
|
|
||||||
diff -u mono-3.2.3/mono/mini/exceptions-ppc.c mono-3.2.3/mono/mini/exceptions-ppc.c
|
Index: mono-3.4.0/mono/mini/exceptions-ppc.c
|
||||||
--- mono-3.2.3/mono/mini/exceptions-ppc.c 2014-01-04 19:04:35.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/exceptions-ppc.c 2014-01-04 19:32:51.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/exceptions-ppc.c
|
||||||
@@ -395,8 +395,8 @@
|
+++ mono-3.4.0/mono/mini/exceptions-ppc.c
|
||||||
|
@@ -391,8 +391,8 @@ mono_arch_get_throw_exception_generic (i
|
||||||
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r3, (gulong)mono_defaults.corlib);
|
ppc_load (code, ppc_r3, (gulong)mono_defaults.corlib);
|
||||||
@ -24,7 +25,7 @@ diff -u mono-3.2.3/mono/mini/exceptions-ppc.c mono-3.2.3/mono/mini/exceptions-pp
|
|||||||
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -430,8 +430,8 @@
|
@@ -426,8 +426,8 @@ mono_arch_get_throw_exception_generic (i
|
||||||
ppc_mtctr (code, ppc_r12);
|
ppc_mtctr (code, ppc_r12);
|
||||||
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
||||||
} else {
|
} else {
|
||||||
@ -35,10 +36,11 @@ diff -u mono-3.2.3/mono/mini/exceptions-ppc.c mono-3.2.3/mono/mini/exceptions-pp
|
|||||||
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
||||||
}
|
}
|
||||||
/* we should never reach this breakpoint */
|
/* we should never reach this breakpoint */
|
||||||
diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
Index: mono-3.4.0/mono/mini/mini-ppc.c
|
||||||
--- mono-3.2.3/mono/mini/mini-ppc.c 2014-01-04 19:16:23.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-ppc.c 2014-01-04 19:58:06.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-ppc.c
|
||||||
@@ -1783,8 +1783,8 @@
|
+++ mono-3.4.0/mono/mini/mini-ppc.c
|
||||||
|
@@ -1782,8 +1782,8 @@ mono_arch_instrument_prolog (MonoCompile
|
||||||
|
|
||||||
ppc_load_ptr (code, ppc_r3, cfg->method);
|
ppc_load_ptr (code, ppc_r3, cfg->method);
|
||||||
ppc_li (code, ppc_r4, 0); /* NULL ebp for now */
|
ppc_li (code, ppc_r4, 0); /* NULL ebp for now */
|
||||||
@ -49,7 +51,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
@@ -1881,8 +1881,8 @@
|
@@ -1880,8 +1880,8 @@ mono_arch_instrument_epilog_full (MonoCo
|
||||||
}
|
}
|
||||||
|
|
||||||
ppc_load_ptr (code, ppc_r3, cfg->method);
|
ppc_load_ptr (code, ppc_r3, cfg->method);
|
||||||
@ -60,7 +62,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
|
|
||||||
switch (save_mode) {
|
switch (save_mode) {
|
||||||
@@ -2923,7 +2923,7 @@
|
@@ -2922,7 +2922,7 @@ ppc_patch_full (guchar *code, const guch
|
||||||
|
|
||||||
if (!is_fd) {
|
if (!is_fd) {
|
||||||
guint8 *buf = (guint8*)&seq [5];
|
guint8 *buf = (guint8*)&seq [5];
|
||||||
@ -69,7 +71,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_nop (buf);
|
ppc_nop (buf);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -2936,7 +2936,7 @@
|
@@ -2935,7 +2935,7 @@ ppc_patch_full (guchar *code, const guch
|
||||||
/* FIXME: we're assuming we're using r12 here */
|
/* FIXME: we're assuming we're using r12 here */
|
||||||
ppc_load_ptr_sequence (code, ppc_r12, target);
|
ppc_load_ptr_sequence (code, ppc_r12, target);
|
||||||
#else
|
#else
|
||||||
@ -78,7 +80,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
#endif
|
#endif
|
||||||
mono_arch_flush_icache ((guint8*)seq, 28);
|
mono_arch_flush_icache ((guint8*)seq, 28);
|
||||||
#else
|
#else
|
||||||
@@ -2952,8 +2952,8 @@
|
@@ -2951,8 +2951,8 @@ ppc_patch_full (guchar *code, const guch
|
||||||
g_assert ((seq [2] >> 26) == 31);
|
g_assert ((seq [2] >> 26) == 31);
|
||||||
g_assert (seq [3] == 0x4e800021 || seq [3] == 0x4e800020 || seq [3] == 0x4e800420);
|
g_assert (seq [3] == 0x4e800021 || seq [3] == 0x4e800020 || seq [3] == 0x4e800420);
|
||||||
/* FIXME: make this thread safe */
|
/* FIXME: make this thread safe */
|
||||||
@ -89,7 +91,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
mono_arch_flush_icache (code - 8, 8);
|
mono_arch_flush_icache (code - 8, 8);
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
@@ -3371,8 +3371,8 @@
|
@@ -3370,8 +3370,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
||||||
(gpointer)"mono_break");
|
(gpointer)"mono_break");
|
||||||
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
||||||
@ -100,7 +102,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
ppc_bl (code, 0);
|
ppc_bl (code, 0);
|
||||||
@@ -3819,8 +3819,8 @@
|
@@ -3818,8 +3818,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
else
|
else
|
||||||
mono_add_patch_info (cfg, offset, MONO_PATCH_INFO_ABS, call->fptr);
|
mono_add_patch_info (cfg, offset, MONO_PATCH_INFO_ABS, call->fptr);
|
||||||
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
||||||
@ -111,7 +113,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
ppc_bl (code, 0);
|
ppc_bl (code, 0);
|
||||||
@@ -3913,8 +3913,8 @@
|
@@ -3912,8 +3912,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
||||||
(gpointer)"mono_arch_throw_exception");
|
(gpointer)"mono_arch_throw_exception");
|
||||||
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
||||||
@ -122,7 +124,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
ppc_bl (code, 0);
|
ppc_bl (code, 0);
|
||||||
@@ -3927,8 +3927,8 @@
|
@@ -3926,8 +3926,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
||||||
(gpointer)"mono_arch_rethrow_exception");
|
(gpointer)"mono_arch_rethrow_exception");
|
||||||
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
||||||
@ -133,7 +135,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
ppc_bl (code, 0);
|
ppc_bl (code, 0);
|
||||||
@@ -5070,8 +5070,8 @@
|
@@ -5070,8 +5070,8 @@ mono_arch_emit_prolog (MonoCompile *cfg)
|
||||||
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD,
|
||||||
(gpointer)"mono_get_lmf_addr");
|
(gpointer)"mono_get_lmf_addr");
|
||||||
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
if ((FORCE_INDIR_CALL || cfg->method->dynamic) && !cfg->compile_aot) {
|
||||||
@ -144,7 +146,7 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
ppc_bl (code, 0);
|
ppc_bl (code, 0);
|
||||||
@@ -5380,8 +5380,8 @@
|
@@ -5380,8 +5380,8 @@ mono_arch_emit_exceptions (MonoCompile *
|
||||||
patch_info->data.name = "mono_arch_throw_corlib_exception";
|
patch_info->data.name = "mono_arch_throw_corlib_exception";
|
||||||
patch_info->ip.i = code - cfg->native_code;
|
patch_info->ip.i = code - cfg->native_code;
|
||||||
if (FORCE_INDIR_CALL || cfg->method->dynamic) {
|
if (FORCE_INDIR_CALL || cfg->method->dynamic) {
|
||||||
@ -155,10 +157,11 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
|||||||
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
||||||
} else {
|
} else {
|
||||||
ppc_bl (code, 0);
|
ppc_bl (code, 0);
|
||||||
diff -u mono-3.2.3/mono/mini/mini-ppc.h mono-3.2.3/mono/mini/mini-ppc.h
|
Index: mono-3.4.0/mono/mini/mini-ppc.h
|
||||||
--- mono-3.2.3/mono/mini/mini-ppc.h 2014-01-04 19:04:36.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-ppc.h 2014-01-04 19:27:07.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-ppc.h
|
||||||
@@ -172,6 +172,8 @@
|
+++ mono-3.4.0/mono/mini/mini-ppc.h
|
||||||
|
@@ -172,6 +172,8 @@ typedef struct MonoCompileArch {
|
||||||
#define PPC_FIRST_FPARG_REG ppc_f1
|
#define PPC_FIRST_FPARG_REG ppc_f1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -167,10 +170,11 @@ diff -u mono-3.2.3/mono/mini/mini-ppc.h mono-3.2.3/mono/mini/mini-ppc.h
|
|||||||
#if defined(HAVE_WORKING_SIGALTSTACK) && !defined(__APPLE__)
|
#if defined(HAVE_WORKING_SIGALTSTACK) && !defined(__APPLE__)
|
||||||
#define MONO_ARCH_SIGSEGV_ON_ALTSTACK 1
|
#define MONO_ARCH_SIGSEGV_ON_ALTSTACK 1
|
||||||
#define MONO_ARCH_SIGNAL_STACK_SIZE (12 * 1024)
|
#define MONO_ARCH_SIGNAL_STACK_SIZE (12 * 1024)
|
||||||
diff -u mono-3.2.3/mono/mini/tramp-ppc.c mono-3.2.3/mono/mini/tramp-ppc.c
|
Index: mono-3.4.0/mono/mini/tramp-ppc.c
|
||||||
--- mono-3.2.3/mono/mini/tramp-ppc.c 2014-01-04 19:16:53.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/tramp-ppc.c 2014-01-04 19:35:16.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/tramp-ppc.c
|
||||||
@@ -309,8 +309,8 @@
|
+++ mono-3.4.0/mono/mini/tramp-ppc.c
|
||||||
|
@@ -306,8 +306,8 @@ mono_arch_create_generic_trampoline (Mon
|
||||||
ppc_mtlr (code, ppc_r12);
|
ppc_mtlr (code, ppc_r12);
|
||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
@ -181,7 +185,7 @@ diff -u mono-3.2.3/mono/mini/tramp-ppc.c mono-3.2.3/mono/mini/tramp-ppc.c
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
}
|
}
|
||||||
/* we build the MonoLMF structure on the stack - see mini-ppc.h
|
/* we build the MonoLMF structure on the stack - see mini-ppc.h
|
||||||
@@ -371,8 +371,8 @@
|
@@ -368,8 +368,8 @@ mono_arch_create_generic_trampoline (Mon
|
||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
tramp_handler = mono_get_trampoline_func (tramp_type);
|
tramp_handler = mono_get_trampoline_func (tramp_type);
|
||||||
|
@ -7,9 +7,10 @@ to pass around values to functions outside the normal argument registers
|
|||||||
(ugh!), so there's a conflict. This mechanical (by sed) patch simply switches
|
(ugh!), so there's a conflict. This mechanical (by sed) patch simply switches
|
||||||
ppc_r11 and ppc_r12 everywhere, r11 doesn't have any special use in the ABI.
|
ppc_r11 and ppc_r12 everywhere, r11 doesn't have any special use in the ABI.
|
||||||
|
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/arch/ppc/ppc-codegen.h mono-3.2.3/mono/arch/ppc/ppc-codegen.h
|
Index: mono-3.4.0/mono/arch/ppc/ppc-codegen.h
|
||||||
--- mono-3.2.3.orig/mono/arch/ppc/ppc-codegen.h 2014-01-04 04:16:29.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/arch/ppc/ppc-codegen.h 2014-01-04 19:04:29.000000000 +0000
|
--- mono-3.4.0.orig/mono/arch/ppc/ppc-codegen.h
|
||||||
|
+++ mono-3.4.0/mono/arch/ppc/ppc-codegen.h
|
||||||
@@ -810,9 +810,9 @@ my and Ximian's copyright to this code.
|
@@ -810,9 +810,9 @@ my and Ximian's copyright to this code.
|
||||||
#define ppc_load_func(c,D,V) ppc_load_sequence ((c), (D), (V))
|
#define ppc_load_func(c,D,V) ppc_load_sequence ((c), (D), (V))
|
||||||
#else
|
#else
|
||||||
@ -23,10 +24,11 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/arch/ppc/pp
|
|||||||
} G_STMT_END
|
} G_STMT_END
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/aot-compiler.c mono-3.2.3/mono/mini/aot-compiler.c
|
Index: mono-3.4.0/mono/mini/aot-compiler.c
|
||||||
--- mono-3.2.3.orig/mono/mini/aot-compiler.c 2013-09-13 22:38:21.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/aot-compiler.c 2014-01-04 19:17:32.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/aot-compiler.c
|
||||||
@@ -1830,14 +1830,14 @@ arch_emit_imt_thunk (MonoAotCompile *acf
|
+++ mono-3.4.0/mono/mini/aot-compiler.c
|
||||||
|
@@ -1842,14 +1842,14 @@ arch_emit_imt_thunk (MonoAotCompile *acf
|
||||||
code = buf;
|
code = buf;
|
||||||
|
|
||||||
/* Load the mscorlib got address */
|
/* Load the mscorlib got address */
|
||||||
@ -44,7 +46,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/aot-co
|
|||||||
ppc_cmp (code, 0, sizeof (gpointer) == 8 ? 1 : 0, ppc_r0, MONO_ARCH_IMT_REG);
|
ppc_cmp (code, 0, sizeof (gpointer) == 8 ? 1 : 0, ppc_r0, MONO_ARCH_IMT_REG);
|
||||||
labels [2] = code;
|
labels [2] = code;
|
||||||
ppc_bc (code, PPC_BR_TRUE, PPC_BR_EQ, 0);
|
ppc_bc (code, PPC_BR_TRUE, PPC_BR_EQ, 0);
|
||||||
@@ -1848,18 +1848,18 @@ arch_emit_imt_thunk (MonoAotCompile *acf
|
@@ -1860,18 +1860,18 @@ arch_emit_imt_thunk (MonoAotCompile *acf
|
||||||
ppc_bc (code, PPC_BR_TRUE, PPC_BR_EQ, 0);
|
ppc_bc (code, PPC_BR_TRUE, PPC_BR_EQ, 0);
|
||||||
|
|
||||||
/* Loop footer */
|
/* Loop footer */
|
||||||
@ -68,10 +70,11 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/aot-co
|
|||||||
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
||||||
|
|
||||||
/* Fail */
|
/* Fail */
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/exceptions-ppc.c mono-3.2.3/mono/mini/exceptions-ppc.c
|
Index: mono-3.4.0/mono/mini/exceptions-ppc.c
|
||||||
--- mono-3.2.3.orig/mono/mini/exceptions-ppc.c 2013-09-13 22:22:23.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/exceptions-ppc.c 2014-01-04 19:04:35.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/exceptions-ppc.c
|
||||||
@@ -385,13 +385,13 @@ mono_arch_get_throw_exception_generic (i
|
+++ mono-3.4.0/mono/mini/exceptions-ppc.c
|
||||||
|
@@ -381,13 +381,13 @@ mono_arch_get_throw_exception_generic (i
|
||||||
|
|
||||||
if (aot) {
|
if (aot) {
|
||||||
code = mono_arch_emit_load_aotconst (start, code, &ji, MONO_PATCH_INFO_IMAGE, mono_defaults.corlib);
|
code = mono_arch_emit_load_aotconst (start, code, &ji, MONO_PATCH_INFO_IMAGE, mono_defaults.corlib);
|
||||||
@ -89,7 +92,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/except
|
|||||||
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r3, (gulong)mono_defaults.corlib);
|
ppc_load (code, ppc_r3, (gulong)mono_defaults.corlib);
|
||||||
@@ -424,10 +424,10 @@ mono_arch_get_throw_exception_generic (i
|
@@ -420,10 +420,10 @@ mono_arch_get_throw_exception_generic (i
|
||||||
code = mono_arch_emit_load_got_addr (start, code, NULL, &ji);
|
code = mono_arch_emit_load_got_addr (start, code, NULL, &ji);
|
||||||
code = mono_arch_emit_load_aotconst (start, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "mono_ppc_throw_exception");
|
code = mono_arch_emit_load_aotconst (start, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "mono_ppc_throw_exception");
|
||||||
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
||||||
@ -103,10 +106,11 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/except
|
|||||||
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctrl (code, PPC_BR_ALWAYS, 0);
|
||||||
} else {
|
} else {
|
||||||
ppc_load_func (code, ppc_r0, mono_ppc_throw_exception);
|
ppc_load_func (code, ppc_r0, mono_ppc_throw_exception);
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-mips.c mono-3.2.3/mono/mini/mini-mips.c
|
Index: mono-3.4.0/mono/mini/mini-mips.c
|
||||||
--- mono-3.2.3.orig/mono/mini/mini-mips.c 2013-09-13 22:22:14.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-mips.c 2014-01-04 19:04:36.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-mips.c
|
||||||
@@ -3299,8 +3299,8 @@ emit_reserve_param_area (MonoCompile *cf
|
+++ mono-3.4.0/mono/mini/mini-mips.c
|
||||||
|
@@ -3298,8 +3298,8 @@ emit_reserve_param_area (MonoCompile *cf
|
||||||
if (ppc_is_imm16 (-size)) {
|
if (ppc_is_imm16 (-size)) {
|
||||||
ppc_stwu (code, ppc_r0, -size, ppc_sp);
|
ppc_stwu (code, ppc_r0, -size, ppc_sp);
|
||||||
} else {
|
} else {
|
||||||
@ -117,7 +121,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-m
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return code;
|
return code;
|
||||||
@@ -3321,8 +3321,8 @@ emit_unreserve_param_area (MonoCompile *
|
@@ -3320,8 +3320,8 @@ emit_unreserve_param_area (MonoCompile *
|
||||||
if (ppc_is_imm16 (size)) {
|
if (ppc_is_imm16 (size)) {
|
||||||
ppc_stwu (code, ppc_r0, size, ppc_sp);
|
ppc_stwu (code, ppc_r0, size, ppc_sp);
|
||||||
} else {
|
} else {
|
||||||
@ -128,7 +132,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-m
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return code;
|
return code;
|
||||||
@@ -3713,8 +3713,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3712,8 +3712,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
case OP_DIV_IMM:
|
case OP_DIV_IMM:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
#if 0
|
#if 0
|
||||||
@ -139,10 +143,11 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-m
|
|||||||
ppc_mfspr (code, ppc_r0, ppc_xer);
|
ppc_mfspr (code, ppc_r0, ppc_xer);
|
||||||
ppc_andisd (code, ppc_r0, ppc_r0, (1<<14));
|
ppc_andisd (code, ppc_r0, ppc_r0, (1<<14));
|
||||||
/* FIXME: use OverflowException for 0x80000000/-1 */
|
/* FIXME: use OverflowException for 0x80000000/-1 */
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
Index: mono-3.4.0/mono/mini/mini-ppc.c
|
||||||
--- mono-3.2.3.orig/mono/mini/mini-ppc.c 2014-01-04 04:16:29.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-ppc.c 2014-01-04 19:16:23.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-ppc.c
|
||||||
@@ -104,11 +104,11 @@ offsets_from_pthread_key (guint32 key, i
|
+++ mono-3.4.0/mono/mini/mini-ppc.c
|
||||||
|
@@ -103,11 +103,11 @@ offsets_from_pthread_key (guint32 key, i
|
||||||
/* FIXME: ensure the sc call preserves all but r3 */
|
/* FIXME: ensure the sc call preserves all but r3 */
|
||||||
#define emit_darwing4_tls(code,dreg,key) do {\
|
#define emit_darwing4_tls(code,dreg,key) do {\
|
||||||
int off1 = 0x48 + key * sizeof (gpointer); \
|
int off1 = 0x48 + key * sizeof (gpointer); \
|
||||||
@ -156,7 +161,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} while (0);
|
} while (0);
|
||||||
|
|
||||||
#ifdef PPC_THREAD_PTR_REG
|
#ifdef PPC_THREAD_PTR_REG
|
||||||
@@ -119,8 +119,8 @@ offsets_from_pthread_key (guint32 key, i
|
@@ -118,8 +118,8 @@ offsets_from_pthread_key (guint32 key, i
|
||||||
ppc_ldptr ((code), (dreg), off1, PPC_THREAD_PTR_REG); \
|
ppc_ldptr ((code), (dreg), off1, PPC_THREAD_PTR_REG); \
|
||||||
} else { \
|
} else { \
|
||||||
int off3 = (off2 + 1) > 1; \
|
int off3 = (off2 + 1) > 1; \
|
||||||
@ -167,7 +172,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} \
|
} \
|
||||||
} while (0);
|
} while (0);
|
||||||
#else
|
#else
|
||||||
@@ -191,29 +191,29 @@ emit_memcpy (guint8 *code, int size, int
|
@@ -190,29 +190,29 @@ emit_memcpy (guint8 *code, int size, int
|
||||||
|
|
||||||
ppc_load (code, ppc_r0, shifted);
|
ppc_load (code, ppc_r0, shifted);
|
||||||
ppc_mtctr (code, ppc_r0);
|
ppc_mtctr (code, ppc_r0);
|
||||||
@ -206,7 +211,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
size -= 16;
|
size -= 16;
|
||||||
soffset += 16;
|
soffset += 16;
|
||||||
doffset += 16;
|
doffset += 16;
|
||||||
@@ -227,12 +227,12 @@ emit_memcpy (guint8 *code, int size, int
|
@@ -226,12 +226,12 @@ emit_memcpy (guint8 *code, int size, int
|
||||||
doffset += 8;
|
doffset += 8;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
@ -222,7 +227,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
size -= 8;
|
size -= 8;
|
||||||
soffset += 8;
|
soffset += 8;
|
||||||
doffset += 8;
|
doffset += 8;
|
||||||
@@ -738,7 +738,7 @@ mono_arch_get_global_int_regs (MonoCompi
|
@@ -737,7 +737,7 @@ mono_arch_get_global_int_regs (MonoCompi
|
||||||
for (i = 14; i < top; ++i) {
|
for (i = 14; i < top; ++i) {
|
||||||
/*
|
/*
|
||||||
* Reserve r29 for holding the vtable address for virtual calls in AOT mode,
|
* Reserve r29 for holding the vtable address for virtual calls in AOT mode,
|
||||||
@ -231,7 +236,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
*/
|
*/
|
||||||
if (!(cfg->compile_aot && i == 29))
|
if (!(cfg->compile_aot && i == 29))
|
||||||
regs = g_list_prepend (regs, GUINT_TO_POINTER (i));
|
regs = g_list_prepend (regs, GUINT_TO_POINTER (i));
|
||||||
@@ -2923,7 +2923,7 @@ ppc_patch_full (guchar *code, const guch
|
@@ -2922,7 +2922,7 @@ ppc_patch_full (guchar *code, const guch
|
||||||
|
|
||||||
if (!is_fd) {
|
if (!is_fd) {
|
||||||
guint8 *buf = (guint8*)&seq [5];
|
guint8 *buf = (guint8*)&seq [5];
|
||||||
@ -240,7 +245,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
ppc_nop (buf);
|
ppc_nop (buf);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -2933,8 +2933,8 @@ ppc_patch_full (guchar *code, const guch
|
@@ -2932,8 +2932,8 @@ ppc_patch_full (guchar *code, const guch
|
||||||
|
|
||||||
/* FIXME: make this thread safe */
|
/* FIXME: make this thread safe */
|
||||||
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
||||||
@ -251,7 +256,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
#else
|
#else
|
||||||
ppc_load_ptr_sequence (code, ppc_r0, target);
|
ppc_load_ptr_sequence (code, ppc_r0, target);
|
||||||
#endif
|
#endif
|
||||||
@@ -3010,8 +3010,8 @@ emit_reserve_param_area (MonoCompile *cf
|
@@ -3009,8 +3009,8 @@ emit_reserve_param_area (MonoCompile *cf
|
||||||
if (ppc_is_imm16 (-size)) {
|
if (ppc_is_imm16 (-size)) {
|
||||||
ppc_stptr_update (code, ppc_r0, -size, ppc_sp);
|
ppc_stptr_update (code, ppc_r0, -size, ppc_sp);
|
||||||
} else {
|
} else {
|
||||||
@ -262,7 +267,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
|
|
||||||
return code;
|
return code;
|
||||||
@@ -3032,8 +3032,8 @@ emit_unreserve_param_area (MonoCompile *
|
@@ -3031,8 +3031,8 @@ emit_unreserve_param_area (MonoCompile *
|
||||||
if (ppc_is_imm16 (size)) {
|
if (ppc_is_imm16 (size)) {
|
||||||
ppc_stptr_update (code, ppc_r0, size, ppc_sp);
|
ppc_stptr_update (code, ppc_r0, size, ppc_sp);
|
||||||
} else {
|
} else {
|
||||||
@ -273,7 +278,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
|
|
||||||
return code;
|
return code;
|
||||||
@@ -3107,8 +3107,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3106,8 +3106,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
* a breakpoint is hit will step to the next IL offset.
|
* a breakpoint is hit will step to the next IL offset.
|
||||||
*/
|
*/
|
||||||
if (ins->flags & MONO_INST_SINGLE_STEP_LOC) {
|
if (ins->flags & MONO_INST_SINGLE_STEP_LOC) {
|
||||||
@ -284,7 +289,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
|
|
||||||
mono_add_seq_point (cfg, bb, ins, code - cfg->native_code);
|
mono_add_seq_point (cfg, bb, ins, code - cfg->native_code);
|
||||||
@@ -3142,8 +3142,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3141,8 +3141,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_stb (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
ppc_stb (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
||||||
} else {
|
} else {
|
||||||
if (ppc_is_imm32 (ins->inst_offset)) {
|
if (ppc_is_imm32 (ins->inst_offset)) {
|
||||||
@ -295,7 +300,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r0, ins->inst_offset);
|
ppc_load (code, ppc_r0, ins->inst_offset);
|
||||||
ppc_stbx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
ppc_stbx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
||||||
@@ -3155,8 +3155,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3154,8 +3154,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_sth (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
ppc_sth (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
||||||
} else {
|
} else {
|
||||||
if (ppc_is_imm32 (ins->inst_offset)) {
|
if (ppc_is_imm32 (ins->inst_offset)) {
|
||||||
@ -306,7 +311,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r0, ins->inst_offset);
|
ppc_load (code, ppc_r0, ins->inst_offset);
|
||||||
ppc_sthx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
ppc_sthx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
||||||
@@ -3168,8 +3168,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3167,8 +3167,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_stptr (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
ppc_stptr (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
||||||
} else {
|
} else {
|
||||||
if (ppc_is_imm32 (ins->inst_offset)) {
|
if (ppc_is_imm32 (ins->inst_offset)) {
|
||||||
@ -317,7 +322,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r0, ins->inst_offset);
|
ppc_load (code, ppc_r0, ins->inst_offset);
|
||||||
ppc_stptr_indexed (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
ppc_stptr_indexed (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
||||||
@@ -3725,7 +3725,7 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3724,7 +3724,7 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
*/
|
*/
|
||||||
g_assert (!cfg->method->save_lmf);
|
g_assert (!cfg->method->save_lmf);
|
||||||
/*
|
/*
|
||||||
@ -326,7 +331,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
* we're leaving the method.
|
* we're leaving the method.
|
||||||
*/
|
*/
|
||||||
if (1 || cfg->flags & MONO_CFG_HAS_CALLS) {
|
if (1 || cfg->flags & MONO_CFG_HAS_CALLS) {
|
||||||
@@ -3733,26 +3733,26 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3732,26 +3732,26 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
if (ppc_is_imm16 (ret_offset)) {
|
if (ppc_is_imm16 (ret_offset)) {
|
||||||
ppc_ldptr (code, ppc_r0, ret_offset, cfg->frame_reg);
|
ppc_ldptr (code, ppc_r0, ret_offset, cfg->frame_reg);
|
||||||
} else {
|
} else {
|
||||||
@ -359,7 +364,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -3761,27 +3761,27 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3760,27 +3760,27 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
|
|
||||||
/* Copy arguments on the stack to our argument area */
|
/* Copy arguments on the stack to our argument area */
|
||||||
if (call->stack_usage) {
|
if (call->stack_usage) {
|
||||||
@ -395,7 +400,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
#else
|
#else
|
||||||
ppc_ldptr_indexed (code, ppc_r0, ppc_r30, ppc_r0);
|
ppc_ldptr_indexed (code, ppc_r0, ppc_r30, ppc_r0);
|
||||||
#endif
|
#endif
|
||||||
@@ -3853,7 +3853,7 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3852,7 +3852,7 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
case OP_VCALL2_MEMBASE:
|
case OP_VCALL2_MEMBASE:
|
||||||
case OP_VOIDCALL_MEMBASE:
|
case OP_VOIDCALL_MEMBASE:
|
||||||
case OP_CALL_MEMBASE:
|
case OP_CALL_MEMBASE:
|
||||||
@ -404,7 +409,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
/* The trampolines clobber this */
|
/* The trampolines clobber this */
|
||||||
ppc_mr (code, ppc_r29, ins->sreg1);
|
ppc_mr (code, ppc_r29, ins->sreg1);
|
||||||
ppc_ldptr (code, ppc_r0, ins->inst_offset, ppc_r29);
|
ppc_ldptr (code, ppc_r0, ins->inst_offset, ppc_r29);
|
||||||
@@ -3871,9 +3871,9 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3870,9 +3870,9 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
int alloca_waste = PPC_STACK_PARAM_OFFSET + cfg->param_area + 31;
|
int alloca_waste = PPC_STACK_PARAM_OFFSET + cfg->param_area + 31;
|
||||||
int area_offset = alloca_waste;
|
int area_offset = alloca_waste;
|
||||||
area_offset &= ~31;
|
area_offset &= ~31;
|
||||||
@ -416,7 +421,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
/* use ctr to store the number of words to 0 if needed */
|
/* use ctr to store the number of words to 0 if needed */
|
||||||
if (ins->flags & MONO_INST_INIT) {
|
if (ins->flags & MONO_INST_INIT) {
|
||||||
/* we zero 4 bytes at a time:
|
/* we zero 4 bytes at a time:
|
||||||
@@ -3886,8 +3886,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3885,8 +3885,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_mtctr (code, ppc_r0);
|
ppc_mtctr (code, ppc_r0);
|
||||||
}
|
}
|
||||||
ppc_ldptr (code, ppc_r0, 0, ppc_sp);
|
ppc_ldptr (code, ppc_r0, 0, ppc_sp);
|
||||||
@ -427,7 +432,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
|
|
||||||
/* FIXME: make this loop work in 8 byte
|
/* FIXME: make this loop work in 8 byte
|
||||||
increments on PPC64 */
|
increments on PPC64 */
|
||||||
@@ -3897,9 +3897,9 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3896,9 +3896,9 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
* run at least once
|
* run at least once
|
||||||
*/
|
*/
|
||||||
ppc_addi (code, ins->dreg, ppc_sp, (area_offset - 8));
|
ppc_addi (code, ins->dreg, ppc_sp, (area_offset - 8));
|
||||||
@ -439,7 +444,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
zero_loop_jump = code;
|
zero_loop_jump = code;
|
||||||
ppc_bc (code, PPC_BR_DEC_CTR_NONZERO, 0, 0);
|
ppc_bc (code, PPC_BR_DEC_CTR_NONZERO, 0, 0);
|
||||||
ppc_patch (zero_loop_jump, zero_loop_start);
|
ppc_patch (zero_loop_jump, zero_loop_start);
|
||||||
@@ -3943,8 +3943,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3942,8 +3942,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
if (ppc_is_imm16 (spvar->inst_offset)) {
|
if (ppc_is_imm16 (spvar->inst_offset)) {
|
||||||
ppc_stptr (code, ppc_r0, spvar->inst_offset, spvar->inst_basereg);
|
ppc_stptr (code, ppc_r0, spvar->inst_offset, spvar->inst_basereg);
|
||||||
} else {
|
} else {
|
||||||
@ -450,7 +455,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -3957,8 +3957,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -3956,8 +3956,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
if (ppc_is_imm16 (spvar->inst_offset)) {
|
if (ppc_is_imm16 (spvar->inst_offset)) {
|
||||||
ppc_ldptr (code, ppc_r0, spvar->inst_offset, spvar->inst_basereg);
|
ppc_ldptr (code, ppc_r0, spvar->inst_offset, spvar->inst_basereg);
|
||||||
} else {
|
} else {
|
||||||
@ -461,7 +466,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
ppc_mtlr (code, ppc_r0);
|
ppc_mtlr (code, ppc_r0);
|
||||||
ppc_blr (code);
|
ppc_blr (code);
|
||||||
@@ -4064,11 +4064,11 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -4063,11 +4063,11 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
|
|
||||||
/* FIXME: Optimize this */
|
/* FIXME: Optimize this */
|
||||||
ppc_bl (code, 1);
|
ppc_bl (code, 1);
|
||||||
@ -475,7 +480,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
break;
|
break;
|
||||||
case OP_R4CONST:
|
case OP_R4CONST:
|
||||||
g_assert_not_reached ();
|
g_assert_not_reached ();
|
||||||
@@ -4078,8 +4078,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -4077,8 +4077,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_stfd (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
ppc_stfd (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
||||||
} else {
|
} else {
|
||||||
if (ppc_is_imm32 (ins->inst_offset)) {
|
if (ppc_is_imm32 (ins->inst_offset)) {
|
||||||
@ -486,7 +491,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r0, ins->inst_offset);
|
ppc_load (code, ppc_r0, ins->inst_offset);
|
||||||
ppc_stfdx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
ppc_stfdx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
||||||
@@ -4091,8 +4091,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -4090,8 +4090,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_lfd (code, ins->dreg, ins->inst_offset, ins->inst_basereg);
|
ppc_lfd (code, ins->dreg, ins->inst_offset, ins->inst_basereg);
|
||||||
} else {
|
} else {
|
||||||
if (ppc_is_imm32 (ins->inst_offset)) {
|
if (ppc_is_imm32 (ins->inst_offset)) {
|
||||||
@ -497,7 +502,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r0, ins->inst_offset);
|
ppc_load (code, ppc_r0, ins->inst_offset);
|
||||||
ppc_lfdx (code, ins->dreg, ins->inst_destbasereg, ppc_r0);
|
ppc_lfdx (code, ins->dreg, ins->inst_destbasereg, ppc_r0);
|
||||||
@@ -4105,8 +4105,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -4104,8 +4104,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_stfs (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
ppc_stfs (code, ins->sreg1, ins->inst_offset, ins->inst_destbasereg);
|
||||||
} else {
|
} else {
|
||||||
if (ppc_is_imm32 (ins->inst_offset)) {
|
if (ppc_is_imm32 (ins->inst_offset)) {
|
||||||
@ -508,7 +513,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
} else {
|
} else {
|
||||||
ppc_load (code, ppc_r0, ins->inst_offset);
|
ppc_load (code, ppc_r0, ins->inst_offset);
|
||||||
ppc_stfsx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
ppc_stfsx (code, ins->sreg1, ins->inst_destbasereg, ppc_r0);
|
||||||
@@ -4118,8 +4118,8 @@ mono_arch_output_basic_block (MonoCompil
|
@@ -4117,8 +4117,8 @@ mono_arch_output_basic_block (MonoCompil
|
||||||
ppc_lfs (code, ins->dreg, ins->inst_offset, ins->inst_basereg);
|
ppc_lfs (code, ins->dreg, ins->inst_offset, ins->inst_basereg);
|
||||||
} else {
|
} else {
|
||||||
if (ppc_is_imm32 (ins->inst_offset)) {
|
if (ppc_is_imm32 (ins->inst_offset)) {
|
||||||
@ -924,7 +929,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5630,15 +5630,15 @@ mono_arch_build_imt_thunk (MonoVTable *v
|
@@ -5618,15 +5618,15 @@ mono_arch_build_imt_thunk (MonoVTable *v
|
||||||
start = code;
|
start = code;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -944,7 +949,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
|
|
||||||
for (i = 0; i < count; ++i) {
|
for (i = 0; i < count; ++i) {
|
||||||
MonoIMTCheckItem *item = imt_entries [i];
|
MonoIMTCheckItem *item = imt_entries [i];
|
||||||
@@ -5654,8 +5654,8 @@ mono_arch_build_imt_thunk (MonoVTable *v
|
@@ -5642,8 +5642,8 @@ mono_arch_build_imt_thunk (MonoVTable *v
|
||||||
if (item->has_target_code) {
|
if (item->has_target_code) {
|
||||||
ppc_load_ptr (code, ppc_r0, item->value.target_code);
|
ppc_load_ptr (code, ppc_r0, item->value.target_code);
|
||||||
} else {
|
} else {
|
||||||
@ -955,7 +960,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
}
|
}
|
||||||
ppc_mtctr (code, ppc_r0);
|
ppc_mtctr (code, ppc_r0);
|
||||||
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
||||||
@@ -5687,8 +5687,8 @@ mono_arch_build_imt_thunk (MonoVTable *v
|
@@ -5675,8 +5675,8 @@ mono_arch_build_imt_thunk (MonoVTable *v
|
||||||
item->jmp_code = code;
|
item->jmp_code = code;
|
||||||
ppc_bc (code, PPC_BR_FALSE, PPC_BR_EQ, 0);
|
ppc_bc (code, PPC_BR_FALSE, PPC_BR_EQ, 0);
|
||||||
#endif
|
#endif
|
||||||
@ -966,7 +971,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
ppc_mtctr (code, ppc_r0);
|
ppc_mtctr (code, ppc_r0);
|
||||||
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
||||||
#if ENABLE_WRONG_METHOD_CHECK
|
#if ENABLE_WRONG_METHOD_CHECK
|
||||||
@@ -5827,17 +5827,17 @@ mono_arch_emit_load_got_addr (guint8 *st
|
@@ -5802,17 +5802,17 @@ mono_arch_emit_load_got_addr (guint8 *st
|
||||||
* Emit code to load the contents of the GOT slot identified by TRAMP_TYPE and
|
* Emit code to load the contents of the GOT slot identified by TRAMP_TYPE and
|
||||||
* TARGET from the mscorlib GOT in full-aot code.
|
* TARGET from the mscorlib GOT in full-aot code.
|
||||||
* On PPC, the GOT address is assumed to be in r30, and the result is placed into
|
* On PPC, the GOT address is assumed to be in r30, and the result is placed into
|
||||||
@ -987,7 +992,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
|
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
@@ -5860,8 +5860,8 @@ mono_arch_set_breakpoint (MonoJitInfo *j
|
@@ -5835,8 +5835,8 @@ mono_arch_set_breakpoint (MonoJitInfo *j
|
||||||
guint8 *code = ip;
|
guint8 *code = ip;
|
||||||
guint8 *orig_code = code;
|
guint8 *orig_code = code;
|
||||||
|
|
||||||
@ -998,9 +1003,10 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
|
|
||||||
g_assert (code - orig_code == BREAKPOINT_SIZE);
|
g_assert (code - orig_code == BREAKPOINT_SIZE);
|
||||||
|
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-ppc.h mono-3.2.3/mono/mini/mini-ppc.h
|
Index: mono-3.4.0/mono/mini/mini-ppc.h
|
||||||
--- mono-3.2.3.orig/mono/mini/mini-ppc.h 2014-01-04 04:16:29.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-ppc.h 2014-01-04 19:04:36.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-ppc.h
|
||||||
|
+++ mono-3.4.0/mono/mini/mini-ppc.h
|
||||||
@@ -105,7 +105,7 @@ typedef struct MonoCompileArch {
|
@@ -105,7 +105,7 @@ typedef struct MonoCompileArch {
|
||||||
#define MONO_ARCH_GC_MAPS_SUPPORTED 1
|
#define MONO_ARCH_GC_MAPS_SUPPORTED 1
|
||||||
|
|
||||||
@ -1022,10 +1028,11 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
#define MONO_ARCH_RGCTX_REG MONO_ARCH_IMT_REG
|
#define MONO_ARCH_RGCTX_REG MONO_ARCH_IMT_REG
|
||||||
|
|
||||||
#define MONO_ARCH_NO_IOV_CHECK 1
|
#define MONO_ARCH_NO_IOV_CHECK 1
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/tramp-ppc.c mono-3.2.3/mono/mini/tramp-ppc.c
|
Index: mono-3.4.0/mono/mini/tramp-ppc.c
|
||||||
--- mono-3.2.3.orig/mono/mini/tramp-ppc.c 2013-09-13 22:22:19.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/tramp-ppc.c 2014-01-04 19:16:53.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/tramp-ppc.c
|
||||||
@@ -303,10 +303,10 @@ mono_arch_create_generic_trampoline (Mon
|
+++ mono-3.4.0/mono/mini/tramp-ppc.c
|
||||||
|
@@ -300,10 +300,10 @@ mono_arch_create_generic_trampoline (Mon
|
||||||
if (aot) {
|
if (aot) {
|
||||||
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "mono_get_lmf_addr");
|
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "mono_get_lmf_addr");
|
||||||
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
||||||
@ -1039,7 +1046,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/tramp-
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
ppc_load_func (code, ppc_r0, mono_get_lmf_addr);
|
ppc_load_func (code, ppc_r0, mono_get_lmf_addr);
|
||||||
@@ -314,33 +314,33 @@ mono_arch_create_generic_trampoline (Mon
|
@@ -311,33 +311,33 @@ mono_arch_create_generic_trampoline (Mon
|
||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
}
|
}
|
||||||
/* we build the MonoLMF structure on the stack - see mini-ppc.h
|
/* we build the MonoLMF structure on the stack - see mini-ppc.h
|
||||||
@ -1083,7 +1090,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/tramp-
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Now we're ready to call trampoline (mgreg_t *regs, guint8 *code, gpointer value, guint8 *tramp)
|
* Now we're ready to call trampoline (mgreg_t *regs, guint8 *code, gpointer value, guint8 *tramp)
|
||||||
@@ -364,10 +364,10 @@ mono_arch_create_generic_trampoline (Mon
|
@@ -361,10 +361,10 @@ mono_arch_create_generic_trampoline (Mon
|
||||||
if (aot) {
|
if (aot) {
|
||||||
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, g_strdup_printf ("trampoline_func_%d", tramp_type));
|
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, g_strdup_printf ("trampoline_func_%d", tramp_type));
|
||||||
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
||||||
@ -1097,7 +1104,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/tramp-
|
|||||||
ppc_blrl (code);
|
ppc_blrl (code);
|
||||||
} else {
|
} else {
|
||||||
tramp_handler = mono_get_trampoline_func (tramp_type);
|
tramp_handler = mono_get_trampoline_func (tramp_type);
|
||||||
@@ -392,20 +392,20 @@ mono_arch_create_generic_trampoline (Mon
|
@@ -389,20 +389,20 @@ mono_arch_create_generic_trampoline (Mon
|
||||||
* Now we restore the MonoLMF (see emit_epilogue in mini-ppc.c)
|
* Now we restore the MonoLMF (see emit_epilogue in mini-ppc.c)
|
||||||
* and the rest of the registers, so the method called will see
|
* and the rest of the registers, so the method called will see
|
||||||
* the same state as before we executed.
|
* the same state as before we executed.
|
||||||
@ -1124,7 +1131,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/tramp-
|
|||||||
|
|
||||||
/* restore the volatile registers, we skip r1, of course */
|
/* restore the volatile registers, we skip r1, of course */
|
||||||
offset = STACK - sizeof (MonoLMF) - (14 * sizeof (double));
|
offset = STACK - sizeof (MonoLMF) - (14 * sizeof (double));
|
||||||
@@ -427,8 +427,8 @@ mono_arch_create_generic_trampoline (Mon
|
@@ -424,8 +424,8 @@ mono_arch_create_generic_trampoline (Mon
|
||||||
*/
|
*/
|
||||||
/* Restore stack pointer and LR and jump to the code */
|
/* Restore stack pointer and LR and jump to the code */
|
||||||
ppc_ldr (code, ppc_r1, 0, ppc_r1);
|
ppc_ldr (code, ppc_r1, 0, ppc_r1);
|
||||||
@ -1135,7 +1142,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/tramp-
|
|||||||
if (MONO_TRAMPOLINE_TYPE_MUST_RETURN (tramp_type))
|
if (MONO_TRAMPOLINE_TYPE_MUST_RETURN (tramp_type))
|
||||||
ppc_blr (code);
|
ppc_blr (code);
|
||||||
else
|
else
|
||||||
@@ -604,9 +604,9 @@ mono_arch_create_rgctx_lazy_fetch_trampo
|
@@ -596,9 +596,9 @@ mono_arch_create_rgctx_lazy_fetch_trampo
|
||||||
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, g_strdup_printf ("specific_trampoline_lazy_fetch_%u", slot));
|
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, g_strdup_printf ("specific_trampoline_lazy_fetch_%u", slot));
|
||||||
/* Branch to the trampoline */
|
/* Branch to the trampoline */
|
||||||
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
||||||
@ -1147,7 +1154,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/tramp-
|
|||||||
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
ppc_bcctr (code, PPC_BR_ALWAYS, 0);
|
||||||
} else {
|
} else {
|
||||||
tramp = mono_arch_create_specific_trampoline (GUINT_TO_POINTER (slot),
|
tramp = mono_arch_create_specific_trampoline (GUINT_TO_POINTER (slot),
|
||||||
@@ -666,9 +666,9 @@ mono_arch_create_generic_class_init_tram
|
@@ -658,9 +658,9 @@ mono_arch_create_generic_class_init_tram
|
||||||
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "specific_trampoline_generic_class_init");
|
code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "specific_trampoline_generic_class_init");
|
||||||
/* Branch to the trampoline */
|
/* Branch to the trampoline */
|
||||||
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
#ifdef PPC_USES_FUNCTION_DESCRIPTOR
|
||||||
|
@ -10,9 +10,10 @@ This adds initial support for ppc64le to the ppc64 port. That is:
|
|||||||
It also corrects the list of registers for the precise GC, but that isn't
|
It also corrects the list of registers for the precise GC, but that isn't
|
||||||
used in mini at all on any architecture currently.
|
used in mini at all on any architecture currently.
|
||||||
|
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/arch/ppc/ppc-codegen.h mono-3.2.3/mono/arch/ppc/ppc-codegen.h
|
Index: mono-3.4.0/mono/arch/ppc/ppc-codegen.h
|
||||||
--- mono-3.2.3.orig/mono/arch/ppc/ppc-codegen.h 2013-09-13 22:21:32.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/arch/ppc/ppc-codegen.h 2014-01-03 18:39:09.000000000 +0000
|
--- mono-3.4.0.orig/mono/arch/ppc/ppc-codegen.h
|
||||||
|
+++ mono-3.4.0/mono/arch/ppc/ppc-codegen.h
|
||||||
@@ -123,7 +123,7 @@ enum {
|
@@ -123,7 +123,7 @@ enum {
|
||||||
PPC_TRAP_GE_UN = 16 + PPC_TRAP_EQ
|
PPC_TRAP_GE_UN = 16 + PPC_TRAP_EQ
|
||||||
};
|
};
|
||||||
@ -38,9 +39,10 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/arch/ppc/pp
|
|||||||
|
|
||||||
#define ppc_load_multiple_regs(c,D,d,A) G_STMT_START { \
|
#define ppc_load_multiple_regs(c,D,d,A) G_STMT_START { \
|
||||||
int __i, __o = (d); \
|
int __i, __o = (d); \
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/metadata/sgen-marksweep.c mono-3.2.3/mono/metadata/sgen-marksweep.c
|
Index: mono-3.4.0/mono/metadata/sgen-marksweep.c
|
||||||
--- mono-3.2.3.orig/mono/metadata/sgen-marksweep.c 2013-09-13 22:21:52.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/metadata/sgen-marksweep.c 2014-01-03 19:13:37.000000000 +0000
|
--- mono-3.4.0.orig/mono/metadata/sgen-marksweep.c
|
||||||
|
+++ mono-3.4.0/mono/metadata/sgen-marksweep.c
|
||||||
@@ -45,8 +45,10 @@
|
@@ -45,8 +45,10 @@
|
||||||
#define SGEN_HAVE_CONCURRENT_MARK
|
#define SGEN_HAVE_CONCURRENT_MARK
|
||||||
#endif
|
#endif
|
||||||
@ -54,9 +56,10 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/metadata/sg
|
|||||||
#define MAJOR_SECTION_SIZE MS_BLOCK_SIZE
|
#define MAJOR_SECTION_SIZE MS_BLOCK_SIZE
|
||||||
#define CARDS_PER_BLOCK (MS_BLOCK_SIZE / CARD_SIZE_IN_BYTES)
|
#define CARDS_PER_BLOCK (MS_BLOCK_SIZE / CARD_SIZE_IN_BYTES)
|
||||||
|
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-gc.c mono-3.2.3/mono/mini/mini-gc.c
|
Index: mono-3.4.0/mono/mini/mini-gc.c
|
||||||
--- mono-3.2.3.orig/mono/mini/mini-gc.c 2013-12-22 03:29:45.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-gc.c 2014-01-03 18:44:54.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-gc.c
|
||||||
|
+++ mono-3.4.0/mono/mini/mini-gc.c
|
||||||
@@ -439,7 +439,12 @@ static int callee_saved_regs [] = { ARMR
|
@@ -439,7 +439,12 @@ static int callee_saved_regs [] = { ARMR
|
||||||
#elif defined(TARGET_S390X)
|
#elif defined(TARGET_S390X)
|
||||||
static int callee_saved_regs [] = { s390_r6, s390_r7, s390_r8, s390_r9, s390_r10, s390_r11, s390_r12, s390_r13, s390_r14 };
|
static int callee_saved_regs [] = { s390_r6, s390_r7, s390_r8, s390_r9, s390_r10, s390_r11, s390_r12, s390_r13, s390_r14 };
|
||||||
@ -71,10 +74,11 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-g
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static guint32
|
static guint32
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-ppc.c mono-3.2.3/mono/mini/mini-ppc.c
|
Index: mono-3.4.0/mono/mini/mini-ppc.c
|
||||||
--- mono-3.2.3.orig/mono/mini/mini-ppc.c 2013-09-13 22:22:23.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-ppc.c 2014-01-03 18:54:20.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-ppc.c
|
||||||
@@ -2812,14 +2812,14 @@ handle_thunk (int absolute, guchar *code
|
+++ mono-3.4.0/mono/mini/mini-ppc.c
|
||||||
|
@@ -2811,14 +2811,14 @@ handle_thunk (int absolute, guchar *code
|
||||||
static void
|
static void
|
||||||
patch_ins (guint8 *code, guint32 ins)
|
patch_ins (guint8 *code, guint32 ins)
|
||||||
{
|
{
|
||||||
@ -91,7 +95,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
guint32 prim = ins >> 26;
|
guint32 prim = ins >> 26;
|
||||||
guint32 ovf;
|
guint32 ovf;
|
||||||
|
|
||||||
@@ -2902,7 +2902,13 @@ ppc_patch_full (guchar *code, const guch
|
@@ -2901,7 +2901,13 @@ ppc_patch_full (guchar *code, const guch
|
||||||
else
|
else
|
||||||
code -= 24;
|
code -= 24;
|
||||||
} else {
|
} else {
|
||||||
@ -106,7 +110,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
branch_ins = seq + 8;
|
branch_ins = seq + 8;
|
||||||
else
|
else
|
||||||
branch_ins = seq + 6;
|
branch_ins = seq + 6;
|
||||||
@@ -2926,8 +2932,12 @@ ppc_patch_full (guchar *code, const guch
|
@@ -2925,8 +2931,12 @@ ppc_patch_full (guchar *code, const guch
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME: make this thread safe */
|
/* FIXME: make this thread safe */
|
||||||
@ -119,7 +123,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
mono_arch_flush_icache ((guint8*)seq, 28);
|
mono_arch_flush_icache ((guint8*)seq, 28);
|
||||||
#else
|
#else
|
||||||
guint32 *seq;
|
guint32 *seq;
|
||||||
@@ -4482,6 +4492,16 @@ mono_arch_register_lowlevel_calls (void)
|
@@ -4481,6 +4491,16 @@ mono_arch_register_lowlevel_calls (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __mono_ppc64__
|
#ifdef __mono_ppc64__
|
||||||
@ -136,7 +140,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
#define patch_load_sequence(ip,val) do {\
|
#define patch_load_sequence(ip,val) do {\
|
||||||
guint16 *__load = (guint16*)(ip); \
|
guint16 *__load = (guint16*)(ip); \
|
||||||
g_assert (sizeof (val) == sizeof (gsize)); \
|
g_assert (sizeof (val) == sizeof (gsize)); \
|
||||||
@@ -4491,6 +4511,9 @@ mono_arch_register_lowlevel_calls (void)
|
@@ -4490,6 +4510,9 @@ mono_arch_register_lowlevel_calls (void)
|
||||||
__load [9] = ((guint64)(gsize)(val)) & 0xffff; \
|
__load [9] = ((guint64)(gsize)(val)) & 0xffff; \
|
||||||
} while (0)
|
} while (0)
|
||||||
#else
|
#else
|
||||||
@ -146,9 +150,10 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
#define patch_load_sequence(ip,val) do {\
|
#define patch_load_sequence(ip,val) do {\
|
||||||
guint16 *__lis_ori = (guint16*)(ip); \
|
guint16 *__lis_ori = (guint16*)(ip); \
|
||||||
__lis_ori [1] = (((gulong)(val)) >> 16) & 0xffff; \
|
__lis_ori [1] = (((gulong)(val)) >> 16) & 0xffff; \
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-ppc.h mono-3.2.3/mono/mini/mini-ppc.h
|
Index: mono-3.4.0/mono/mini/mini-ppc.h
|
||||||
--- mono-3.2.3.orig/mono/mini/mini-ppc.h 2013-12-22 03:29:45.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini-ppc.h 2014-01-03 18:17:41.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini-ppc.h
|
||||||
|
+++ mono-3.4.0/mono/mini/mini-ppc.h
|
||||||
@@ -69,7 +69,13 @@ typedef struct MonoCompileArch {
|
@@ -69,7 +69,13 @@ typedef struct MonoCompileArch {
|
||||||
#define MONO_ARCH_NO_EMULATE_LONG_SHIFT_OPS
|
#define MONO_ARCH_NO_EMULATE_LONG_SHIFT_OPS
|
||||||
#define MONO_ARCH_NO_EMULATE_LONG_MUL_OPTS
|
#define MONO_ARCH_NO_EMULATE_LONG_MUL_OPTS
|
||||||
@ -163,10 +168,11 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini-p
|
|||||||
|
|
||||||
#ifndef __mono_ilp32__
|
#ifndef __mono_ilp32__
|
||||||
#define MONO_ARCH_HAVE_TLS_GET 1
|
#define MONO_ARCH_HAVE_TLS_GET 1
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini.c mono-3.2.3/mono/mini/mini.c
|
Index: mono-3.4.0/mono/mini/mini.c
|
||||||
--- mono-3.2.3.orig/mono/mini/mini.c 2013-12-22 03:29:45.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/mini/mini.c 2014-01-03 19:06:17.000000000 +0000
|
--- mono-3.4.0.orig/mono/mini/mini.c
|
||||||
@@ -6752,10 +6752,9 @@ mini_get_debug_options (void)
|
+++ mono-3.4.0/mono/mini/mini.c
|
||||||
|
@@ -7004,10 +7004,9 @@ mini_get_debug_options (void)
|
||||||
static gpointer
|
static gpointer
|
||||||
mini_create_ftnptr (MonoDomain *domain, gpointer addr)
|
mini_create_ftnptr (MonoDomain *domain, gpointer addr)
|
||||||
{
|
{
|
||||||
@ -178,7 +184,7 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini.c
|
|||||||
gpointer* desc = NULL;
|
gpointer* desc = NULL;
|
||||||
|
|
||||||
if ((desc = g_hash_table_lookup (domain->ftnptrs_hash, addr)))
|
if ((desc = g_hash_table_lookup (domain->ftnptrs_hash, addr)))
|
||||||
@@ -6782,7 +6781,7 @@ mini_create_ftnptr (MonoDomain *domain,
|
@@ -7033,7 +7032,7 @@ mini_create_ftnptr (MonoDomain *domain,
|
||||||
static gpointer
|
static gpointer
|
||||||
mini_get_addr_from_ftnptr (gpointer descr)
|
mini_get_addr_from_ftnptr (gpointer descr)
|
||||||
{
|
{
|
||||||
@ -187,9 +193,10 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/mini/mini.c
|
|||||||
return *(gpointer*)descr;
|
return *(gpointer*)descr;
|
||||||
#else
|
#else
|
||||||
return descr;
|
return descr;
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/utils/lock-free-alloc.c mono-3.2.3/mono/utils/lock-free-alloc.c
|
Index: mono-3.4.0/mono/utils/lock-free-alloc.c
|
||||||
--- mono-3.2.3.orig/mono/utils/lock-free-alloc.c 2013-09-13 22:21:38.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/utils/lock-free-alloc.c 2014-01-03 19:11:56.000000000 +0000
|
--- mono-3.4.0.orig/mono/utils/lock-free-alloc.c
|
||||||
|
+++ mono-3.4.0/mono/utils/lock-free-alloc.c
|
||||||
@@ -123,7 +123,9 @@ struct _MonoLockFreeAllocDescriptor {
|
@@ -123,7 +123,9 @@ struct _MonoLockFreeAllocDescriptor {
|
||||||
|
|
||||||
#define NUM_DESC_BATCH 64
|
#define NUM_DESC_BATCH 64
|
||||||
@ -201,9 +208,10 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/utils/lock-
|
|||||||
#define SB_HEADER_SIZE 16
|
#define SB_HEADER_SIZE 16
|
||||||
#define SB_USABLE_SIZE (SB_SIZE - SB_HEADER_SIZE)
|
#define SB_USABLE_SIZE (SB_SIZE - SB_HEADER_SIZE)
|
||||||
|
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/utils/mono-mmap.c mono-3.2.3/mono/utils/mono-mmap.c
|
Index: mono-3.4.0/mono/utils/mono-mmap.c
|
||||||
--- mono-3.2.3.orig/mono/utils/mono-mmap.c 2013-09-13 22:21:38.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/utils/mono-mmap.c 2014-01-03 17:57:28.000000000 +0000
|
--- mono-3.4.0.orig/mono/utils/mono-mmap.c
|
||||||
|
+++ mono-3.4.0/mono/utils/mono-mmap.c
|
||||||
@@ -332,6 +332,11 @@ mono_valloc (void *addr, size_t length,
|
@@ -332,6 +332,11 @@ mono_valloc (void *addr, size_t length,
|
||||||
int
|
int
|
||||||
mono_vfree (void *addr, size_t length)
|
mono_vfree (void *addr, size_t length)
|
||||||
@ -216,9 +224,10 @@ diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/utils/mono-
|
|||||||
return munmap (addr, length);
|
return munmap (addr, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
diff -x 'Makefile*' -x 'config*' -x '*.m4' -urp mono-3.2.3.orig/mono/utils/strtod.c mono-3.2.3/mono/utils/strtod.c
|
Index: mono-3.4.0/mono/utils/strtod.c
|
||||||
--- mono-3.2.3.orig/mono/utils/strtod.c 2013-09-13 22:21:37.000000000 +0000
|
===================================================================
|
||||||
+++ mono-3.2.3/mono/utils/strtod.c 2014-01-03 18:26:43.000000000 +0000
|
--- mono-3.4.0.orig/mono/utils/strtod.c
|
||||||
|
+++ mono-3.4.0/mono/utils/strtod.c
|
||||||
@@ -173,6 +173,12 @@
|
@@ -173,6 +173,12 @@
|
||||||
* #define NO_ERRNO if strtod should not assign errno = ERANGE when
|
* #define NO_ERRNO if strtod should not assign errno = ERANGE when
|
||||||
* the result overflows to +-Infinity or underflows to 0.
|
* the result overflows to +-Infinity or underflows to 0.
|
||||||
|
@ -1,21 +1,19 @@
|
|||||||
Index: mono-3.0.3/data/mono-nunit.pc.in
|
Subject: use runtime 4.0 as default for cairo and nunit
|
||||||
===================================================================
|
|
||||||
--- mono-3.0.3.orig/data/mono-nunit.pc.in
|
---
|
||||||
+++ mono-3.0.3/data/mono-nunit.pc.in
|
data/mono-nunit.pc.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/data/mono-nunit.pc.in b/data/mono-nunit.pc.in
|
||||||
|
index 5f4e116..e454c30 100644
|
||||||
|
--- a/data/mono-nunit.pc.in
|
||||||
|
+++ b/data/mono-nunit.pc.in
|
||||||
@@ -6,4 +6,4 @@ libdir=${exec_prefix}/lib
|
@@ -6,4 +6,4 @@ libdir=${exec_prefix}/lib
|
||||||
Name: Mono NUnit
|
Name: Mono NUnit
|
||||||
Description: Mono's version of NUnit
|
Description: Mono's version of NUnit
|
||||||
Version: @VERSION@
|
Version: @VERSION@
|
||||||
-Libs: -r:${libdir}/mono/2.0/nunit.core.dll -r:${libdir}/mono/2.0/nunit.core.interfaces.dll -r:${libdir}/mono/2.0/nunit.core.extensions.dll -r:${libdir}/mono/2.0/nunit.framework.dll -r:${libdir}/mono/2.0/nunit.framework.extensions.dll -r:${libdir}/mono/2.0/nunit.mocks.dll -r:${libdir}/mono/2.0/nunit.util.dll -r:${libdir}/mono/2.0/nunit-console-runner.dll
|
-Libs: -r:${libdir}/mono/2.0/nunit.core.dll -r:${libdir}/mono/2.0/nunit.core.interfaces.dll -r:${libdir}/mono/2.0/nunit.core.extensions.dll -r:${libdir}/mono/2.0/nunit.framework.dll -r:${libdir}/mono/2.0/nunit.framework.extensions.dll -r:${libdir}/mono/2.0/nunit.mocks.dll -r:${libdir}/mono/2.0/nunit.util.dll -r:${libdir}/mono/2.0/nunit-console-runner.dll
|
||||||
+Libs: -r:${libdir}/mono/4.0/nunit.core.dll -r:${libdir}/mono/4.0/nunit.core.interfaces.dll -r:${libdir}/mono/4.0/nunit.core.extensions.dll -r:${libdir}/mono/4.0/nunit.framework.dll -r:${libdir}/mono/4.0/nunit.framework.extensions.dll -r:${libdir}/mono/4.0/nunit.mocks.dll -r:${libdir}/mono/4.0/nunit.util.dll -r:${libdir}/mono/4.0/nunit-console-runner.dll
|
+Libs: -r:${libdir}/mono/4.0/nunit.core.dll -r:${libdir}/mono/4.0/nunit.core.interfaces.dll -r:${libdir}/mono/4.0/nunit.core.extensions.dll -r:${libdir}/mono/4.0/nunit.framework.dll -r:${libdir}/mono/4.0/nunit.framework.extensions.dll -r:${libdir}/mono/4.0/nunit.mocks.dll -r:${libdir}/mono/4.0/nunit.util.dll -r:${libdir}/mono/4.0/nunit-console-runner.dll
|
||||||
Index: mono-3.0.3/data/mono.web.pc.in
|
--
|
||||||
===================================================================
|
2.0.0
|
||||||
--- mono-3.0.3.orig/data/mono.web.pc.in
|
|
||||||
+++ mono-3.0.3/data/mono.web.pc.in
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
Name: Mono.Web
|
|
||||||
Description: Mono ASP.NET extension classes
|
|
||||||
-Version: 2.0.0.0
|
|
||||||
-Libs: -r:@prefix@/lib/mono/gac/Mono.Web/2.0.0.0__0738eb9f132ed756/Mono.Web.dll
|
|
||||||
+Version: 4.0.0.0
|
|
||||||
+Libs: -r:@prefix@/lib/mono/gac/Mono.Web/4.0.0.0__0738eb9f132ed756/Mono.Web.dll
|
|
||||||
|
@ -1,3 +1,174 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 16 08:02:29 UTC 2014 - mailaender@opensuse.org
|
||||||
|
|
||||||
|
- Rebased patches and submitted to upstream
|
||||||
|
- Removed ARM compatibility hacks https://github.com/mono/mono/pull/1211
|
||||||
|
+ mono-arm-cpuinfo-v5.patch
|
||||||
|
+ mono-arm-cpuinfo-v7.patch
|
||||||
|
+ mono-arm-vfp.patch
|
||||||
|
- Update to 3.6.0
|
||||||
|
+ Runtime performance counters have been integrated into the profiler allowing the performance counter information to be surfaced to profiling tools and in particular Xamarin’s upcoming profiler.
|
||||||
|
+ The profiler now produces backtraces for statistical mode. The profiler’s tracing mode now works on ARM.
|
||||||
|
+ The debugger now support line and column ranges. pdb2mdb supports it. Note: the rest of our toolchain still needs to be updated.
|
||||||
|
+ The debugger now supports changing the current line in the top frame.
|
||||||
|
+ Lots of bugfixes and performance improvements on the profiler.
|
||||||
|
+ The debugger now support reading simple properties without calling their getter, this is done by having a lightweight IL interpreter for small pieces of code. This allows more properties to be inspected while the process is completely stopped and without having to temporarily resume execution of the target to execute the property code.
|
||||||
|
+ Added buffered response mode to improve network efficiency on high latency links such as USB.
|
||||||
|
+ The GC bridge got a lot of performance work. There are now two new modes that can significantly improve some workloads.
|
||||||
|
+ Multiple http stack improvements: some leaks in the stack have been fixed, as well as solving some long-standing bugs involving asynchronous operations and proxies. We have introduced a more comprehensive test harness to ensure that those bugs do not surface again.
|
||||||
|
+ System.IO.Compression is now implemented
|
||||||
|
+ System.Security.Claims is now implemented. It resides in the System assembly (existed before in the Identity stack, but now we track the new home from the .NET 4.5 API).
|
||||||
|
+ Reworked locking to drop a hot lock in method lookup.
|
||||||
|
+ Use fine grained locking instead of a big hot lock.
|
||||||
|
+ Better hashing of some runtime internal items to avoid some corner-case slowdowns with generics.
|
||||||
|
+ The profiler is now able to produces backtraces in statistical mode.
|
||||||
|
+ Added periodical flushing that should help interactive users. This means that the profiling will send data over the profiling even if the application is not currently sending data (this is there to support the upcoming new profiler UI).
|
||||||
|
+ It now collects and reports performance counter information. See mprof-report’s man page.
|
||||||
|
+ Fixed the handling of the volatile. CIL prefix.
|
||||||
|
+ We now distribute IKVM’s ikdasm tool. This is a reliable disassembler that does not have the limitation of monodis of requiring a complete set of assemblies that are compatible to disassemble. This will disassemble even files that do not have their dependencies available.
|
||||||
|
+ Optimized EqualityComparer for more types.
|
||||||
|
+ Our msbuild implementation can now build Project K and Roslyn
|
||||||
|
+ Optimized EqualityComparer for more types.
|
||||||
|
+ [mcs] Flow analysis of nested binary expressions inside anonymous methods was missing on left/right reset.
|
||||||
|
+ [mcs] Fix betterness logic for default vs params parameters.
|
||||||
|
+ [mcs] Flow analysis of binary expressions not using logical operators.
|
||||||
|
+ [mcs] Emit unmanaged version info from AssemblyFileVersion.
|
||||||
|
+ [mcs] Fix expression tree conversion type for lifted enum equality comparisons.
|
||||||
|
+ [mcs] Report error when named argument for param parameter is given but not all formal parameters are provided.
|
||||||
|
+ [mcs] Unify reachable label lookup.
|
||||||
|
+ [mcs] Don’t release field address copy before it’s used.
|
||||||
|
+ [mcs] Fix error reporting propagation for loop statements.
|
||||||
|
+ [mcs] Emit better code for null coalescing operator with nullable return type.
|
||||||
|
+ [mcs] Add explicit array conversion involving type parameters.
|
||||||
|
+ Add System.ServiceModel.Security assembly.
|
||||||
|
+ [sdb] Avoid clearing event requests if they reference an assembly which is unloaded. Instead, remove the assembly reference from the event request so it stays active.
|
||||||
|
+ Rename configure.in -> configure.ac.
|
||||||
|
+ [System] Fix parsing of IPv6 addresses.
|
||||||
|
+ [Http] Cleanup chained async operations.
|
||||||
|
+ [corlib] Add Guid hex format parsing with whitespaces.
|
||||||
|
+ [System.Net.Http] Parsing productinfo like headers with missing version.
|
||||||
|
+ [System] Throw IOE in more cases when dealing with an invalid Process object.
|
||||||
|
+ [bcl] Fix Process.PrivateMemorySize64 on osx, we now return task_baic_info.resident_size.
|
||||||
|
+ Clean up the usage of FILETIME structures, avoid accessing them as gint64 since that would lead to alignment problems.
|
||||||
|
+ [sdb] Avoid stack overflows when a boxed vtype recursively references itself using fields.
|
||||||
|
+ [profiler] Filter more event types in mprof-report based on time.
|
||||||
|
+ [profiler] In mprof-report fix handling of the time filter when starting from 0.
|
||||||
|
+ [http] Convert string output data using BOM header when available.
|
||||||
|
+ [system.net.http] Fix encoding of Content-MD5. Based on patch by nberardi.
|
||||||
|
+ [sdb] Avoid placing implicit sequence points at offsets where the IL stack is empty when using symbol file based sequence points.
|
||||||
|
+ [eglib] Remove test-glib code, we don’t have to maintain compatibility with glib any more.
|
||||||
|
+ [corlib] Rethrow user not initialization exception when lazy initialization throws.
|
||||||
|
+ [mcs] Don’t report interface implementation errors for optional implementations.
|
||||||
|
+ [mcs] Include more unicode categories in parsing identifier part character.
|
||||||
|
+ [mcs] Emit null constant value for default parameters of generic types to indicate not missing value.
|
||||||
|
+ [mcs] Do type parameter conversion involving type parameters using dependency rules.
|
||||||
|
+ [mcs] Emit all method like members in same order as they appear in source code.
|
||||||
|
+ [mcs] Convert extended underlying enum constants to their underlying type.
|
||||||
|
+ [mcs] Don’t apply reference type is optimization for dynamic expressions.
|
||||||
|
+ [mcs] Inflate anonymymous method with correct type arguments when async this requires hoisting in parent type.
|
||||||
|
+ [mcs] Fix using type relationship check for type parameters.
|
||||||
|
+ [mcs] Caching of type argument types should not happen under error conditions.
|
||||||
|
+ [linq] Use hashtable lookup instead of linear scan for groupby keys.
|
||||||
|
+ [mcs] Private member can still have base members when in nested types.
|
||||||
|
+ [mcs] Make unused event warning reporting consistent to csc.
|
||||||
|
+ [mcs] Add parent storey reference only when this is not captured directly.
|
||||||
|
+ [mcs] Fix recursive resolving of crefs.
|
||||||
|
+ [mcs] Adding unit test for #18511
|
||||||
|
+ [mcs] Emit field initializer with expression tree in all user constructors.
|
||||||
|
+ [dlr] Emit correct code for convert of nullable types.
|
||||||
|
+ [runtime] Fix decoding of jagged arrays in custom attributes.
|
||||||
|
+ [runtime] Avoid calling mono_thread_current () in sgen_thread_detach (), since it can construct objects.
|
||||||
|
+ [runtime] Avoid passing commands to lldb using the python api, it doesn’t seem to work well in script files.
|
||||||
|
+ [runtime] Fix Process.TotalProcessorTime becoming negative.
|
||||||
|
+ [runtime] Clean up an #ifdef block
|
||||||
|
+ [jit] Make generic ctor calls made out of gsharedvt methods indirect, since they cannot be patched.
|
||||||
|
+ [jit] Fix rethrowing of exceptions in thumb mode.
|
||||||
|
+ [jit] Fix the lookup of the AOT version of Interlocked.Exchange in full-aot mode.
|
||||||
|
+ [jit] Fix an unreachable code part in mini_emit_memset ().
|
||||||
|
+ [llvm] Fix a few problems with longs on 32 bit platforms.
|
||||||
|
+ [runtime] Improve the hashing of MONO_TYPE_VAR/MONO_TYPE_MVAR.
|
||||||
|
+ [interpreter] Disable fast call invocation using methodinfo delegates due to aot limitation.
|
||||||
|
+ [runtime] Improve the hashing of MONO_TYPE_VAR/MONO_TYPE_MVAR.
|
||||||
|
+ [sgen] Restore hazard pointers in suspend signal handler.
|
||||||
|
+ [corlib] Fix extra await context switch when custom SynchronizationContext does not change.
|
||||||
|
+ [corlib] Add SortVersion.
|
||||||
|
+ [corlib] Make invariant NumberFormatter thread static too as it has internal static state.
|
||||||
|
+ [corlib] Filter out any right-to-left sign characters.
|
||||||
|
+ [corlib] Fix localized resource loading bug.
|
||||||
|
+ [corlib] Optimize EqualityComparer for common value types.
|
||||||
|
+ [system] Don’t terminate response reading on bad cookie value.
|
||||||
|
+ DataRowView indexer should not break on “completed” added rows (any rows other than the IsNew one). (BNC#595899)
|
||||||
|
+ [corlib] Defer TypeInfo instantiation logic in DefinedTypes.
|
||||||
|
+ [Mono.Security] Send all the certificates (except the root) from an SSL/TLS ‘Server certificate’ message (7.4.2 in RFC2246).
|
||||||
|
+ [System.Core] Don’t auto increment when trimming hashset.
|
||||||
|
+ [system.net.http] Close service-point slot on explicit dispose.
|
||||||
|
+ [Fix] System.Runtime.Caching.MemoryCache doesn’t honor SlidingExpiration.
|
||||||
|
+ [System.Xml.Linq] Fix XNamespace.GetName locking to not be racy.
|
||||||
|
+ [System.Net.Http] Incomplete byte ranges parsing.
|
||||||
|
+ [System.ServiceModel.Web] Fix JsonQueryStringConverter.ConvertValueToString to work when running on any culture.
|
||||||
|
+ System.Runtime.Caching.MemoryCache doesn’t order expirable items correctly.
|
||||||
|
+ ConcurrentQueue.TryPeek() is not thread safe.
|
||||||
|
+ System/PCL: Implement HttpWebRequest.SupportsCookieContainer, WebRequest.CreateHttp.
|
||||||
|
+ [interpreter] Implement simple quote expression.
|
||||||
|
+ mdbrebase: use File.Move instead of FileInfo.MoveTo.
|
||||||
|
+ Add unit test for BNC#497562
|
||||||
|
+ System.Runtime.MemoryCache.GetValues() throws LockRecursionException with expired items - GetValues() calls MemoryCacheContainer.GetEntry() which now gets an EnterUpgradeableReadLock needed by ExpireIfNeeded() - Added a test case.
|
||||||
|
+ [Sys.Data] Fix BNC#519648
|
||||||
|
+ [Sys.Data] Add unit tests for BNC#519648
|
||||||
|
+ [System.XML] Fix handling of space in XSL value-of elements.
|
||||||
|
+ [System.XML] Fix XSL node-set bug. Fixes #18114
|
||||||
|
+ [System.XML] Fix handling of global variables in XSLs.
|
||||||
|
+ [System.XML] Do not reset document schema when reading an element.
|
||||||
|
+ Fix setter of TableLayoutPanel.LayoutSettings throws unwanted exception. Fixes BNC#497562
|
||||||
|
+ [MWF] Fix opacity of form.
|
||||||
|
+ [MWF] Fix ComboBox list to not display offscreen.
|
||||||
|
+ [MWF] Fix Screen.FromRectangle.
|
||||||
|
+ [MWF] Implement multi-display support on Linux.
|
||||||
|
+ [MWF] Clear currentCell before disposing.
|
||||||
|
+ [MWF] Unit test for DataGridView bug.
|
||||||
|
+ [MWF] Don’t try to remove non-child control.
|
||||||
|
+ [MWF] Add unit test for #19818
|
||||||
|
+ [MWF] Fix AutoSize behavior of FlowLayoutPanel.
|
||||||
|
+ [MWF] Fix crash from null control in ContainerControl.
|
||||||
|
+ [MWF] Fix TableLayoutPanel layout bug.
|
||||||
|
+ [MWF] Fix clipping of last line of dropdown.
|
||||||
|
+ [MWF] Release capture when clicking LinkLabel.
|
||||||
|
+ [MWF] Fix text position on buttons.
|
||||||
|
+ [MWF] Fix crash when setting Row.Height.
|
||||||
|
+ [MWF] Unit test for Row.Height/MinimumHeight bug.
|
||||||
|
+ [MWF] Fix size of text area on message box.
|
||||||
|
+ [MWF] Fix hang if clipboard source application closes down.
|
||||||
|
+ [Printing] Improve reported printer settings.
|
||||||
|
+ [Printing] Add unit test for BNC#602934
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 29 05:49:24 UTC 2014 - sshaw@decriptor.com
|
||||||
|
|
||||||
|
- Refresh patches
|
||||||
|
- Update to 3.4.0
|
||||||
|
* Revamped HttpWebRequest/ServicePoint stack
|
||||||
|
- Should properly reuse connections.
|
||||||
|
- Uses the specified idle times
|
||||||
|
- NTLM support has been improved.
|
||||||
|
- SSL/TLS operations on via async APIs are now
|
||||||
|
implemented using async patterns internally
|
||||||
|
to greatly alleviate Thread Pool abuse.
|
||||||
|
* Network stack
|
||||||
|
- Now allows developers to control which cipher
|
||||||
|
suites to use with TLS/SSL.
|
||||||
|
* ARM
|
||||||
|
- Emit shorter floating point operations when possible
|
||||||
|
- Hard float support: Mono now should work on Linux
|
||||||
|
distributions which uses a hard float (armhf) ABI,
|
||||||
|
like the Raspberry PI.
|
||||||
|
Notes: Homogeneous floating point aggregates are not
|
||||||
|
yet supported on armhf.
|
||||||
|
* Documentation
|
||||||
|
- Updated documentation stubs to the 4.5 .NET API.
|
||||||
|
* mono-api-html
|
||||||
|
- Now supports regular expressions when specifying
|
||||||
|
members to ignore (e.g. mono-api-html -i 'INSCopying$')
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Mar 10 17:20:57 CET 2014 - ro@suse.de
|
Mon Mar 10 17:20:57 CET 2014 - ro@suse.de
|
||||||
|
|
||||||
|
@ -21,23 +21,25 @@
|
|||||||
%define sgen yes
|
%define sgen yes
|
||||||
|
|
||||||
Name: mono-core
|
Name: mono-core
|
||||||
Version: 3.2.8
|
Version: 3.6.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Cross-platform, Open Source, .NET development framework
|
Summary: Cross-platform, Open Source, .NET development framework
|
||||||
License: LGPL-2.1 and MIT and MS-PL
|
License: LGPL-2.1 and MIT and MS-PL
|
||||||
Group: Development/Languages/Mono
|
Group: Development/Languages/Mono
|
||||||
Url: http://www.mono-project.com
|
Url: http://www.mono-project.com
|
||||||
Source0: http://download.mono-project.com/sources/mono/mono-%{version}.tar.bz2
|
Source0: http://download.mono-project.com/sources/mono/mono-%{version}.tar.bz2
|
||||||
Patch1: mono-arm-cpuinfo-v5.patch
|
Source1: mono-core.rpmlintrc
|
||||||
Patch2: mono-arm-cpuinfo-v7.patch
|
# PATCH-FIX-UPSTREAM ppc.patch dvaleev@suse.com -- fix ppc build failures -- https://github.com/mono/mono/pull/1208
|
||||||
Patch3: mono-arm-vfp.patch
|
|
||||||
# PATCH-FIX-OPENSUSE ppc.patch dvaleev@suse.com -- fix ppc build failures
|
|
||||||
Patch4: ppc.patch
|
Patch4: ppc.patch
|
||||||
# PATCH-FIX-UPSTREAM mono-core-target-4.0.patch dimstar@opensuse.org -- Use runtime 4.0 as default for cairo and nunit
|
# PATCH-FIX-UPSTREAM mono-core-target-4.0.patch dimstar@opensuse.org -- Use runtime 4.0 as default for cairo and nunit -- https://github.com/mono/mono/pull/1209
|
||||||
Patch5: mono-core-target-4.0.patch
|
Patch5: mono-core-target-4.0.patch
|
||||||
|
# PATCH-FIX-UPSTREAM -- ro@suse.de -- https://github.com/mono/mono/pull/1210
|
||||||
Patch6: mono-core-parallel-build.diff
|
Patch6: mono-core-parallel-build.diff
|
||||||
|
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||||
Patch7: mono-core-ppc64le.diff
|
Patch7: mono-core-ppc64le.diff
|
||||||
|
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||||
Patch8: mono-core-ppc64le-swr11r12.diff
|
Patch8: mono-core-ppc64le-swr11r12.diff
|
||||||
|
# PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||||
Patch9: mono-core-ppc64le-callreg.diff
|
Patch9: mono-core-ppc64le-callreg.diff
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
@ -77,7 +79,6 @@ Provides: mono(Mono.Cairo) = 1.0.5000.0
|
|||||||
Provides: mono(Mono.CompilerServices.SymbolWriter) = 1.0.5000.0
|
Provides: mono(Mono.CompilerServices.SymbolWriter) = 1.0.5000.0
|
||||||
Provides: mono(Mono.Posix) = 1.0.5000.0
|
Provides: mono(Mono.Posix) = 1.0.5000.0
|
||||||
Provides: mono(Mono.Security) = 1.0.5000.0
|
Provides: mono(Mono.Security) = 1.0.5000.0
|
||||||
Provides: mono(OpenSystem.C) = 1.0.5000.0
|
|
||||||
Provides: mono(System) = 1.0.5000.0
|
Provides: mono(System) = 1.0.5000.0
|
||||||
Provides: mono(System.Security) = 1.0.5000.0
|
Provides: mono(System.Security) = 1.0.5000.0
|
||||||
Provides: mono(System.Xml) = 1.0.5000.0
|
Provides: mono(System.Xml) = 1.0.5000.0
|
||||||
@ -96,19 +97,14 @@ technologies that have been submitted to the ECMA for standardization.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n mono-%{version}
|
%setup -q -n mono-%{version}
|
||||||
%ifarch armv5el
|
|
||||||
%patch1 -p1
|
|
||||||
%endif
|
|
||||||
%ifarch armv7l armv7hl
|
|
||||||
%patch2 -p1
|
|
||||||
%patch3 -p1
|
|
||||||
%endif
|
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
|
%ifarch ppc64
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
|
%endif
|
||||||
|
|
||||||
%build
|
%build
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
@ -234,6 +230,7 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
|
|||||||
%{_bindir}/gacutil
|
%{_bindir}/gacutil
|
||||||
%{_bindir}/gacutil2
|
%{_bindir}/gacutil2
|
||||||
%{_bindir}/gmcs
|
%{_bindir}/gmcs
|
||||||
|
%{_bindir}/ikdasm
|
||||||
%{_bindir}/mcs
|
%{_bindir}/mcs
|
||||||
%{_bindir}/mono
|
%{_bindir}/mono
|
||||||
%{_bindir}/mono-boehm
|
%{_bindir}/mono-boehm
|
||||||
@ -275,7 +272,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
|
|||||||
%{_prefix}/lib/mono/2.0/Mono.Security.dll
|
%{_prefix}/lib/mono/2.0/Mono.Security.dll
|
||||||
%{_prefix}/lib/mono/2.0/Mono.Simd.dll
|
%{_prefix}/lib/mono/2.0/Mono.Simd.dll
|
||||||
%{_prefix}/lib/mono/2.0/Mono.Tasklets.dll
|
%{_prefix}/lib/mono/2.0/Mono.Tasklets.dll
|
||||||
%{_prefix}/lib/mono/2.0/OpenSystem.C.dll
|
|
||||||
%{_prefix}/lib/mono/2.0/System.Configuration.dll
|
%{_prefix}/lib/mono/2.0/System.Configuration.dll
|
||||||
%{_prefix}/lib/mono/2.0/System.Core.dll
|
%{_prefix}/lib/mono/2.0/System.Core.dll
|
||||||
%{_prefix}/lib/mono/2.0/System.Drawing.dll
|
%{_prefix}/lib/mono/2.0/System.Drawing.dll
|
||||||
@ -306,7 +302,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
|
|||||||
%{_prefix}/lib/mono/4.0/Mono.Security.dll
|
%{_prefix}/lib/mono/4.0/Mono.Security.dll
|
||||||
%{_prefix}/lib/mono/4.0/Mono.Simd.dll
|
%{_prefix}/lib/mono/4.0/Mono.Simd.dll
|
||||||
%{_prefix}/lib/mono/4.0/Mono.Tasklets.dll
|
%{_prefix}/lib/mono/4.0/Mono.Tasklets.dll
|
||||||
%{_prefix}/lib/mono/4.0/OpenSystem.C.dll
|
|
||||||
%{_prefix}/lib/mono/4.0/System.Configuration.dll
|
%{_prefix}/lib/mono/4.0/System.Configuration.dll
|
||||||
%{_prefix}/lib/mono/4.0/System.Core.dll
|
%{_prefix}/lib/mono/4.0/System.Core.dll
|
||||||
%{_prefix}/lib/mono/4.0/System.Drawing.dll
|
%{_prefix}/lib/mono/4.0/System.Drawing.dll
|
||||||
@ -329,6 +324,7 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
|
|||||||
%{_prefix}/lib/mono/4.5/crlupdate.exe*
|
%{_prefix}/lib/mono/4.5/crlupdate.exe*
|
||||||
%{_prefix}/lib/mono/4.5/csharp.exe*
|
%{_prefix}/lib/mono/4.5/csharp.exe*
|
||||||
%{_prefix}/lib/mono/4.5/gacutil.exe*
|
%{_prefix}/lib/mono/4.5/gacutil.exe*
|
||||||
|
%{_prefix}/lib/mono/4.5/ikdasm.exe*
|
||||||
%{_prefix}/lib/mono/4.5/mcs.exe*
|
%{_prefix}/lib/mono/4.5/mcs.exe*
|
||||||
%{_prefix}/lib/mono/4.5/mozroots.exe*
|
%{_prefix}/lib/mono/4.5/mozroots.exe*
|
||||||
%{_prefix}/lib/mono/4.5/setreg.exe*
|
%{_prefix}/lib/mono/4.5/setreg.exe*
|
||||||
@ -350,7 +346,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
|
|||||||
%{_prefix}/lib/mono/4.5/Mono.Security.dll
|
%{_prefix}/lib/mono/4.5/Mono.Security.dll
|
||||||
%{_prefix}/lib/mono/4.5/Mono.Simd.dll
|
%{_prefix}/lib/mono/4.5/Mono.Simd.dll
|
||||||
%{_prefix}/lib/mono/4.5/Mono.Tasklets.dll
|
%{_prefix}/lib/mono/4.5/Mono.Tasklets.dll
|
||||||
%{_prefix}/lib/mono/4.5/OpenSystem.C.dll
|
|
||||||
%{_prefix}/lib/mono/4.5/System.Configuration.dll
|
%{_prefix}/lib/mono/4.5/System.Configuration.dll
|
||||||
%{_prefix}/lib/mono/4.5/System.Core.dll
|
%{_prefix}/lib/mono/4.5/System.Core.dll
|
||||||
%{_prefix}/lib/mono/4.5/System.Drawing.dll
|
%{_prefix}/lib/mono/4.5/System.Drawing.dll
|
||||||
@ -392,7 +387,6 @@ rm %{buildroot}%{_bindir}/mono-sgen-gdb.py
|
|||||||
%{_prefix}/lib/mono/gac/Mono.Security
|
%{_prefix}/lib/mono/gac/Mono.Security
|
||||||
%{_prefix}/lib/mono/gac/Mono.Simd
|
%{_prefix}/lib/mono/gac/Mono.Simd
|
||||||
%{_prefix}/lib/mono/gac/Mono.Tasklets
|
%{_prefix}/lib/mono/gac/Mono.Tasklets
|
||||||
%{_prefix}/lib/mono/gac/OpenSystem.C
|
|
||||||
%{_prefix}/lib/mono/gac/System
|
%{_prefix}/lib/mono/gac/System
|
||||||
%{_prefix}/lib/mono/gac/System.Configuration
|
%{_prefix}/lib/mono/gac/System.Configuration
|
||||||
%{_prefix}/lib/mono/gac/System.Core
|
%{_prefix}/lib/mono/gac/System.Core
|
||||||
@ -978,14 +972,12 @@ Mono implementation of ASP.NET, Remoting and Web Services.
|
|||||||
%{_bindir}/wsdl2
|
%{_bindir}/wsdl2
|
||||||
%{_bindir}/xsd
|
%{_bindir}/xsd
|
||||||
%{_libdir}/pkgconfig/aspnetwebstack.pc
|
%{_libdir}/pkgconfig/aspnetwebstack.pc
|
||||||
%{_libdir}/pkgconfig/mono.web.pc
|
|
||||||
%{_mandir}/man1/disco.1%ext_man
|
%{_mandir}/man1/disco.1%ext_man
|
||||||
%{_mandir}/man1/mconfig.1%ext_man
|
%{_mandir}/man1/mconfig.1%ext_man
|
||||||
%{_mandir}/man1/soapsuds.1%ext_man
|
%{_mandir}/man1/soapsuds.1%ext_man
|
||||||
%{_mandir}/man1/wsdl.1%ext_man
|
%{_mandir}/man1/wsdl.1%ext_man
|
||||||
%{_mandir}/man1/xsd.1%ext_man
|
%{_mandir}/man1/xsd.1%ext_man
|
||||||
%{_prefix}/lib/mono/2.0/Mono.Http.dll
|
%{_prefix}/lib/mono/2.0/Mono.Http.dll
|
||||||
%{_prefix}/lib/mono/2.0/Mono.Web.dll
|
|
||||||
%{_prefix}/lib/mono/2.0/System.ComponentModel.DataAnnotations.dll
|
%{_prefix}/lib/mono/2.0/System.ComponentModel.DataAnnotations.dll
|
||||||
%{_prefix}/lib/mono/2.0/System.Runtime.Remoting.dll
|
%{_prefix}/lib/mono/2.0/System.Runtime.Remoting.dll
|
||||||
%{_prefix}/lib/mono/2.0/System.Runtime.Serialization.Formatters.Soap.dll
|
%{_prefix}/lib/mono/2.0/System.Runtime.Serialization.Formatters.Soap.dll
|
||||||
@ -997,7 +989,6 @@ Mono implementation of ASP.NET, Remoting and Web Services.
|
|||||||
%{_prefix}/lib/mono/2.0/xsd.exe*
|
%{_prefix}/lib/mono/2.0/xsd.exe*
|
||||||
%{_prefix}/lib/mono/4.0/Microsoft.Web.Infrastructure.dll
|
%{_prefix}/lib/mono/4.0/Microsoft.Web.Infrastructure.dll
|
||||||
%{_prefix}/lib/mono/4.0/Mono.Http.dll
|
%{_prefix}/lib/mono/4.0/Mono.Http.dll
|
||||||
%{_prefix}/lib/mono/4.0/Mono.Web.dll
|
|
||||||
%{_prefix}/lib/mono/4.0/System.ComponentModel.Composition.dll
|
%{_prefix}/lib/mono/4.0/System.ComponentModel.Composition.dll
|
||||||
%{_prefix}/lib/mono/4.0/System.ComponentModel.DataAnnotations.dll
|
%{_prefix}/lib/mono/4.0/System.ComponentModel.DataAnnotations.dll
|
||||||
%{_prefix}/lib/mono/4.0/System.Runtime.Remoting.dll
|
%{_prefix}/lib/mono/4.0/System.Runtime.Remoting.dll
|
||||||
@ -1008,7 +999,6 @@ Mono implementation of ASP.NET, Remoting and Web Services.
|
|||||||
%{_prefix}/lib/mono/4.0/System.Web.Services.dll
|
%{_prefix}/lib/mono/4.0/System.Web.Services.dll
|
||||||
%{_prefix}/lib/mono/4.0/System.Web.dll
|
%{_prefix}/lib/mono/4.0/System.Web.dll
|
||||||
%{_prefix}/lib/mono/4.5/Mono.Http.dll
|
%{_prefix}/lib/mono/4.5/Mono.Http.dll
|
||||||
%{_prefix}/lib/mono/4.5/Mono.Web.dll
|
|
||||||
%{_prefix}/lib/mono/4.5/System.ComponentModel.Composition.dll
|
%{_prefix}/lib/mono/4.5/System.ComponentModel.Composition.dll
|
||||||
%{_prefix}/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll
|
%{_prefix}/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll
|
||||||
%{_prefix}/lib/mono/4.5/System.Runtime.Remoting.dll
|
%{_prefix}/lib/mono/4.5/System.Runtime.Remoting.dll
|
||||||
@ -1033,7 +1023,6 @@ Mono implementation of ASP.NET, Remoting and Web Services.
|
|||||||
%{_prefix}/lib/mono/4.5/Microsoft.Web.Infrastructure.dll
|
%{_prefix}/lib/mono/4.5/Microsoft.Web.Infrastructure.dll
|
||||||
%{_prefix}/lib/mono/gac/Microsoft.Web.Infrastructure
|
%{_prefix}/lib/mono/gac/Microsoft.Web.Infrastructure
|
||||||
%{_prefix}/lib/mono/gac/Mono.Http
|
%{_prefix}/lib/mono/gac/Mono.Http
|
||||||
%{_prefix}/lib/mono/gac/Mono.Web
|
|
||||||
%{_prefix}/lib/mono/gac/System.ComponentModel.Composition
|
%{_prefix}/lib/mono/gac/System.ComponentModel.Composition
|
||||||
%{_prefix}/lib/mono/gac/System.ComponentModel.DataAnnotations
|
%{_prefix}/lib/mono/gac/System.ComponentModel.DataAnnotations
|
||||||
%{_prefix}/lib/mono/gac/System.Runtime.Remoting
|
%{_prefix}/lib/mono/gac/System.Runtime.Remoting
|
||||||
|
30
ppc.patch
30
ppc.patch
@ -1,9 +1,16 @@
|
|||||||
Index: mono-3.0.2/mono/mini/mini.c
|
Subject: [PATCH] fix ppc build failures
|
||||||
================================================================================
|
|
||||||
--- mono-3.2.8/mono/mini/mini-gc.c
|
---
|
||||||
+++ mono-3.2.8/mono/mini/mini-gc.c
|
mono/mini/mini-gc.c | 2 ++
|
||||||
@@ -438,6 +438,8 @@
|
mono/mini/mini-ppc.h | 1 +
|
||||||
static int callee_saved_regs [] = { ARMREG_V1, ARMREG_V2, ARMREG_V3, ARMREG_V4, ARMREG_V5, ARMREG_V7, ARMREG_FP };
|
2 files changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/mono/mini/mini-gc.c b/mono/mini/mini-gc.c
|
||||||
|
index 5589d99..d8a0a8e 100644
|
||||||
|
--- a/mono/mini/mini-gc.c
|
||||||
|
+++ b/mono/mini/mini-gc.c
|
||||||
|
@@ -441,6 +441,8 @@ static int callee_saved_regs [] = { ARMREG_V1, ARMREG_V2, ARMREG_V3, ARMREG_V4,
|
||||||
|
static int callee_saved_regs [] = { };
|
||||||
#elif defined(TARGET_S390X)
|
#elif defined(TARGET_S390X)
|
||||||
static int callee_saved_regs [] = { s390_r6, s390_r7, s390_r8, s390_r9, s390_r10, s390_r11, s390_r12, s390_r13, s390_r14 };
|
static int callee_saved_regs [] = { s390_r6, s390_r7, s390_r8, s390_r9, s390_r10, s390_r11, s390_r12, s390_r13, s390_r14 };
|
||||||
+#elif defined(TARGET_POWERPC)
|
+#elif defined(TARGET_POWERPC)
|
||||||
@ -11,9 +18,11 @@ Index: mono-3.0.2/mono/mini/mini.c
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static guint32
|
static guint32
|
||||||
--- mono-3.2.8/mono/mini/mini-ppc.h
|
diff --git a/mono/mini/mini-ppc.h b/mono/mini/mini-ppc.h
|
||||||
+++ mono-3.2.8/mono/mini/mini-ppc.h
|
index 13b6adb..60ac075 100644
|
||||||
@@ -96,6 +96,7 @@
|
--- a/mono/mini/mini-ppc.h
|
||||||
|
+++ b/mono/mini/mini-ppc.h
|
||||||
|
@@ -96,6 +96,7 @@ typedef struct MonoCompileArch {
|
||||||
#define MONO_ARCH_EMULATE_FREM 1
|
#define MONO_ARCH_EMULATE_FREM 1
|
||||||
#define MONO_ARCH_BIGMUL_INTRINS 1
|
#define MONO_ARCH_BIGMUL_INTRINS 1
|
||||||
#define MONO_ARCH_HAVE_ATOMIC_CAS 1
|
#define MONO_ARCH_HAVE_ATOMIC_CAS 1
|
||||||
@ -21,3 +30,6 @@ Index: mono-3.0.2/mono/mini/mini.c
|
|||||||
|
|
||||||
/* Parameters used by the register allocator */
|
/* Parameters used by the register allocator */
|
||||||
#define MONO_ARCH_CALLEE_REGS ((0xff << ppc_r3) | (1 << ppc_r11) | (1 << ppc_r12))
|
#define MONO_ARCH_CALLEE_REGS ((0xff << ppc_r3) | (1 << ppc_r11) | (1 << ppc_r12))
|
||||||
|
--
|
||||||
|
2.0.0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user