diff --git a/data/net_1_1/machine.config b/data/net_1_1/machine.config
index 2e346ad3a8..2dfec5f020 100644
--- a/data/net_1_1/machine.config
+++ b/data/net_1_1/machine.config
@@ -74,9 +74,6 @@
-
-
-
diff --git a/data/net_2_0/machine.config b/data/net_2_0/machine.config
index c6d1b2c0fa..2f8090f028 100644
--- a/data/net_2_0/machine.config
+++ b/data/net_2_0/machine.config
@@ -118,9 +118,6 @@
-
-
-
diff --git a/data/net_4_0/machine.config b/data/net_4_0/machine.config
index b98a4d3e00..30bc2105f3 100644
--- a/data/net_4_0/machine.config
+++ b/data/net_4_0/machine.config
@@ -135,9 +135,6 @@
-
-
-
diff --git a/data/net_4_5/machine.config b/data/net_4_5/machine.config
index 8f7e56a4fa..df27ec4003 100644
--- a/data/net_4_5/machine.config
+++ b/data/net_4_5/machine.config
@@ -138,9 +138,6 @@
-
-
-
diff --git a/mcs/class/Facades/System.Drawing.Primitives/monotouch_watch_System.Drawing.Primitives.dll.sources b/mcs/class/Facades/System.Drawing.Primitives/monotouch_watch_System.Drawing.Primitives.dll.sources
deleted file mode 100644
index 49902e8e3a..0000000000
--- a/mcs/class/Facades/System.Drawing.Primitives/monotouch_watch_System.Drawing.Primitives.dll.sources
+++ /dev/null
@@ -1 +0,0 @@
-#include embedded_System.Drawing.Primitives.dll.sources
diff --git a/mcs/class/Facades/subdirs.make b/mcs/class/Facades/subdirs.make
index 7c6c5d092f..3ec7fe163f 100644
--- a/mcs/class/Facades/subdirs.make
+++ b/mcs/class/Facades/subdirs.make
@@ -52,7 +52,7 @@ xammac_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
xammac_net_4_5_SUBDIRS = $(net_4_x_SUBDIRS)
xammac_net_4_5_PARALLEL_SUBDIRS = $(net_4_x_PARALLEL_SUBDIRS)
-monotouch_watch_SUBDIRS = $(monotouch_SUBDIRS) $(drawing_DEPS_SUBDIRS)
+monotouch_watch_SUBDIRS = $(monotouch_SUBDIRS)
monotouch_watch_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
monotouch_tv_SUBDIRS = $(monotouch_SUBDIRS)
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
index 33aad3dea6..b4ed856238 100644
--- a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
+++ b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
@@ -374,10 +374,8 @@ namespace Microsoft.Build.BuildEngine {
return false;
ITaskItem[] outputs;
- if (ParentEngine.BuiltTargetsOutputByName.TryGetValue (key, out outputs)) {
- if (targetOutputs != null)
- targetOutputs.Add (target_name, outputs);
- }
+ if (targetOutputs != null && ParentEngine.BuiltTargetsOutputByName.TryGetValue (key, out outputs))
+ targetOutputs [target_name] = outputs;
return true;
}
diff --git a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs
index c709615d25..da79a6a189 100644
--- a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs
+++ b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/TargetTest.cs
@@ -284,6 +284,51 @@ namespace MonoTests.Microsoft.Build.BuildEngine {
t [0].RemoveTask (null);
}
+ [Test]
+ public void TestRunTargetTwice ()
+ {
+ string documentString = @"
+
+
+
+
+
+
+
+ ";
+
+ var filepath = Path.GetTempFileName ();
+ try {
+ File.WriteAllText (filepath, documentString);
+
+ var engine = new Engine (Consts.BinPath);
+ var project = engine.CreateNewProject ();
+ project.Load (filepath);
+
+ var logger = new TestMessageLogger ();
+ engine.RegisterLogger (logger);
+
+ var result = project.Build ("Main");
+ if (!result) {
+ logger.DumpMessages ();
+ Assert.Fail ("Build failed, see the logs");
+ }
+
+ Assert.AreEqual(1, logger.NormalMessageCount, "Expected number of messages");
+ logger.CheckLoggedMessageHead ("Foo ran", "A1");
+
+ Assert.AreEqual(0, logger.NormalMessageCount, "Extra messages found");
+ Assert.AreEqual(0, logger.WarningMessageCount, "Extra warning messages found");
+
+ Assert.AreEqual(2, logger.TargetStarted, "TargetStarted count");
+ Assert.AreEqual(2, logger.TargetFinished, "TargetFinished count");
+
+ Assert.IsTrue (result);
+ } finally {
+ File.Delete (filepath);
+ }
+ }
+
[Test]
public void TestTargetOutputs1 ()
{
diff --git a/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs b/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs
index e4817ee4be..d4a492ca40 100644
--- a/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs
+++ b/mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs
@@ -1322,6 +1322,8 @@ public class Tests : TestsBase, ITest2
o.invoke_2 ();
+ o.assembly_load ();
+
AppDomain.Unload (domain);
domains_3 ();
@@ -1353,6 +1355,11 @@ public class Tests : TestsBase, ITest2
public static void invoke_in_domain_2 () {
}
+ [MethodImplAttribute (MethodImplOptions.NoInlining)]
+ public static void assembly_load_in_domain () {
+ Assembly.Load ("System.Transactions");
+ }
+
[MethodImplAttribute (MethodImplOptions.NoInlining)]
public static void dynamic_methods () {
var m = new DynamicMethod ("dyn_method", typeof (void), new Type [] { typeof (int) }, typeof (object).Module);
@@ -1633,6 +1640,10 @@ public class CrossDomain : MarshalByRefObject
public int invoke_3 () {
return 42;
}
+
+ public void assembly_load () {
+ Tests.assembly_load_in_domain ();
+ }
}
public class Foo
diff --git a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs.REMOVED.git-id b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs.REMOVED.git-id
index 8fe451930e..c4d525cfc6 100644
--- a/mcs/class/Mono.Debugger.Soft/Test/dtest.cs.REMOVED.git-id
+++ b/mcs/class/Mono.Debugger.Soft/Test/dtest.cs.REMOVED.git-id
@@ -1 +1 @@
-8f929048d1b17809b27dc30940c81b379f1ec129
\ No newline at end of file
+10f28bcfc8faf083f7bacd0efadc598a4bbba506
\ No newline at end of file
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ComAwareEventInfo.cs b/mcs/class/System.Core/System.Runtime.InteropServices/ComAwareEventInfo.cs
similarity index 100%
rename from mcs/class/corlib/System.Runtime.InteropServices/ComAwareEventInfo.cs
rename to mcs/class/System.Core/System.Runtime.InteropServices/ComAwareEventInfo.cs
diff --git a/mcs/class/System.Core/common_System.Core.dll.sources b/mcs/class/System.Core/common_System.Core.dll.sources
index 52dad5c3c1..dd5aa084c1 100644
--- a/mcs/class/System.Core/common_System.Core.dll.sources
+++ b/mcs/class/System.Core/common_System.Core.dll.sources
@@ -229,6 +229,8 @@ ReferenceSources/Strings.cs
../referencesource/System.Core/System/threading/Tasks/TaskExtensions.cs
+System.Runtime.InteropServices/ComAwareEventInfo.cs
+
System.Security.Cryptography/ECCurve.cs
System.Security.Cryptography/ECPoint.cs
System.Security.Cryptography/ECParameters.cs
diff --git a/mcs/class/System/Mono.Btls/MonoBtlsContext.cs b/mcs/class/System/Mono.Btls/MonoBtlsContext.cs
index a926124bb5..31c5e22a5e 100644
--- a/mcs/class/System/Mono.Btls/MonoBtlsContext.cs
+++ b/mcs/class/System/Mono.Btls/MonoBtlsContext.cs
@@ -273,11 +273,13 @@ namespace Mono.Btls
var cipher = (CipherSuiteCode)ssl.GetCipher ();
var protocol = (TlsProtocolCode)ssl.GetVersion ();
+ var serverName = ssl.GetServerName ();
Debug ("GET CONNECTION INFO: {0:x}:{0} {1:x}:{1} {2}", cipher, protocol, (TlsProtocolCode)protocol);
connectionInfo = new MonoTlsConnectionInfo {
CipherSuiteCode = cipher,
- ProtocolVersion = GetProtocol (protocol)
+ ProtocolVersion = GetProtocol (protocol),
+ PeerDomainName = serverName
};
}
@@ -361,7 +363,23 @@ namespace Mono.Btls
public override void Close ()
{
Debug ("Close!");
- ssl.Dispose ();
+
+ if (ssl != null) {
+ ssl.Dispose ();
+ ssl = null;
+ }
+ if (ctx != null) {
+ ctx.Dispose ();
+ ctx = null;
+ }
+ if (bio != null) {
+ bio.Dispose ();
+ bio = null;
+ }
+ if (errbio != null) {
+ errbio.Dispose ();
+ errbio = null;
+ }
}
void Dispose (ref T disposable)
diff --git a/mcs/class/System/Mono.Btls/MonoBtlsSsl.cs b/mcs/class/System/Mono.Btls/MonoBtlsSsl.cs
index d751090135..8ef902f3a1 100644
--- a/mcs/class/System/Mono.Btls/MonoBtlsSsl.cs
+++ b/mcs/class/System/Mono.Btls/MonoBtlsSsl.cs
@@ -124,6 +124,9 @@ namespace Mono.Btls
[DllImport (BTLS_DYLIB)]
extern static int mono_btls_ssl_set_server_name (IntPtr handle, IntPtr name);
+ [DllImport (BTLS_DYLIB)]
+ extern static IntPtr mono_btls_ssl_get_server_name (IntPtr handle);
+
static BoringSslHandle Create_internal (MonoBtlsSslCtx ctx)
{
var handle = mono_btls_ssl_new (ctx.Handle.DangerousGetHandle ());
@@ -409,6 +412,16 @@ namespace Mono.Btls
}
}
+ public string GetServerName ()
+ {
+ CheckThrow ();
+ var namePtr = mono_btls_ssl_get_server_name (
+ Handle.DangerousGetHandle ());
+ if (namePtr == IntPtr.Zero)
+ return null;
+ return Marshal.PtrToStringAnsi (namePtr);
+ }
+
protected override void Close ()
{
mono_btls_ssl_close (Handle.DangerousGetHandle ());
diff --git a/mcs/class/corlib/System.Security.Cryptography/IncrementalHash.cs b/mcs/class/corlib/System.Security.Cryptography/IncrementalHash.cs
index d52ed93fac..14c895e597 100644
--- a/mcs/class/corlib/System.Security.Cryptography/IncrementalHash.cs
+++ b/mcs/class/corlib/System.Security.Cryptography/IncrementalHash.cs
@@ -32,7 +32,7 @@ namespace System.Security.Cryptography
{
public sealed class IncrementalHash : IDisposable
{
- public IncrementalHash () { }
+ private IncrementalHash () { }
public HashAlgorithmName AlgorithmName { get { throw new NotImplementedException (); } }
public void AppendData (byte[] data) { }
public void AppendData (byte[] data, int offset, int count) { }
diff --git a/mcs/class/corlib/corlib.dll.sources b/mcs/class/corlib/corlib.dll.sources
index 18d6b1f4ed..d31278451e 100644
--- a/mcs/class/corlib/corlib.dll.sources
+++ b/mcs/class/corlib/corlib.dll.sources
@@ -426,7 +426,6 @@ System.Runtime.InteropServices/UCOMITypeLib.cs
System.Runtime.InteropServices/VARDESC.cs
System.Runtime.InteropServices/VARFLAGS.cs
System.Runtime.InteropServices/CustomQueryInterfaceMode.cs
-System.Runtime.InteropServices/ComAwareEventInfo.cs
System.Runtime.InteropServices/ComEventsHelper.cs
System.Runtime.InteropServices.WindowsRuntime/DefaultInterfaceAttribute.cs
diff --git a/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id
index 443bfbe699..7b1d4cedb6 100644
--- a/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id
+++ b/mcs/class/lib/monolite/System.Core.dll.REMOVED.git-id
@@ -1 +1 @@
-b5880ee73621284b7237031d8d27fb8a5747a797
\ No newline at end of file
+14b978577f098a3656996d0d47ba8f4f5ad2282b
\ No newline at end of file
diff --git a/mcs/class/lib/monolite/System.dll.REMOVED.git-id b/mcs/class/lib/monolite/System.dll.REMOVED.git-id
index 1e783ef089..6973b03cea 100644
--- a/mcs/class/lib/monolite/System.dll.REMOVED.git-id
+++ b/mcs/class/lib/monolite/System.dll.REMOVED.git-id
@@ -1 +1 @@
-8fb76ec050d22e5bb67a5dab3635c1998608ec6a
\ No newline at end of file
+230b2c651b79678ba74491306ffda95a019edf9b
\ No newline at end of file
diff --git a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id
index b97165616b..877945dab4 100644
--- a/mcs/class/lib/monolite/basic.exe.REMOVED.git-id
+++ b/mcs/class/lib/monolite/basic.exe.REMOVED.git-id
@@ -1 +1 @@
-e2b3d103722a7d6c1da86715c5858c14afefa8af
\ No newline at end of file
+9cb84f032c0698d23a029b0f4719f509ddf8080f
\ No newline at end of file
diff --git a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id
index 796f6abff3..529d86e691 100644
--- a/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id
+++ b/mcs/class/lib/monolite/mscorlib.dll.REMOVED.git-id
@@ -1 +1 @@
-1035eebc45f582696603f7c18625e71de46627a7
\ No newline at end of file
+ac6dbc56417da4b2adacbcc7012d2ddad9b7fe18
\ No newline at end of file
diff --git a/mcs/class/referencesource/System/net/System/URI.cs.REMOVED.git-id b/mcs/class/referencesource/System/net/System/URI.cs.REMOVED.git-id
index f2531f89dc..f4d77e679e 100644
--- a/mcs/class/referencesource/System/net/System/URI.cs.REMOVED.git-id
+++ b/mcs/class/referencesource/System/net/System/URI.cs.REMOVED.git-id
@@ -1 +1 @@
-8a69ca2fae89fc321d3019b5ab1a74177f28d8e7
\ No newline at end of file
+a757b5244fb635e73f03d69133896c9f4306f88c
\ No newline at end of file
diff --git a/mcs/mcs/import.cs b/mcs/mcs/import.cs
index 9518427e1a..96f950551e 100644
--- a/mcs/mcs/import.cs
+++ b/mcs/mcs/import.cs
@@ -365,7 +365,7 @@ namespace Mono.CSharp
// }
//
if (!IsMissingType (type) && type.IsGenericTypeDefinition) {
- var start_pos = spec.DeclaringType == null ? 0 : spec.DeclaringType.MemberDefinition.TypeParametersCount;
+ var start_pos = GetDeclaringTypesTypeParametersCount (spec);
var targs = CreateGenericArguments (start_pos, type.GetGenericArguments (), dtype);
spec = spec.MakeGenericType (module, targs);
}
@@ -381,6 +381,17 @@ namespace Mono.CSharp
return tspec;
}
+ static int GetDeclaringTypesTypeParametersCount (TypeSpec spec)
+ {
+ int total = 0;
+ while (spec.DeclaringType != null) {
+ total += spec.DeclaringType.MemberDefinition.TypeParametersCount;
+ spec = spec.DeclaringType;
+ }
+
+ return total;
+ }
+
public MethodSpec CreateMethod (MethodBase mb, TypeSpec declaringType)
{
Modifiers mod = ReadMethodModifiers (mb, declaringType);
diff --git a/mcs/tests/gtest-641-lib.cs b/mcs/tests/gtest-641-lib.cs
new file mode 100644
index 0000000000..4d1813cf01
--- /dev/null
+++ b/mcs/tests/gtest-641-lib.cs
@@ -0,0 +1,15 @@
+// Compiler options: -t:library
+
+public class Foo
+{
+ public class Bar
+ {
+ public class FooBar : System.IEquatable
+ {
+ public bool Equals(FooBar a)
+ {
+ return true;
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/mcs/tests/gtest-641.cs b/mcs/tests/gtest-641.cs
new file mode 100644
index 0000000000..51f563feb8
--- /dev/null
+++ b/mcs/tests/gtest-641.cs
@@ -0,0 +1,11 @@
+// Compiler options: -r:gtest-641-lib.dll
+
+using System;
+
+class SomeClass
+{
+ public static void Main ()
+ {
+ IEquatable.Bar.FooBar> a = new Foo.Bar.FooBar ();
+ }
+}
diff --git a/mcs/tools/mkbundle/mkbundle.cs b/mcs/tools/mkbundle/mkbundle.cs
index 1ea1d74024..3351fd24d0 100755
--- a/mcs/tools/mkbundle/mkbundle.cs
+++ b/mcs/tools/mkbundle/mkbundle.cs
@@ -1071,9 +1071,11 @@ void mono_register_config_for_assembly (const char* assembly_name, cons
}
}
- if (error)
+ if (error) {
+ Error ("Couldn't load one or more of the assemblies.");
Environment.Exit (1);
-
+ }
+
return assemblies;
}
@@ -1103,8 +1105,10 @@ void mono_register_config_for_assembly (const char* assembly_name, cons
}
}
- if (error)
+ if (error) {
+ Error ("Couldn't load one or more of the i18n assemblies.");
Environment.Exit (1);
+ }
}
diff --git a/mono/btls/CMakeLists.txt b/mono/btls/CMakeLists.txt
index 133f5e3272..8734b71ca6 100644
--- a/mono/btls/CMakeLists.txt
+++ b/mono/btls/CMakeLists.txt
@@ -22,7 +22,14 @@ if (NOT "${BTLS_ARCH}" STREQUAL "")
message (WARNING "SET ARCH: ${BTLS_ARCH}")
set (CMAKE_SYSTEM_PROCESSOR "${BTLS_ARCH}")
endif ()
-set (C_CXX_FLAGS "-Wall -Wsign-compare -Wmissing-field-initializers -ggdb -fvisibility=hidden")
+if (BUILD_DYNAMIC_BTLS)
+ set (CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+ set (C_CXX_FLAGS "-Wall -Wsign-compare -Wmissing-field-initializers -fPIC -ggdb -fvisibility=hidden")
+elseif (BUILD_SHARED_LIBS)
+ set (C_CXX_FLAGS "-Wall -Wsign-compare -Wmissing-field-initializers -fPIC -ggdb -fvisibility=hidden")
+else ()
+ set (C_CXX_FLAGS "-Wall -Wsign-compare -Wmissing-field-initializers -ggdb -fvisibility=hidden")
+endif()
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_CXX_FLAGS} ${BTLS_CFLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${C_CXX_FLAGS} ${BTLS_CFLAGS}")
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} ${BTLS_CFLAGS}")
diff --git a/mono/btls/btls-ssl.c b/mono/btls/btls-ssl.c
index f18d6c1924..dda74ec4b5 100644
--- a/mono/btls/btls-ssl.c
+++ b/mono/btls/btls-ssl.c
@@ -207,3 +207,9 @@ mono_btls_ssl_set_server_name (MonoBtlsSsl *ptr, const char *name)
{
return SSL_set_tlsext_host_name (ptr->ssl, name);
}
+
+MONO_API const char *
+mono_btls_ssl_get_server_name (MonoBtlsSsl *ptr)
+{
+ return SSL_get_servername (ptr->ssl, TLSEXT_NAMETYPE_host_name);
+}
diff --git a/mono/btls/btls-ssl.h b/mono/btls/btls-ssl.h
index 10da436488..98b017340e 100644
--- a/mono/btls/btls-ssl.h
+++ b/mono/btls/btls-ssl.h
@@ -77,6 +77,9 @@ mono_btls_ssl_set_verify_param (MonoBtlsSsl *ptr, const MonoBtlsX509VerifyParam
int
mono_btls_ssl_set_server_name (MonoBtlsSsl *ptr, const char *name);
+const char *
+mono_btls_ssl_get_server_name (MonoBtlsSsl *ptr);
+
void
mono_btls_ssl_destroy (MonoBtlsSsl *ptr);
diff --git a/mono/metadata/class.c.REMOVED.git-id b/mono/metadata/class.c.REMOVED.git-id
index 59c8d39be7..531135d009 100644
--- a/mono/metadata/class.c.REMOVED.git-id
+++ b/mono/metadata/class.c.REMOVED.git-id
@@ -1 +1 @@
-f1718591e4aa1f373e41b0fa4038d606cc9f72ba
\ No newline at end of file
+a1c77761cdbb42ae1e799cfd298fccf01c6bebeb
\ No newline at end of file
diff --git a/mono/metadata/handle.h b/mono/metadata/handle.h
index 76a43969eb..948d39bbd6 100644
--- a/mono/metadata/handle.h
+++ b/mono/metadata/handle.h
@@ -91,9 +91,10 @@ static inline void
mono_stack_mark_pop (MonoThreadInfo *info, HandleStackMark *stackmark)
{
HandleStack *handles = (HandleStack *)info->handle_stack;
- handles->top->size = stackmark->size;
+ HandleChunk *old_top = stackmark->chunk;
+ old_top->size = stackmark->size;
mono_memory_write_barrier ();
- handles->top = stackmark->chunk;
+ handles->top = old_top;
}
/*
diff --git a/mono/mini/Makefile.am b/mono/mini/Makefile.am
index a30b00dd80..6f03a05625 100644
--- a/mono/mini/Makefile.am
+++ b/mono/mini/Makefile.am
@@ -860,7 +860,7 @@ EXTRA_DIST = TestDriver.cs \
Makefile.am.in
version.h: Makefile
- echo "#define FULL_VERSION \"Stable 4.8.0.344/f5fbc32\"" > version.h
+ echo "#define FULL_VERSION \"Stable 4.8.0.371/902b4a9\"" > version.h
# Utility target for patching libtool to speed up linking
patch-libtool:
diff --git a/mono/mini/Makefile.am.in b/mono/mini/Makefile.am.in
index a30b00dd80..6f03a05625 100755
--- a/mono/mini/Makefile.am.in
+++ b/mono/mini/Makefile.am.in
@@ -860,7 +860,7 @@ EXTRA_DIST = TestDriver.cs \
Makefile.am.in
version.h: Makefile
- echo "#define FULL_VERSION \"Stable 4.8.0.344/f5fbc32\"" > version.h
+ echo "#define FULL_VERSION \"Stable 4.8.0.371/902b4a9\"" > version.h
# Utility target for patching libtool to speed up linking
patch-libtool:
diff --git a/mono/mini/Makefile.in.REMOVED.git-id b/mono/mini/Makefile.in.REMOVED.git-id
index d75b1d9af7..b8246e856c 100644
--- a/mono/mini/Makefile.in.REMOVED.git-id
+++ b/mono/mini/Makefile.in.REMOVED.git-id
@@ -1 +1 @@
-d1e6363311745351e05c4bd7f744e07b7ea2f128
\ No newline at end of file
+eaecaed9eab43c2e6afd56e9f55f1f0926fb397a
\ No newline at end of file
diff --git a/mono/mini/aot-compiler.c.REMOVED.git-id b/mono/mini/aot-compiler.c.REMOVED.git-id
index be9e5155b6..a539eda7b0 100644
--- a/mono/mini/aot-compiler.c.REMOVED.git-id
+++ b/mono/mini/aot-compiler.c.REMOVED.git-id
@@ -1 +1 @@
-bd6f925c87c7032d749d0524b3629b3d81a48d63
\ No newline at end of file
+a1c359f96a9f1549227cba4f1d82f9b535458f19
\ No newline at end of file
diff --git a/mono/mini/debugger-agent.c.REMOVED.git-id b/mono/mini/debugger-agent.c.REMOVED.git-id
index e8aabfddbd..f7aa450cbd 100644
--- a/mono/mini/debugger-agent.c.REMOVED.git-id
+++ b/mono/mini/debugger-agent.c.REMOVED.git-id
@@ -1 +1 @@
-747cc484fae7811f7e3041ef630f393f4e180cc3
\ No newline at end of file
+ab39180f7b19cdd884bb41bddd68fd3a34b1c44d
\ No newline at end of file
diff --git a/mono/mini/method-to-ir.c.REMOVED.git-id b/mono/mini/method-to-ir.c.REMOVED.git-id
index 8df56c323d..aed73fd2f9 100644
--- a/mono/mini/method-to-ir.c.REMOVED.git-id
+++ b/mono/mini/method-to-ir.c.REMOVED.git-id
@@ -1 +1 @@
-965434138b99b82354a510e35de120461917ce05
\ No newline at end of file
+b2470bd1725bddc8d4b773a0150fdace813b5560
\ No newline at end of file
diff --git a/mono/mini/mini.c.REMOVED.git-id b/mono/mini/mini.c.REMOVED.git-id
index 5aa7ec09f7..5625f6cce6 100644
--- a/mono/mini/mini.c.REMOVED.git-id
+++ b/mono/mini/mini.c.REMOVED.git-id
@@ -1 +1 @@
-750410441af8afda4ad292c84405f3e195b47c24
\ No newline at end of file
+26248fcce4cc078e80f5b273afc760876290f922
\ No newline at end of file
diff --git a/mono/mini/mini.h.REMOVED.git-id b/mono/mini/mini.h.REMOVED.git-id
index 5ad3353832..98db42d75b 100644
--- a/mono/mini/mini.h.REMOVED.git-id
+++ b/mono/mini/mini.h.REMOVED.git-id
@@ -1 +1 @@
-7aef90d17eede287da97280c621552b83e8daa49
\ No newline at end of file
+fa3a3b738e36916c6cd30fdf6def572c1a1506cd
\ No newline at end of file
diff --git a/mono/mini/version.h b/mono/mini/version.h
index 6fc571709d..199debe65b 100644
--- a/mono/mini/version.h
+++ b/mono/mini/version.h
@@ -1 +1 @@
-#define FULL_VERSION "Stable 4.8.0.344/f5fbc32"
+#define FULL_VERSION "Stable 4.8.0.371/902b4a9"
diff --git a/po/mcs/de.gmo b/po/mcs/de.gmo
index bca6d0c6c4..dcafa0cc6a 100644
Binary files a/po/mcs/de.gmo and b/po/mcs/de.gmo differ
diff --git a/po/mcs/de.po.REMOVED.git-id b/po/mcs/de.po.REMOVED.git-id
index 244e9695b5..15915e537e 100644
--- a/po/mcs/de.po.REMOVED.git-id
+++ b/po/mcs/de.po.REMOVED.git-id
@@ -1 +1 @@
-57fd3fa17feba29a807193571faff35ba24382a7
\ No newline at end of file
+efa66576beb2b9d15f28279dcd30bd1fa26e3538
\ No newline at end of file
diff --git a/po/mcs/es.gmo b/po/mcs/es.gmo
index 0b1ab412c3..de48c75cb5 100644
Binary files a/po/mcs/es.gmo and b/po/mcs/es.gmo differ
diff --git a/po/mcs/es.po.REMOVED.git-id b/po/mcs/es.po.REMOVED.git-id
index bff2d5bf02..7d6ab099df 100644
--- a/po/mcs/es.po.REMOVED.git-id
+++ b/po/mcs/es.po.REMOVED.git-id
@@ -1 +1 @@
-25ed8e9ca5aea8f09cbeab179abb3f686343b9d4
\ No newline at end of file
+93c80f11598a27a6b6aea96fc2405b456bf2ccb1
\ No newline at end of file
diff --git a/po/mcs/ja.gmo b/po/mcs/ja.gmo
index d9d04ba929..0324805eed 100644
Binary files a/po/mcs/ja.gmo and b/po/mcs/ja.gmo differ
diff --git a/po/mcs/ja.po.REMOVED.git-id b/po/mcs/ja.po.REMOVED.git-id
index fbb803a64b..a47e8b362e 100644
--- a/po/mcs/ja.po.REMOVED.git-id
+++ b/po/mcs/ja.po.REMOVED.git-id
@@ -1 +1 @@
-887acfaf4483d20c897f95097cf4b45032f87c00
\ No newline at end of file
+2ba3b14f1ede70361c9f8a5155745e3f7574c78a
\ No newline at end of file
diff --git a/po/mcs/mcs.pot b/po/mcs/mcs.pot
index 5477836962..d2516d614f 100644
--- a/po/mcs/mcs.pot
+++ b/po/mcs/mcs.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: mono 4.8.0\n"
"Report-Msgid-Bugs-To: http://www.mono-project.com/Bugs\n"
-"POT-Creation-Date: 2016-11-16 13:09+0000\n"
+"POT-Creation-Date: 2016-11-28 19:40+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/po/mcs/pt_BR.gmo b/po/mcs/pt_BR.gmo
index a980ace30d..75b31411c5 100644
Binary files a/po/mcs/pt_BR.gmo and b/po/mcs/pt_BR.gmo differ
diff --git a/po/mcs/pt_BR.po.REMOVED.git-id b/po/mcs/pt_BR.po.REMOVED.git-id
index b9b2f59725..dedec74de0 100644
--- a/po/mcs/pt_BR.po.REMOVED.git-id
+++ b/po/mcs/pt_BR.po.REMOVED.git-id
@@ -1 +1 @@
-71cec70833a5f9d22261d7bf02c81682266a7506
\ No newline at end of file
+a64e6f8b63e4cb5d27429c1732c5430a328b73d3
\ No newline at end of file