mono.git
9 years agoMerge pull request #1127 from oleg-st/master
Alex Rønne Petersen [Tue, 1 Jul 2014 19:36:58 +0000 (21:36 +0200)]
Merge pull request #1127 from oleg-st/master

Added fix for Bug 20869

9 years ago[runtime] Make WaitForPendingFinalizers () really wait for the finalizers added by...
Zoltan Varga [Tue, 1 Jul 2014 19:10:19 +0000 (21:10 +0200)]
[runtime] Make WaitForPendingFinalizers () really wait for the finalizers added by a previous GC. Fixes #20503.

9 years agoMerge pull request #1141 from akoeplinger/fix-mono-shlib-cop
Alex Rønne Petersen [Tue, 1 Jul 2014 18:43:40 +0000 (20:43 +0200)]
Merge pull request #1141 from akoeplinger/fix-mono-shlib-cop

[tools] Fixed mono-shlib-cop test

9 years agoFix the marshal7.cs test, longs can be aligned to 4 bytes on 32 bit linux, and the...
Zoltan Varga [Tue, 1 Jul 2014 17:53:05 +0000 (19:53 +0200)]
Fix the marshal7.cs test, longs can be aligned to 4 bytes on 32 bit linux, and the runtime no longer aligns structure sizes to 8 bytes. Fixes #20788.

9 years ago[tools] Fixed mono-shlib-cop test
Alexander Köplinger [Tue, 1 Jul 2014 12:13:49 +0000 (14:13 +0200)]
[tools] Fixed mono-shlib-cop test

MONO_PATH was missing when running the tests.

Use "libMonoPosixHelper.so" in local directory when checking if DllImport of a development library generates a warning (libglib2.0-dev might not be installed, but libMonoPosixHelper is always built with mono)

9 years ago[mcs] Add missing lock expression flow analysis
Marek Safar [Tue, 1 Jul 2014 12:03:53 +0000 (14:03 +0200)]
[mcs] Add missing lock expression flow analysis

9 years ago[mcs] Emit valid code for exception filter using constrained type parameter
Marek Safar [Tue, 1 Jul 2014 10:45:28 +0000 (12:45 +0200)]
[mcs] Emit valid code for exception filter using constrained type parameter

9 years ago[mcs] Emit correct token for inherited nested non-generic types from unbound types
Marek Safar [Tue, 1 Jul 2014 07:45:02 +0000 (09:45 +0200)]
[mcs] Emit correct token for inherited nested non-generic types from unbound types

9 years ago[mcs] Re-add obsolete reporting for enumerators removed in 6643bc119cbe1e94b5634e6452...
Marek Safar [Tue, 1 Jul 2014 06:35:02 +0000 (08:35 +0200)]
[mcs] Re-add obsolete reporting for enumerators removed in 6643bc119cbe1e94b5634e6452dd6eb40c7681c7

9 years agoAllocate the finalizable object in finalizer-exception.cs in another thread to make...
Zoltan Varga [Mon, 30 Jun 2014 22:35:15 +0000 (00:35 +0200)]
Allocate the finalizable object in finalizer-exception.cs in another thread to make it less likely that it is retained. Fixes finalizer-exception.exe on 64 bit osx+llvm.

9 years agoMerge pull request #1140 from kitsilanosoftware/no-gitlink-in-dist
Alex Rønne Petersen [Mon, 30 Jun 2014 22:18:28 +0000 (00:18 +0200)]
Merge pull request #1140 from kitsilanosoftware/no-gitlink-in-dist

[dist] Do not include .git link files in dist tarball

9 years ago[dist] Do not include .git link files in dist tarball
Damien Diederen [Mon, 30 Jun 2014 14:38:09 +0000 (16:38 +0200)]
[dist] Do not include .git link files in dist tarball

Recent versions of Git co-host submodule GIT_DIRs in <root-project>/.git/
by default, and write their relative path into <subproject>/.git,
which is a regular file:

    $ ls -l external/cecil/.git
    -rw-r--r-- 1 foo  bar  42 Jun 16 12:50 external/cecil/.git
    $ cat external/cecil/.git
    gitdir: ../../.git/modules/external/cecil

Relax the expression in Makefile.am to also delete these (broken)
"symlinks" when preparing a distribution tarball.

9 years agoAdd /reflection-load-dir to mono/tests/.gitignore.
Alex Rønne Petersen [Mon, 30 Jun 2014 21:25:49 +0000 (23:25 +0200)]
Add /reflection-load-dir to mono/tests/.gitignore.

9 years agoEmit correct memory barriers in the JIT intrinsic for Interlocked.Read ().
Alex Rønne Petersen [Mon, 30 Jun 2014 21:24:32 +0000 (23:24 +0200)]
Emit correct memory barriers in the JIT intrinsic for Interlocked.Read ().

