[mcs] Workaround MSIL limitation when loading bool elements
[mcs] Fix crash in inherited type parameter interface check
[corlib] Array qsort without head allocation. Fixes #20922
[System] Fixes a warning
[rpm spec] Mono.Web and OpenSystem.C do not exist anymore
[mcs tests] class/Microsoft.JScript does not exist anymore
[mcs tests] Add tests/dlls/*.il to DISTFILES

Without this,

    cd mcs/tests && make run-test

fails when run from a distribution tarball.
Fix a format string warning in decode.c.
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>.
Merge pull request #1135 from kitsilanosoftware/rpm-spec-dead-entries

[rpm spec] Mono.Web and OpenSystem.C do not exist anymore
Merge pull request #1134 from kitsilanosoftware/mcs-tests-dll-il-distfile

[mcs tests] Add tests/dlls/*.il to DISTFILES
[System.IO.Compression] Fixed archive entry opening for non-Create mode archives.
[System.IO.Compression]  Tidy up formatting.
[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.
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.
[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
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.
[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
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.
Fix a format string warning in decode.c.