9 years ago[amd64] Remove the callee saved registers from MonoLMF, save/restore them normally...
Zoltan Varga [Mon, 30 Jun 2014 21:04:16 +0000 (23:04 +0200)]
[amd64] Remove the callee saved registers from MonoLMF, save/restore them normally using the normal register save/restore code.

9 years agoMerge pull request #1138 from akoeplinger/fix-webtest-deadlocks
Alex Rønne Petersen [Mon, 30 Jun 2014 19:12:26 +0000 (21:12 +0200)]
Merge pull request #1138 from akoeplinger/fix-webtest-deadlocks

[System.Web] Tests: Fix deadlock when ThreadAbortException is thrown

9 years ago[System.Web] Tests: Fix deadlock when ThreadAbortException is thrown
Alexander Köplinger [Sun, 29 Jun 2014 15:35:28 +0000 (17:35 +0200)]
[System.Web] Tests: Fix deadlock when ThreadAbortException is thrown

This reverts commit ed11296c511d670391374fbb68e2988a9c1e8789.

When a ThreadAbortException is thrown during request processing in AsyncRun () the _done.Set () call is not executed.
This then results in a deadlock because _done.WaitOne () doesn't get signaled and waits forever.
One solution would be enclosing the _done.Set () in a finally clause, but even then we'd need to relaunch the AsyncRun () loop to be in a usable state.

A simpler solution is to revert the commit that introduced the AsyncRun () in the first place, as it doesn't seem necessary now (the tests pass just fine without it).

The test that was disabled in 429cdf17cf3a4887d9882380beebbf0d119e65ab is reenabled too, as it wasn't the culprit of the problem.

9 years ago[mcs] Not applicable GetEnumerator candidates were not rejected early enough
Marek Safar [Mon, 30 Jun 2014 17:44:32 +0000 (19:44 +0200)]
[mcs] Not applicable GetEnumerator candidates were not rejected early enough

9 years agoMerge pull request #1133 from kitsilanosoftware/mcs-tests-no-jscript
Alex Rønne Petersen [Mon, 30 Jun 2014 17:43:14 +0000 (19:43 +0200)]
Merge pull request #1133 from kitsilanosoftware/mcs-tests-no-jscript

[mcs tests] class/Microsoft.JScript does not exist anymore

9 years ago[jit] Move the 'remove any unused lmf' code from mono_arch_find_jit_info () to mini...
Zoltan Varga [Mon, 30 Jun 2014 17:40:10 +0000 (19:40 +0200)]
[jit] Move the 'remove any unused lmf' code from mono_arch_find_jit_info () to mini-exceptions.c to reduce code duplication and fix some problems where ctx->sp and lmf->sp was used to determine whenever the LMF was below the end of the stack instead of new_ctx->sp and lmf.

9 years ago[amd64] Fix the popping of LMF frames during unwinding. Fixes #20616.
Zoltan Varga [Mon, 30 Jun 2014 16:54:08 +0000 (18:54 +0200)]
[amd64] Fix the popping of LMF frames during unwinding. Fixes #20616.

9 years ago[mcs] Emit partial type parameters attributes too
Marek Safar [Mon, 30 Jun 2014 15:23:33 +0000 (17:23 +0200)]
[mcs] Emit partial type parameters attributes too

9 years ago[mcs] Use same rules in dynamic context as in normal instance member hidding.
Marek Safar [Fri, 27 Jun 2014 14:46:59 +0000 (16:46 +0200)]
[mcs] Use same rules in dynamic context as in normal instance member hidding.

9 years ago[runtime] Fix the marshalling of ByValTStr types which have a size specified. Fixes...
Zoltan Varga [Sun, 29 Jun 2014 13:24:29 +0000 (15:24 +0200)]
[runtime] Fix the marshalling of ByValTStr types which have a size specified. Fixes #20674.

9 years ago[sgen-worker] Improve worker data stealing distribution
Ludovic Henry [Fri, 27 Jun 2014 23:14:52 +0000 (16:14 -0700)]
[sgen-worker] Improve worker data stealing distribution

The idea is simply to make a worker tries to steal work from the workers that are next to him firs, before trying back at the beginning.
This reduce lock contention on the first workers and distribute more evenly work between workers by not starving the first ones.

9 years agoFix a format string warning in decode.c.
Alex Rønne Petersen [Fri, 27 Jun 2014 21:46:33 +0000 (23:46 +0200)]
Fix a format string warning in decode.c.

9 years agoOnly enable finally_block_ending_in_dead_bb.exe on x86/amd64 (not NaCl and Win32).
Alex Rønne Petersen [Fri, 27 Jun 2014 21:36:04 +0000 (23:36 +0200)]
Only enable finally_block_ending_in_dead_bb.exe on x86/amd64 (not NaCl and Win32).

We would previously run this everywhere, but it only works on
x86 and amd64 at the moment (similar to finally_guard.exe).
This meant that it would always fail on e.g. ARM and PPC. We
still disable it under NaCl (because it uses Thread.Abort ())
and Win32.

9 years ago[Ms.Build] Disable 4 tests in ProjectTest and ProjectCollectionTest under NET_4_0.
Alex Rønne Petersen [Fri, 27 Jun 2014 21:33:27 +0000 (23:33 +0200)]
[Ms.Build] Disable 4 tests in ProjectTest and ProjectCollectionTest under NET_4_0.

Bug: https://bugzilla.xamarin.com/show_bug.cgi?id=20961

These tests fail under this particular profile only with the following:

1) MonoTests.Microsoft.Build.Evaluation.ProjectCollectionTest.GlobalProperties :   #2
  Expected: True
  But was:  False

at MonoTests.Microsoft.Build.Evaluation.ProjectCollectionTest.GlobalProperties () [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0

2) MonoTests.Microsoft.Build.Evaluation.ProjectTest.BuildCSharpTargetBuild : Microsoft.Build.Exceptions.InvalidProjectFileException : Attribute "KeepDuplicates" is not known on node "_TargetFrameworkDirectories" [type Microsoft.Build.Construction.ProjectItemElement].  at: /home/alexrp/Projects/mono/mcs/class/lib/net_4_5/Microsoft.Common.targets (182,5)
at Microsoft.Build.Construction.ProjectElement.LoadAttribute (System.String name, System.String value) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectItemElement.LoadAttribute (System.String name, System.String value) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectRootElement.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectRootElement.Create (System.Xml.XmlReader xmlReader, Microsoft.Build.Evaluation.ProjectCollection projectCollection) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Import (Microsoft.Build.Construction.ProjectImportElement import) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project+<EvaluatePropertiesAndImportsAndChooses>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.ToArray[ProjectElement] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Import (Microsoft.Build.Construction.ProjectImportElement import) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project+<EvaluatePropertiesAndImportsAndChooses>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.ToArray[ProjectElement] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.ProcessXml () [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Initialize () [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection, ProjectLoadSettings loadSettings) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion) [0x00000] in <filename unknown>:0
at MonoTests.Microsoft.Build.Evaluation.ProjectTest.BuildCSharpTargetBuild () [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0

3) MonoTests.Microsoft.Build.Evaluation.ProjectTest.CreateProjectInstance : Microsoft.Build.Exceptions.InvalidProjectFileException : Attribute "KeepDuplicates" is not known on node "_TargetFrameworkDirectories" [type Microsoft.Build.Construction.ProjectItemElement].  at: /home/alexrp/Projects/mono/mcs/class/lib/net_4_5/Microsoft.Common.targets (182,5)
at Microsoft.Build.Construction.ProjectElement.LoadAttribute (System.String name, System.String value) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectItemElement.LoadAttribute (System.String name, System.String value) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectRootElement.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectRootElement.Create (System.Xml.XmlReader xmlReader, Microsoft.Build.Evaluation.ProjectCollection projectCollection) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Import (Microsoft.Build.Construction.ProjectImportElement import) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project+<EvaluatePropertiesAndImportsAndChooses>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.ToArray[ProjectElement] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Import (Microsoft.Build.Construction.ProjectImportElement import) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project+<EvaluatePropertiesAndImportsAndChooses>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.ToArray[ProjectElement] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.ProcessXml () [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Initialize () [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection, ProjectLoadSettings loadSettings) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion) [0x00000] in <filename unknown>:0
at MonoTests.Microsoft.Build.Evaluation.ProjectTest.CreateProjectInstance () [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0

4) MonoTests.Microsoft.Build.Evaluation.ProjectTest.LoadCaseInsensitive : Microsoft.Build.Exceptions.InvalidProjectFileException : Attribute "KeepDuplicates" is not known on node "_TargetFrameworkDirectories" [type Microsoft.Build.Construction.ProjectItemElement].  at: /home/alexrp/Projects/mono/mcs/class/lib/net_4_5/Microsoft.Common.targets (182,5)
at Microsoft.Build.Construction.ProjectElement.LoadAttribute (System.String name, System.String value) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectItemElement.LoadAttribute (System.String name, System.String value) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.LoadValue (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectElementContainer.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectRootElement.Load (System.Xml.XmlReader reader) [0x00000] in <filename unknown>:0
at Microsoft.Build.Construction.ProjectRootElement.Create (System.Xml.XmlReader xmlReader, Microsoft.Build.Evaluation.ProjectCollection projectCollection) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Import (Microsoft.Build.Construction.ProjectImportElement import) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project+<EvaluatePropertiesAndImportsAndChooses>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.ToArray[ProjectElement] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Import (Microsoft.Build.Construction.ProjectImportElement import) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project+<EvaluatePropertiesAndImportsAndChooses>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable.ToArray[ProjectElement] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.ProcessXml () [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project.Initialize () [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection, ProjectLoadSettings loadSettings) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion, Microsoft.Build.Evaluation.ProjectCollection projectCollection) [0x00000] in <filename unknown>:0
at Microsoft.Build.Evaluation.Project..ctor (Microsoft.Build.Construction.ProjectRootElement xml, IDictionary`2 globalProperties, System.String toolsVersion) [0x00000] in <filename unknown>:0
at MonoTests.Microsoft.Build.Evaluation.ProjectTest.LoadCaseInsensitive () [0x00000] in <filename unknown>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0

9 years agoatomic.c: Get rid of the fallback warning.
Alex Rønne Petersen [Fri, 27 Jun 2014 18:18:35 +0000 (20:18 +0200)]
atomic.c: Get rid of the fallback warning.

This is really noisy on platforms like ARM where we
intentionally use the fallback mutex-based code.

9 years ago[MSBuild] Reload projects after parsing sln file
Michael Hutchinson [Fri, 27 Jun 2014 18:30:48 +0000 (14:30 -0400)]
[MSBuild] Reload projects after parsing sln file

When building sln files, they are first converted to sln.proj
files, then the project file is built.

The engine unloaded and reloaded the sln.proj file itself, but
not the projects implicitly loaded while parsing the sln file.
This meant that some state was kept around that prevented
AfterTargets from being handled correctly

BXC18761 - AfterTargets and AfterBuild ignored by xbuild

9 years agoRevert "Don't touch internal feature macros in eglib"
Rodrigo Kumpera [Thu, 26 Jun 2014 21:51:50 +0000 (17:51 -0400)]
Revert "Don't touch internal feature macros in eglib"

This reverts commit dd412cfb2e1968f310f454ee2ec303862cb642d2.

We need to know what target was broken by this and verify that this won't break the platitude of libc's around.

This is currently a non-trivial job, so let's just revert this for now.

9 years ago[MSBuild] Suppress useless message
Michael Hutchinson [Fri, 27 Jun 2014 18:08:08 +0000 (14:08 -0400)]
[MSBuild] Suppress useless message

The DotConfigExtensionsPath won't ever exist unless the user
creates it manually, so prevent spewing out dozens of messages
that it's missing.

9 years ago[System.IO.Compression] Tidy up formatting.
João Matos [Fri, 27 Jun 2014 15:30:32 +0000 (16:30 +0100)]
[System.IO.Compression]  Tidy up formatting.

9 years ago[System.IO.Compression] Fixed archive entry opening for non-Create mode archives.
João Matos [Fri, 27 Jun 2014 15:02:54 +0000 (16:02 +0100)]
[System.IO.Compression] Fixed archive entry opening for non-Create mode archives.

9 years agoMerge pull request #1134 from kitsilanosoftware/mcs-tests-dll-il-distfile
Marek Safar [Fri, 27 Jun 2014 14:52:45 +0000 (16:52 +0200)]
Merge pull request #1134 from kitsilanosoftware/mcs-tests-dll-il-distfile

[mcs tests] Add tests/dlls/*.il to DISTFILES

9 years agoMerge pull request #1135 from kitsilanosoftware/rpm-spec-dead-entries
Marek Habersack [Fri, 27 Jun 2014 14:45:43 +0000 (16:45 +0200)]
Merge pull request #1135 from kitsilanosoftware/rpm-spec-dead-entries

[rpm spec] Mono.Web and OpenSystem.C do not exist anymore

9 years agoUse mono_strtod () instead of strtod () on ARM.
Alex Rønne Petersen [Fri, 27 Jun 2014 14:31:11 +0000 (16:31 +0200)]
Use mono_strtod () instead of strtod () on ARM.

The former used to miscompile back in 2005, but this no
longer appears to be the case. Further, using strtod ()
is problematic on Linux/ARM systems with many non-US
locales that use a comma as the decimal separator.

In particular, this breaks almost all compilation with
MCS because it can't parse floating point literals.

Based on investigation by Damien Diederen <dd@crosstwine.com>.

9 years agoFix a format string warning in decode.c.
Alex Rønne Petersen [Fri, 27 Jun 2014 02:09:59 +0000 (04:09 +0200)]
Fix a format string warning in decode.c.

9 years ago[mcs tests] Add tests/dlls/*.il to DISTFILES
Damien Diederen [Fri, 27 Jun 2014 09:07:19 +0000 (11:07 +0200)]
[mcs tests] Add tests/dlls/*.il to DISTFILES

Without this,

    cd mcs/tests && make run-test

fails when run from a distribution tarball.

9 years ago[mcs tests] class/Microsoft.JScript does not exist anymore
Damien Diederen [Fri, 27 Jun 2014 08:11:51 +0000 (10:11 +0200)]
[mcs tests] class/Microsoft.JScript does not exist anymore

9 years ago[rpm spec] Mono.Web and OpenSystem.C do not exist anymore
Damien Diederen [Mon, 23 Jun 2014 18:01:35 +0000 (20:01 +0200)]
[rpm spec] Mono.Web and OpenSystem.C do not exist anymore

9 years ago[System] Fixes a warning
Marek Safar [Fri, 27 Jun 2014 11:37:50 +0000 (13:37 +0200)]
[System] Fixes a warning

9 years ago[corlib] Array qsort without head allocation. Fixes #20922
Marek Safar [Fri, 27 Jun 2014 10:43:03 +0000 (12:43 +0200)]
[corlib] Array qsort without head allocation. Fixes #20922

9 years ago[mcs] Fix crash in inherited type parameter interface check
Marek Safar [Fri, 27 Jun 2014 09:11:32 +0000 (11:11 +0200)]
[mcs] Fix crash in inherited type parameter interface check

9 years ago[mcs] Workaround MSIL limitation when loading bool elements
Marek Safar [Fri, 27 Jun 2014 08:48:20 +0000 (10:48 +0200)]
[mcs] Workaround MSIL limitation when loading bool elements

9 years ago[sgen-gray-queue] Fix crashing sgen-domain-unload sgen test
Ludovic Henry [Fri, 27 Jun 2014 03:29:14 +0000 (20:29 -0700)]
[sgen-gray-queue] Fix crashing sgen-domain-unload sgen test

sgen-domain-unload.exe test would crash because of a bug involving queue->alloc_prepare_func => workers_gray_queue_share_redirect => sgen_gray_object_dequeue_section on queue => set queue->first->size depending on queue->cursor. The solution is simply to make sure that the cursor is set on the queue, before allocating a new section, even if it is does not seems necessary in the first place.

9 years ago[sgen-gray-queue] Always update queue->cursor when dequeing
Ludovic Henry [Fri, 27 Jun 2014 02:15:27 +0000 (19:15 -0700)]
[sgen-gray-queue] Always update queue->cursor when dequeing

Previously, queue->cursor would not be set to NULL if the last element would be dequeued and queue->first would be set to NULL.

9 years ago[jit] Remove now unused MONO_ARCH_HAVE_OP_LREM_IMM define.
Zoltan Varga [Fri, 27 Jun 2014 01:53:35 +0000 (03:53 +0200)]
[jit] Remove now unused MONO_ARCH_HAVE_OP_LREM_IMM define.

9 years agoFix a couple of format string warnings in sgen-gc.c.
Alex Rønne Petersen [Fri, 27 Jun 2014 01:48:05 +0000 (03:48 +0200)]
Fix a couple of format string warnings in sgen-gc.c.

9 years agoMerge pull request #1131 from schani/feature-portable-fast-lrem-imm
Zoltan Varga [Fri, 27 Jun 2014 01:44:22 +0000 (03:44 +0200)]
Merge pull request #1131 from schani/feature-portable-fast-lrem-imm

[jit] Portably decompose power-of-two OP_[IL]REM_IMM.

9 years ago[sdb] Avoid running tests in the 2.0 profile.
Zoltan Varga [Fri, 27 Jun 2014 00:01:47 +0000 (02:01 +0200)]
[sdb] Avoid running tests in the 2.0 profile.

9 years ago[jit] Portably decompose power-of-two OP_[IL]REM_IMM.
Mark Probst [Thu, 26 Jun 2014 21:43:01 +0000 (14:43 -0700)]
[jit] Portably decompose power-of-two OP_[IL]REM_IMM.

Instead of generating a sequence of AMD64 instructions for
power-of-two OP_[IL]REM_IMM, portably decompose them to intermediate
code.

OP_IREM_IMM is decomposed on 32 and 64 bit archs, OP_LREM_IMM only on
64 bit archs.

9 years agoMerge pull request #1130 from akoeplinger/descriptive-tests
Alex Rønne Petersen [Thu, 26 Jun 2014 19:01:19 +0000 (21:01 +0200)]
Merge pull request #1130 from akoeplinger/descriptive-tests

[System] Make tests more descriptive on failure

9 years ago[System] Make tests more descriptive on failure
Alexander Köplinger [Thu, 26 Jun 2014 18:55:47 +0000 (20:55 +0200)]
[System] Make tests more descriptive on failure

By using StringAssert we get a more descriptive error message when the test fails, i.e. the expected vs. the actual string value instead of just true/false.

9 years agoMerge pull request #1128 from ludovic-henry/pr19g-sgen-grayqueue
Mark Probst [Thu, 26 Jun 2014 18:46:53 +0000 (11:46 -0700)]
Merge pull request #1128 from ludovic-henry/pr19g-sgen-grayqueue

[sgen-gray-queue] Use a cursor based accessing pattern to reduce memory indirection

9 years ago[System] Up the timeout in the BeginConnectMultiple test to 30s.
Alex Rønne Petersen [Thu, 26 Jun 2014 18:40:06 +0000 (20:40 +0200)]
[System] Up the timeout in the BeginConnectMultiple test to 30s.

Most Linux systems have the net.ipv4.tcp_syn_retries sysctl
set to 5 or 6, so we need at least 30 seconds here.

9 years agoAdded fix for Bug 20869
Oleg Stepanischev [Thu, 26 Jun 2014 18:24:34 +0000 (22:24 +0400)]
Added fix for Bug 20869

9 years ago[Mono.Data.Sqlite] Add support for Scalar and Aggregate functions in Xamarin.iOS.
Rolf Bjarne Kvinge [Thu, 26 Jun 2014 17:06:22 +0000 (19:06 +0200)]
[Mono.Data.Sqlite] Add support for Scalar and Aggregate functions in Xamarin.iOS.

9 years ago[corlib] Update racy test
Marek Safar [Thu, 26 Jun 2014 15:20:05 +0000 (17:20 +0200)]
[corlib] Update racy test

9 years ago[mcs] Emit correct attribute reference when async lambda ends up in nested type....
Marek Safar [Thu, 26 Jun 2014 14:49:09 +0000 (16:49 +0200)]
[mcs] Emit correct attribute reference when async lambda ends up in nested type. Fixes #20849

9 years ago[corlib] Fix typo
Marek Safar [Thu, 26 Jun 2014 14:41:54 +0000 (16:41 +0200)]
[corlib] Fix typo

9 years ago[mcs] Fix local exits from try-finally scope with awaited statements
Marek Safar [Thu, 26 Jun 2014 14:22:55 +0000 (16:22 +0200)]
[mcs] Fix local exits from try-finally scope with awaited statements

9 years agoPrint pid_t's portably in mono/metadata/attach.c
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:11:01 +0000 (01:11 +0200)]
Print pid_t's portably in mono/metadata/attach.c

The pid_t type is required by POSIX to be a signed integer type (and that it
isn't wider than long in at least one programming environment). Mono has a
bunch of issues with 64-bit pids at the present, this is a start. Cast the
pid to the largest available signed type before printing it.

This change is released under the MIT/X11 license.

9 years agoAvoid non-standard BSD types in mono/io-layer/wapi_glob.c
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:07:08 +0000 (01:07 +0200)]
Avoid non-standard BSD types in mono/io-layer/wapi_glob.c

The u_char, u_short and u_int types are non-standard and no system headers
are required to provide them. There are no particular use for them and the
builtin standard types will do just as well.

This change is released under the MIT/X11 license.

9 years agoRestore the null garbage collector
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:15:16 +0000 (01:15 +0200)]
Restore the null garbage collector

I had to use the null garbage collector due to boehm being troublesome. The
code appears unmaintained but I can see a recent git commit enabled support
again. However, I had to do more than that to get it working. I'm really not
sure how semantically correct this is and it needs review from an expert in
how threads and garbage collection interplay in Mono. It seems very odd that
various attributes (such as its short id) about the main thread is
initialized as a side effect of initializing the garbage collection. The
mono_thread_info_attach was needed to prevent a crash.

This change is released under the MIT/X11 license.

9 years agoRemove Mono_Posix_Syscall_utimes_bad
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:39:10 +0000 (01:39 +0200)]
Remove Mono_Posix_Syscall_utimes_bad

Welcome to the world of tomorrow! It's been almost a decade since this was
made obsolete in 2005. Nothing uses this function any longer. Additionally
it is completely broken as utimes takes a pointer to an array with two
timevals, but the code passes only a pointer to a single timeval.

This change is released under the MIT/X11 license.

9 years agoRemove test whether thread-local storage works in shared libraries
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 22:41:33 +0000 (00:41 +0200)]
Remove test whether thread-local storage works in shared libraries

This test was added in 2004 to work around buggy Linux distributions and is
not needed today. The test caused problems as it also ran on non-Linux
operating systems and assumed dynamic linking was available. This caused it
to mistakenly decide thread-local storage was unavailable on operating
systems with no dynamic linking (but perfectly usable thread-local storage).

This change is released under the MIT/X11 license.

9 years agoDon't touch internal feature macros in eglib
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 22:43:40 +0000 (00:43 +0200)]
Don't touch internal feature macros in eglib

The __USE_GNU macro is an internal macro used by glibc to enable the GNU
extensions. Programs are instead meant to use the _GNU_SOURCE macro before
including any system header.

This change is released under the MIT/X11 license.

9 years agoUse SIGPROF only if it is available
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:28:30 +0000 (01:28 +0200)]
Use SIGPROF only if it is available

The SIGPROF signal is an XSI option and obsolescent in XSI. POSIX systems
are not required to have it.

This change is released under the MIT/X11 license.

9 years agoUse memset instead of bzero
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:23:31 +0000 (01:23 +0200)]
Use memset instead of bzero

There is no standard bzero function, only the standard memset function, and
Mono does not declare its own bzero function.

This change is released under the MIT/X11 license.

9 years agoRemove MONO_SIZEOF_SUNPATH
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:21:31 +0000 (01:21 +0200)]
Remove MONO_SIZEOF_SUNPATH

The configure script determines the size of the sun_path member in struct
sockaddr_un. However the test is broken during cross-compilation (with a
comment that there is no macro to determine the size of struct members at
configure time) and MONO_SIZEOF_SUNPATH defaults to 0 (leading to buffer
underflows and overflows). There is no reason to determine this at configure
time when a simple traditional sizeof will do the job at compile time.

This change is released under the MIT/X11 license.

9 years agoUse MAP_FAILED instead of (void*)-1
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:34:21 +0000 (01:34 +0200)]
Use MAP_FAILED instead of (void*)-1

The MAP_FAILED macro is the standard return value of mmap() upon failure and
it is allowed to have other values than (void*)-1.

This change is released under the MIT/X11 license.

9 years agoAvoid unused function warning in mono/profiler/proflog.c
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:31:14 +0000 (01:31 +0200)]
Avoid unused function warning in mono/profiler/proflog.c

The dump_ubin function is only used by the elf_dl_callback function. It
should be wrapped in the same #if conditional to avoid a warning if the
preprocessor conditional isn't true.

This change is released under the MIT/X11 license.

9 years agoAvoid unused function warning in mono/io-layer/io.c
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 22:54:10 +0000 (00:54 +0200)]
Avoid unused function warning in mono/io-layer/io.c

The get_fstypename function is only used by the GetVolumeInformation
function. It should be wrapped in the same #if conditional to avoid a
warning if the preprocessor conditional isn't true.

This change is released under the MIT/X11 license.

9 years agoUse S_IWUSR instead of S_IWRITE
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 22:50:08 +0000 (00:50 +0200)]
Use S_IWUSR instead of S_IWRITE

The S_IWRITE macro is a non-standard macro provided by some operating
systems for compatibility with BSD. POSIX specifics a standard macro with
identical semantics with the name S_IWUSR.

This change is released under the MIT/X11 license.

9 years agoGet struct timespec from <time.h> in mono/io-layer/misc-private.h
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 22:59:44 +0000 (00:59 +0200)]
Get struct timespec from <time.h> in mono/io-layer/misc-private.h

POSIX defines struct timespec in time.h and struct timeval in sys/time.h.
Some operating systems have merged these headers, but this isn't required or
encouraged by POSIX.

This change is released under the MIT/X11 license.

9 years agoRemove unnecessary <sys/syscall.h> inclusion
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:12:20 +0000 (01:12 +0200)]
Remove unnecessary <sys/syscall.h> inclusion

Only mono/metadata/icall.c and mono/metadata/filewatcher.c include the
mono/metadata/filewatcher.h header and none of them depend on the contents
of the non-standard header <sys/syscall.h>.

This change is released under the MIT/X11 license.

9 years agoOnly include the <sys/param.h> header if available
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:03:11 +0000 (01:03 +0200)]
Only include the <sys/param.h> header if available

The <sys/param.h> header is non-standard and usually not required if it isn't
available.

This change is released under the MIT/X11 license.

9 years agoUse <poll.h> to get poll rather than <sys/poll.h>
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 23:37:47 +0000 (01:37 +0200)]
Use <poll.h> to get poll rather than <sys/poll.h>

POSIX specifies <poll.h> as the standard header that declares the poll
function. Many systems provide <sys/poll.h> to be compatible with historical
practice. Prefer the <poll.h> header over <sys/poll.h> if it is available.

This change is released under the MIT/X11 license.

9 years agoUse <sys/select.h> to get select
Jonas 'Sortie' Termansen [Mon, 23 Jun 2014 22:48:42 +0000 (00:48 +0200)]
Use <sys/select.h> to get select

POSIX mandates that select is declared in <sys/select.h> (and in the header
<sys/time.h> for compatibility). It would be best to include the new header
if it is available. This is already done throughout the source tree, though
not in all instances.

This change is released under the MIT/X11 license.

9 years ago[sgen-gray-queue] Add heavy statistics for allocation, and enqueue/dequeue fast/slow...
Ludovic Henry [Wed, 25 Jun 2014 23:28:07 +0000 (16:28 -0700)]
[sgen-gray-queue] Add heavy statistics for allocation, and enqueue/dequeue fast/slow paths

9 years ago[sgen-gray-queue] Remove compilation warning in mini-gc.c : redefinition of typedef...
Ludovic Henry [Wed, 25 Jun 2014 23:16:13 +0000 (16:16 -0700)]
[sgen-gray-queue] Remove compilation warning in mini-gc.c : redefinition of typedef 'mword'

9 years ago[sgen-binprot,sgen-gray-queue] Add binary_protocol_gray_(en|de)queue and call them...
Ludovic Henry [Wed, 25 Jun 2014 22:36:29 +0000 (15:36 -0700)]
[sgen-binprot,sgen-gray-queue] Add binary_protocol_gray_(en|de)queue and call them on object enqueuing and dequeuing

9 years ago[sgen-protocol] Avoid multiple inclusion of sgen-protocol.h
Ludovic Henry [Wed, 25 Jun 2014 23:06:22 +0000 (16:06 -0700)]
[sgen-protocol] Avoid multiple inclusion of sgen-protocol.h

9 years ago[sgen-gray-queue] Add macros to compute first and last cursor position address on...
Ludovic Henry [Wed, 25 Jun 2014 22:25:52 +0000 (15:25 -0700)]
[sgen-gray-queue] Add macros to compute first and last cursor position address on a section

9 years ago[sgen-gray-queue] Transform GRAY_OBJECT_(EN|DE)QUEUE to always inlined functions
Ludovic Henry [Wed, 25 Jun 2014 21:25:45 +0000 (14:25 -0700)]
[sgen-gray-queue] Transform GRAY_OBJECT_(EN|DE)QUEUE to always inlined functions

9 years ago[sgen-gray-queue] Change from index based to cursor based gray queue access to curren...
Ludovic Henry [Wed, 25 Jun 2014 18:16:09 +0000 (11:16 -0700)]
[sgen-gray-queue] Change from index based to cursor based gray queue access to current element

This patch consist in changing the way we access the current element value in the gray queue. Before, we would save the index of the last element in the queue, then to access to the current value, we would have to make 2 memory access + 1 array offset access. Now we store a pointer to the current element, so we only need 1 memory access, thus reducing the number of memory indirection. We see ~25% speed improvement in major gc collection time on gc-graystack-stress test.

9 years ago[sgen-gray-queue] Add graystack stress test
Ludovic Henry [Fri, 13 Jun 2014 23:26:18 +0000 (19:26 -0400)]
[sgen-gray-queue] Add graystack stress test

9 years ago[jit] Add a MONO_ARCH_HAVE_OP_LREM_IMM define instead of using TARGET_AMD64.
Zoltan Varga [Wed, 25 Jun 2014 17:34:33 +0000 (19:34 +0200)]
[jit] Add a MONO_ARCH_HAVE_OP_LREM_IMM define instead of using TARGET_AMD64.

9 years agoFixed compiler warning introduced in the last commit about redefining typedefs.
Joao Matos [Wed, 25 Jun 2014 17:26:43 +0000 (18:26 +0100)]
Fixed compiler warning introduced in the last commit about redefining typedefs.

Redefinition of typedef 'foo' is a C11 feature [-Wtypedef-redefinition].

9 years agoFixed Mono includes to be able to be included independently.
Joao Matos [Fri, 20 Jun 2014 16:29:05 +0000 (17:29 +0100)]
Fixed Mono includes to be able to be included independently.

9 years agoCleaned up C++ keywords in Mono metadata headers.
Joao Matos [Wed, 18 Jun 2014 15:33:24 +0000 (16:33 +0100)]
Cleaned up C++ keywords in Mono metadata headers.

9 years ago[corlib] Enum::TryParse ignores leading whitespaces. Fixes #20870
Marek Safar [Wed, 25 Jun 2014 15:30:05 +0000 (17:30 +0200)]
[corlib] Enum::TryParse ignores leading whitespaces. Fixes #20870

9 years ago[mcs] Fix array access of value type compound assignment with awaited argument
Marek Safar [Wed, 25 Jun 2014 15:28:43 +0000 (17:28 +0200)]
[mcs] Fix array access of value type compound assignment with awaited argument

9 years ago[xbuild] Add 4.5.1 framework. Fixes #20827
Marek Safar [Wed, 25 Jun 2014 14:51:16 +0000 (16:51 +0200)]
[xbuild] Add 4.5.1 framework. Fixes #20827

9 years ago[mcs] Allow unsafe code in async block when scope does not need variable capturing
Marek Safar [Wed, 25 Jun 2014 13:14:49 +0000 (15:14 +0200)]
[mcs] Allow unsafe code in async block when scope does not need variable capturing

9 years ago[System.Web] Disable AppResourcesCompilerTest for now.
Alex Rønne Petersen [Wed, 25 Jun 2014 11:21:06 +0000 (13:21 +0200)]
[System.Web] Disable AppResourcesCompilerTest for now.

This is a stopgap measure: This test hangs a *lot* on Jenkins
and it's only being disabled to get stable-ish builds. It's
being actively investigated still.

9 years ago[mcs] Add experimental value changes notifications to evaluator
Marek Safar [Tue, 24 Jun 2014 22:01:22 +0000 (00:01 +0200)]
[mcs] Add experimental value changes notifications to evaluator

9 years ago[mcs] Handle side effect constants in await context
Marek Safar [Tue, 24 Jun 2014 14:09:28 +0000 (16:09 +0200)]
[mcs] Handle side effect constants in await context

9 years agoFix a warning.
Zoltan Varga [Wed, 25 Jun 2014 00:13:10 +0000 (02:13 +0200)]
Fix a warning.