mono.git
11 years agoDisable LLVM for gsharedvt methods.
Zoltan Varga [Thu, 1 Nov 2012 20:01:18 +0000 (21:01 +0100)]
Disable LLVM for gsharedvt methods.

11 years agoFix the DISABLE_JIT build.
Zoltan Varga [Wed, 31 Oct 2012 23:45:56 +0000 (00:45 +0100)]
Fix the DISABLE_JIT build.

11 years agoAdd minimal gsharedvt support to the tracing code.
Zoltan Varga [Tue, 28 Aug 2012 09:51:26 +0000 (11:51 +0200)]
Add minimal gsharedvt support to the tracing code.

11 years agoPrint more detailed information about call instructions in mono_print_ins ().
Zoltan Varga [Tue, 28 Aug 2012 09:49:27 +0000 (11:49 +0200)]
Print more detailed information about call instructions in mono_print_ins ().

11 years agoAdd gsharedvt support to the JIT and to the trampoline code.
Zoltan Varga [Tue, 28 Aug 2012 09:35:58 +0000 (11:35 +0200)]
Add gsharedvt support to the JIT and to the trampoline code.

11 years agoAdd gsharedvt support functions to the generic sharing code.
Zoltan Varga [Sat, 19 Jan 2013 02:02:45 +0000 (03:02 +0100)]
Add gsharedvt support functions to the generic sharing code.

11 years agoMake MonoGenericSharingContext store whenever type arguments are valuetypes or not.
Zoltan Varga [Fri, 24 Aug 2012 17:29:03 +0000 (19:29 +0200)]
Make MonoGenericSharingContext store whenever type arguments are valuetypes or not.

11 years agoAdd a few new rgctx info types.
Zoltan Varga [Fri, 24 Aug 2012 07:56:34 +0000 (09:56 +0200)]
Add a few new rgctx info types.

11 years agoAdd two wrappers which are used to transition between normal and gsharedvt code.
Zoltan Varga [Fri, 24 Aug 2012 06:40:27 +0000 (08:40 +0200)]
Add two wrappers which are used to transition between normal and gsharedvt code.

11 years agoAdd new GSHAREDVT optimization flag.
Zoltan Varga [Fri, 24 Aug 2012 06:31:39 +0000 (08:31 +0200)]
Add new GSHAREDVT optimization flag.

11 years ago[sgen] Make concurrent mark work with the split nursery.
Mark Probst [Sat, 12 Jan 2013 16:15:28 +0000 (17:15 +0100)]
[sgen] Make concurrent mark work with the split nursery.

11 years agoSilence a lot of warnings on linux.
Rodrigo Kumpera [Fri, 18 Jan 2013 22:28:41 +0000 (17:28 -0500)]
Silence a lot of warnings on linux.

11 years ago[sgen] Fix the fixed-heap + parallel configuration. We did not init vt before checkin...
Rodrigo Kumpera [Fri, 18 Jan 2013 22:27:46 +0000 (17:27 -0500)]
[sgen] Fix the fixed-heap + parallel configuration. We did not init vt before checking it.

11 years agoAdd new test
Marek Safar [Fri, 18 Jan 2013 14:30:29 +0000 (15:30 +0100)]
Add new test

11 years ago[rx] dummy content in Test directory is required (for "make test")
Atsushi Eno [Fri, 18 Jan 2013 13:33:35 +0000 (22:33 +0900)]
[rx] dummy content in Test directory is required (for "make test")

11 years agoFix monodroid build (and likely monotouch too).
Atsushi Eno [Fri, 18 Jan 2013 12:10:49 +0000 (21:10 +0900)]
Fix monodroid build (and likely monotouch too).

11 years agobump internal rx revision.
Atsushi Eno [Fri, 18 Jan 2013 10:43:14 +0000 (19:43 +0900)]
bump internal rx revision.

11 years agoMerge pull request #534 from alesliehughes/master
Marek Safar [Fri, 18 Jan 2013 09:34:54 +0000 (01:34 -0800)]
Merge pull request #534 from alesliehughes/master

Int32Rect operator==,!= and add PropertyValueCollection Property

11 years agoAdd Missing Property PropertyValueCollection.PropertyName
Alistair Leslie-Hughes [Thu, 17 Jan 2013 04:35:29 +0000 (15:35 +1100)]
Add Missing Property PropertyValueCollection.PropertyName

11 years agoImplement Int32Rect operator ==, operator !=
Alistair Leslie-Hughes [Thu, 17 Jan 2013 04:28:18 +0000 (15:28 +1100)]
Implement Int32Rect operator ==, operator !=

11 years agoMerge pull request #530 from jmp75/visualstudio-build
Marek Safar [Fri, 18 Jan 2013 08:31:07 +0000 (00:31 -0800)]
Merge pull request #530 from jmp75/visualstudio-build

First iteration to improve the build process using Visual Studio

11 years agoMerge pull request #532 from alesliehughes/master
Marek Safar [Fri, 18 Jan 2013 08:28:01 +0000 (00:28 -0800)]
Merge pull request #532 from alesliehughes/master

AxHost Changes

11 years agothrow NotSupportException when not on windows
Alistair Leslie-Hughes [Thu, 17 Jan 2013 23:27:56 +0000 (10:27 +1100)]
throw NotSupportException when not on windows

11 years agoCreate ActiveX object
Alistair Leslie-Hughes [Tue, 4 Dec 2012 03:14:17 +0000 (14:14 +1100)]
Create ActiveX object

11 years agoImplement AxHost.InvalidActiveXStateException
Alistair Leslie-Hughes [Tue, 4 Dec 2012 02:58:34 +0000 (13:58 +1100)]
Implement AxHost.InvalidActiveXStateException

11 years agomobile csproj generator needed a lot of fixes to generate buildable projects...
Atsushi Eno [Fri, 18 Jan 2013 06:40:25 +0000 (15:40 +0900)]
mobile csproj generator needed a lot of fixes to generate buildable projects...

11 years ago[sgen]Rework the ephemeron code to not rely on object ranges and make sure it works...
Rodrigo Kumpera [Thu, 17 Jan 2013 20:56:38 +0000 (15:56 -0500)]
[sgen]Rework the ephemeron code to not rely on object ranges and make sure it works with split nursery.

* sgen-gc.c (sgen_is_object_alive): Extract sgen_major_is_object_alive function.

* sgen-gc.c: Add sgen_is_object_alive_for_current_gen and sgen_is_object_alive_and_on_current_collection
functions that handle old objects during nursery collections as either all live or all dead.

* sgen-gc.c (sgen_object_is_live): Use sgen_is_object_alive_and_on_current_collection which is more
robust, handling to-space nurseries and pinned/evacuated old gen objects. Bridge now works with those.

* sgen-gc.c: Get rid of heap range for the ephemeron functions and use sgen_is_object_alive_for_current_gen
which produces the same result, which is treat all old gen objects as alive during a minor collection.

* sgen-gc.c (clear_unreachable_ephemerons): Don't add remsets for elements on arrays they are not really needed
since we scan all ephemerons on all collections.

11 years ago[sgen] Cleanup, remove object ranges for finalization and weak link code, they no...
Rodrigo Kumpera [Thu, 17 Jan 2013 20:18:09 +0000 (15:18 -0500)]
[sgen] Cleanup, remove object ranges for finalization and weak link code, they no longer are needed.

11 years agoAdd test for #9590.
Rodrigo Kumpera [Thu, 17 Jan 2013 19:15:01 +0000 (14:15 -0500)]
Add test for #9590.

11 years agoA weak link target is zeroed before we unregister it. Avoid a race condition if we...
Rodrigo Kumpera [Thu, 17 Jan 2013 17:31:18 +0000 (12:31 -0500)]
A weak link target is zeroed before we unregister it. Avoid a race condition if we suspend in the middle. Fixes #9590

* sgen-fin-weak-hash.c: A mutator thread unregistering a weak link does zero it before staging the
request for unregister. This is done without holding any GC lock, which means it can be stopped at any
point in between.

Storing zero breaks because REVEAL_POINTER xors the value resulting in an invalid pointer and code walking
the weak table tries to poke that pointer. Encoding hidden zero (IOW -1) does not work either because we range
check those values and for the major collection we pass (0, ~0) as the valid range.

11 years ago[rx] add missing project file generator helper files.
Atsushi Eno [Thu, 17 Jan 2013 19:23:41 +0000 (04:23 +0900)]
[rx] add missing project file generator helper files.

11 years agoupdate rx import source builder to build csproj files for mobile profiles too.
Atsushi Eno [Thu, 17 Jan 2013 18:59:58 +0000 (03:59 +0900)]
update rx import source builder to build csproj files for mobile profiles too.

11 years agoMake Is64BitProcess internal to avoid mobile define
Marek Safar [Thu, 17 Jan 2013 16:56:00 +0000 (17:56 +0100)]
Make Is64BitProcess internal to avoid mobile define

11 years ago[sgen] Remove the copying major collector.
Mark Probst [Wed, 16 Jan 2013 22:34:41 +0000 (23:34 +0100)]
[sgen] Remove the copying major collector.

This probably isn't even working anymore, and it's not useful anymore.

11 years agoRevert "Make monodoc 4.5 only it has no 4.0 specific api". It's intentional that...
Jérémie Laval [Wed, 16 Jan 2013 22:13:14 +0000 (22:13 +0000)]
Revert "Make monodoc 4.5 only it has no 4.0 specific api". It's intentional that monodoc has a 4.0 compiled version too.

Some project (namely MonoDevelop) depends on a 4.0 monodoc.dll version.

This reverts commit 3fa0abaca8deb2609c104888df8039f021d7a4cd.

11 years agoRemove tracking link hashtables no longer used by boehm.
Rodrigo Kumpera [Wed, 16 Jan 2013 20:40:54 +0000 (15:40 -0500)]
Remove tracking link hashtables no longer used by boehm.

11 years agoBoehm now supports long links.
Rodrigo Kumpera [Wed, 16 Jan 2013 20:06:02 +0000 (15:06 -0500)]
Boehm now supports long links.

* gc.c: mono_gc_weak_link_remove must now take a bool to signal if it's
a tracking or non tracking link. This is due to a limitation in how tracking
links are implemented in boehm in that it cannot discover the kind on its own.

* gc.c:
* boehm-gc.c: Remove all tracking link hacks now that boehm has proper support
for it.

11 years agoAdd long links support to Boehm.
Rodrigo Kumpera [Wed, 16 Jan 2013 19:58:56 +0000 (14:58 -0500)]
Add long links support to Boehm.

* gc.h: Added parts of boehm 7.3a long link API.

* finalize.c (GC_finalize): Implemented long link support by adapting
code from boehm 7.3a.
The idea is to have two table of links, one for regular and another
for the long links. Regular links are processed before finalization
and the long ones right after. The bulk of the changes are abstracting
the disappearing link hashtable into a data structure so we can have
two of them.

Boehm code came from github.com/ivmai/bdwgc.git. Authors of the
relevant changes are Zach Saw and Ivan Maidanski.

11 years agoMake monodoc 4.5 only it has no 4.0 specific api
Marek Safar [Wed, 16 Jan 2013 16:21:13 +0000 (17:21 +0100)]
Make monodoc 4.5 only it has no 4.0 specific api

11 years agoChange is_number parsing to peak instead of putting back to avoid double putback...
Marek Safar [Wed, 16 Jan 2013 16:12:02 +0000 (17:12 +0100)]
Change is_number parsing to peak instead of putting back to avoid double putback. Fixes #9559

11 years agoCheck if the thread suspend correctly. Fixes shutdown race in mono testsuite.
Rodrigo Kumpera [Wed, 16 Jan 2013 00:45:57 +0000 (19:45 -0500)]
Check if the thread suspend correctly. Fixes shutdown race in mono testsuite.

11 years agoWait for the finalizer thread to actually exit before shutting down. Fixes #4389.
Zoltan Varga [Tue, 15 Jan 2013 23:31:13 +0000 (00:31 +0100)]
Wait for the finalizer thread to actually exit before shutting down. Fixes #4389.

11 years agoRemove some special case code from mono_image_get_fieldref_token () which no longer...
Zoltan Varga [Mon, 14 Jan 2013 21:14:55 +0000 (22:14 +0100)]
Remove some special case code from mono_image_get_fieldref_token () which no longer seems to be needed. Fixes #9531.

11 years ago[monodoc] Move to /class instead of /tools and re-enable compilation for 4.0 profile.
Jeremie Laval [Mon, 14 Jan 2013 18:01:58 +0000 (18:01 +0000)]
[monodoc] Move to /class instead of /tools and re-enable compilation for 4.0 profile.

11 years agoMake pdb2mdb handle the 0xfeefee MS line number convention. Fixes #5249.
Zoltan Varga [Mon, 14 Jan 2013 17:52:39 +0000 (18:52 +0100)]
Make pdb2mdb handle the 0xfeefee MS line number convention. Fixes #5249.

11 years agoInflate explicit interface implementation generic method parameters in correct contex...
Marek Safar [Mon, 14 Jan 2013 14:11:16 +0000 (15:11 +0100)]
Inflate explicit interface implementation generic method parameters in correct context. Fixes #9443

11 years agoCheck source files without path as well when using MOD_KIND_SOURCE_FILE_ONLY modifier...
Zoltan Varga [Mon, 14 Jan 2013 14:36:10 +0000 (15:36 +0100)]
Check source files without path as well when using MOD_KIND_SOURCE_FILE_ONLY modifiers in sdb.

11 years agoRework how defined interfaces are expanded. Fixes #9429 and few more corner cases.
Marek Safar [Mon, 14 Jan 2013 10:15:18 +0000 (11:15 +0100)]
Rework how defined interfaces are expanded. Fixes #9429 and few more corner cases.

11 years agoUse Length instead of Count
Marek Safar [Fri, 11 Jan 2013 16:07:56 +0000 (17:07 +0100)]
Use Length instead of Count

11 years agoDo expansion of generic interfaces members without recursion
Marek Safar [Fri, 11 Jan 2013 13:09:03 +0000 (14:09 +0100)]
Do expansion of generic interfaces members without recursion

11 years agoReport less cascading errors
Marek Safar [Thu, 10 Jan 2013 15:33:14 +0000 (16:33 +0100)]
Report less cascading errors

11 years agoFix stack overflow when reporting circular type errors
Marek Safar [Thu, 10 Jan 2013 14:48:55 +0000 (15:48 +0100)]
Fix stack overflow when reporting circular type errors

11 years ago[sgen] Bugfix: Don't lose global remsets with the split nursery.
Mark Probst [Sun, 13 Jan 2013 22:05:47 +0000 (23:05 +0100)]
[sgen] Bugfix: Don't lose global remsets with the split nursery.

11 years agoFIX: doubling up on curly braces around GUIDs in the solution files
Jean-Michel Perraud [Sun, 13 Jan 2013 08:52:33 +0000 (19:52 +1100)]
FIX: doubling up on curly braces around GUIDs in the solution files

Ongoing work to handle the PrebuiltSystem alias and to figure out what to do where no prior matching assembly name exists

11 years agoAdd support for [LinkSafe] attribute
Sebastien Pouliot [Sun, 13 Jan 2013 00:15:26 +0000 (19:15 -0500)]
Add support for [LinkSafe] attribute

11 years ago[sgen] Flag in minor collector struct for whether it's split or not.
Mark Probst [Sat, 12 Jan 2013 15:35:06 +0000 (16:35 +0100)]
[sgen] Flag in minor collector struct for whether it's split or not.

We need this flag later to make split nursery work with
concurrent mark.

11 years ago[sgen] Only protocol/DTrace pinning when we actually pin.
Mark Probst [Sat, 12 Jan 2013 15:32:57 +0000 (16:32 +0100)]
[sgen] Only protocol/DTrace pinning when we actually pin.

11 years agoAdd beginnings of a managed IL disassembler which uses Mono.Cecil. Not yet part of...
Zoltan Varga [Sat, 12 Jan 2013 12:03:45 +0000 (13:03 +0100)]
Add beginnings of a managed IL disassembler which uses Mono.Cecil. Not yet part of the build.

11 years agoAdd changes to the main Makefile.am, not only Makefile which is not versioned
Jean-Michel Perraud [Sat, 12 Jan 2013 01:52:33 +0000 (12:52 +1100)]
Add changes to the main Makefile.am, not only Makefile which is not versioned

11 years ago[WCF]: Make HttpTransportSecurity's .ctor public on mobile.
Martin Baulig [Sat, 12 Jan 2013 00:26:18 +0000 (01:26 +0100)]
[WCF]: Make HttpTransportSecurity's .ctor public on mobile.

11 years ago[WCF]: .NET 4.0 API fixes.
Martin Baulig [Fri, 11 Jan 2013 16:03:06 +0000 (17:03 +0100)]
[WCF]: .NET 4.0 API fixes.

11 years ago[WCF]: BasicHttpBinding API changes for .NET 4.5
Martin Baulig [Fri, 11 Jan 2013 23:49:52 +0000 (00:49 +0100)]
[WCF]: BasicHttpBinding API changes for .NET 4.5

Add missing mobile conditionals that were missing in commit 8e4dc61.

11 years agoAvoid overflow in SortedList binary search for huge instances. Fixes #4328.
Rodrigo Kumpera [Fri, 11 Jan 2013 21:42:36 +0000 (16:42 -0500)]
Avoid overflow in SortedList binary search for huge instances. Fixes #4328.

11 years agoDirectoryInfo should update its internal values when MoveTo is called. Fixes #7653.
Rodrigo Kumpera [Fri, 11 Jan 2013 21:06:45 +0000 (16:06 -0500)]
DirectoryInfo should update its internal values when MoveTo is called. Fixes #7653.

11 years ago[sgen] DTrace probe for when a GC is requested.
Mark Probst [Tue, 8 Jan 2013 20:11:40 +0000 (21:11 +0100)]
[sgen] DTrace probe for when a GC is requested.

11 years ago[sgen] Don't report that we need a major collection while one is in progress.
Mark Probst [Tue, 8 Jan 2013 20:09:39 +0000 (21:09 +0100)]
[sgen] Don't report that we need a major collection while one is in progress.

This caused us to stop the world unnecessarily during concurrent
collections, only to realize that nothing needed to be done.

11 years agoCorrectly handle clock going back in time when caching datetime and timezone informat...
Rodrigo Kumpera [Fri, 11 Jan 2013 16:24:39 +0000 (11:24 -0500)]
Correctly handle clock going back in time when caching datetime and timezone information. Fixes #8504.

* DateTime.cs:
* TimeZone.cs: The caching code should take into account the possibility of the clock
going back in time.

11 years agoAdd beginnings of a tool to dump the contents of .mdb files. Currently, only the...
Zoltan Varga [Fri, 11 Jan 2013 13:39:37 +0000 (14:39 +0100)]
Add beginnings of a tool to dump the contents of .mdb files. Currently, only the line number tables are dumped. Not yet part of the build.

11 years ago[sgen] MONO_GC_DEBUG option for checking mark bit consistency.
Mark Probst [Fri, 11 Jan 2013 12:21:44 +0000 (13:21 +0100)]
[sgen] MONO_GC_DEBUG option for checking mark bit consistency.

11 years ago[sgen] Bugfix: Actually sweep blocks when doing concurrent mark.
Mark Probst [Fri, 11 Jan 2013 00:54:11 +0000 (01:54 +0100)]
[sgen] Bugfix: Actually sweep blocks when doing concurrent mark.

11 years ago[sgen] Add a missing binary protocol call.
Mark Probst [Fri, 11 Jan 2013 00:50:12 +0000 (01:50 +0100)]
[sgen] Add a missing binary protocol call.

11 years ago[sgen] Bugfix: When scanning mod table, follow major->major references.
Mark Probst [Fri, 11 Jan 2013 00:49:42 +0000 (01:49 +0100)]
[sgen] Bugfix: When scanning mod table, follow major->major references.

11 years ago[sgen] More information in describe_ptr(), and unify with describe_pointer().
Mark Probst [Fri, 11 Jan 2013 00:30:08 +0000 (01:30 +0100)]
[sgen] More information in describe_ptr(), and unify with describe_pointer().

11 years ago[sgen] Binary protocol entry for card scanning.
Mark Probst [Fri, 11 Jan 2013 00:20:53 +0000 (01:20 +0100)]
[sgen] Binary protocol entry for card scanning.

11 years ago[msbuild] Fix import set to expected path when invalid imports are allowed.
Atsushi Eno [Fri, 11 Jan 2013 11:43:53 +0000 (20:43 +0900)]
[msbuild] Fix import set to expected path when invalid imports are allowed.

It was failing to resolve <Import> to correct path because it allowed
invalid imports too early in Import.ForEachExtensionPathTillFound().

It is due to Project.AddSingleImport() that checks if invalid imports
can be ignored by load setting. But simply removing this check results
in regressions in nunit tests that fails to report required invalid imports.

This bug was one of the blockers to build fsharp-droid from xbuild:
https://github.com/fahadsuhaib/fsharp-droid

11 years agoApplied patch from Tal Aloni <tal.aloni.il@gmail.com>. Fix building with VS2010.
Zoltan Varga [Fri, 11 Jan 2013 10:50:26 +0000 (11:50 +0100)]
Applied patch from Tal Aloni <tal.aloni.il@gmail.com>. Fix building with VS2010.

11 years agoAllow array fields with marshal descriptions in can_marshal_struct (), so PtrToStruct...
Zoltan Varga [Fri, 11 Jan 2013 10:06:37 +0000 (11:06 +0100)]
Allow array fields with marshal descriptions in can_marshal_struct (), so PtrToStructure/StructureToPtr wrappers are generated for them when using full-aot. Fixes #9408.

11 years agoMOBILE now builds with 4.0 enabled but its version remains 2.0.5.0.
Rodrigo Kumpera [Thu, 10 Jan 2013 23:11:30 +0000 (18:11 -0500)]
MOBILE now builds with 4.0 enabled but its version remains 2.0.5.0.

* Consts.cs.in: We must check for mobile before 4.0 to make sure
we don't end up with a 4.0.0.0 mobile BCL.

11 years agominor refactor for solution files names generation
Jean-Michel Perraud [Thu, 10 Jan 2013 22:55:57 +0000 (09:55 +1100)]
minor refactor for solution files names generation

11 years agoMerge pull request #517 from getsometoast/master
Rodrigo Kumpera [Thu, 10 Jan 2013 17:28:22 +0000 (09:28 -0800)]
Merge pull request #517 from getsometoast/master

[System.Data.SqlClient] Support for "Connection Lifetime" parameter

11 years agoDocument the Visual Studio csproj and .sln generation, tidy up/fixes. Getting ready...
Jean-Michel Perraud [Wed, 9 Jan 2013 23:58:15 +0000 (10:58 +1100)]
Document the Visual Studio csproj and .sln generation, tidy up/fixes. Getting ready for a pull request.

11 years agoMerge remote-tracking branch 'upstream/master'
Jean-Michel Perraud [Wed, 9 Jan 2013 23:53:17 +0000 (10:53 +1100)]
Merge remote-tracking branch 'upstream/master'

11 years ago[corlib] Handle overflow correctly in Timer to avoid spinning. Fixes #8782
Rodrigo Kumpera [Wed, 9 Jan 2013 21:27:00 +0000 (16:27 -0500)]
[corlib] Handle overflow correctly in Timer to avoid spinning. Fixes #8782

* Timer.cs: Very long timers can lead to timeout values that are
bigger than Int32.MaxValue, leading to a negative value and us
spinning.

11 years ago[bcl] Add 4.0 and 4.5 defines to monodroid's bcl.
Rodrigo Kumpera [Wed, 9 Jan 2013 20:26:06 +0000 (15:26 -0500)]
[bcl] Add 4.0 and 4.5 defines to monodroid's bcl.

11 years ago[bcl] Build System.Data.Services.Client monodroid profile in the same way we do the...
Rodrigo Kumpera [Wed, 9 Jan 2013 20:25:25 +0000 (15:25 -0500)]
[bcl] Build System.Data.Services.Client monodroid profile in the same way we do the monotouch one.

11 years ago[profiler]Explicitly include <sys/syscall.h> when using perf on linux.
Rodrigo Kumpera [Wed, 9 Jan 2013 20:23:27 +0000 (15:23 -0500)]
[profiler]Explicitly include <sys/syscall.h> when using perf on linux.

* proflog.c: We include it to fix mobile builds as the definition was missing otherwise.

11 years agoBump mono to 3.0.4
Duncan Mak [Tue, 8 Jan 2013 20:35:20 +0000 (15:35 -0500)]
Bump mono to 3.0.4

11 years agoLockFile() should error with ERROR_INVALID_PARAMETER on overflow
Jonathan Pryor [Wed, 9 Jan 2013 16:59:09 +0000 (11:59 -0500)]
LockFile() should error with ERROR_INVALID_PARAMETER on overflow

Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=9411

What was happening was that this code:

var file = new FileStream (...);
file.Lock (0, long.MaxValue);

was failing on Android (a non-large file platform):

System.IO.IOException: Lock violation on path...

The fact that it errored is correct. The problem is that the error
isn't particularly helpful and is misleading; WHY is there a lock
violation? There isn't a lock violation; the parameters are
invalid.

Why are the parameters invalid? Because `long.MaxValue` was used as
the `length`, which resulted in an `off_t` value of -1 [0] for the
file lock length, which fcntl(2) (rightfully!) errored on.

Update _wapi_lock_file_region()/LockFile() to check for negative
values and set ERROR_INVALID_PARAMETER when invalid values are used.
This will cause an "IOException: Invalid parameter" message, instead
of an "IOException: Lock violation on path" message, which is
considerably more useful.

Related: we noticed that the generation of `offset` and `length` in
LockFile()'s !HAVE_LARGE_FILE_SUPPORT region are incorrect, e.g. this
is broken:

length = length_low;

Assume a `file.Lock(0, 0x100000000L)` invocation. After splitting,
offset_high will be 0x1 and offset_low will be 0x0, so length is 0x0,
which is not semantically correct (it's not at all what the developer
requested!), yet it would result in a successful fcntl(2) call
(because length_high is ignored).

Add an explicit check for length_high and offset_high when
HAVE_LARGE_FILE_SUPPORT isn't set and error out if they're > 0, which
will catch this case.

[0]: fcntl(2) uses off_t for file offset and file lock length,
and off_t is a signed type:

http://www.unix.org/version2/whatsnew/lfs.html#2.2.2.6
> The types blkcnt_t and off_t are defined as extended signed integral types.

11 years agoFix bug 9193 - XmlSerialization not properly deserializing a List
Lluis Sanchez [Wed, 9 Jan 2013 12:54:47 +0000 (13:54 +0100)]
Fix bug 9193 - XmlSerialization not properly deserializing a List

11 years agoAdd some unit tests for bug 9193
Lluis Sanchez [Wed, 9 Jan 2013 11:21:34 +0000 (12:21 +0100)]
Add some unit tests for bug 9193

11 years agoupdate rx (now includes mobile test solutions that should build).
Atsushi Eno [Wed, 9 Jan 2013 12:31:05 +0000 (21:31 +0900)]
update rx (now includes mobile test solutions that should build).

11 years agoFix the check for autoheader in eglib/autogen.sh and libgc/autogen.sh too.
Zoltan Varga [Wed, 9 Jan 2013 12:16:42 +0000 (13:16 +0100)]
Fix the check for autoheader in eglib/autogen.sh and libgc/autogen.sh too.

11 years agoAvoid an assert if seq points are not found for a method in compute_frame_info ().
Zoltan Varga [Wed, 9 Jan 2013 12:07:18 +0000 (13:07 +0100)]
Avoid an assert if seq points are not found for a method in compute_frame_info ().

11 years agoFix the check for autoheader in autogen.sh.
Zoltan Varga [Wed, 9 Jan 2013 10:34:41 +0000 (11:34 +0100)]
Fix the check for autoheader in autogen.sh.

11 years agoRemove automake macros obsoleted by automake 1.13. Fixes #9324.
Zoltan Varga [Tue, 8 Jan 2013 22:29:31 +0000 (23:29 +0100)]
Remove automake macros obsoleted by automake 1.13. Fixes #9324.

11 years agoRemove NET_2_1 default (broken) context
Marek Safar [Tue, 8 Jan 2013 16:27:19 +0000 (17:27 +0100)]
Remove NET_2_1 default (broken) context

11 years agoGuid value fix
Marek Safar [Tue, 8 Jan 2013 09:22:40 +0000 (10:22 +0100)]
Guid value fix

11 years agoRun On*Completed events on original context
Marek Safar [Tue, 8 Jan 2013 09:22:17 +0000 (10:22 +0100)]
Run On*Completed events on original context

11 years agoAccept Version == 0 as valid (just like 1) when verifying a counter signature. Fix...
Sebastien Pouliot [Mon, 7 Jan 2013 16:48:32 +0000 (11:48 -0500)]
Accept Version == 0 as valid (just like 1) when verifying a counter signature. Fix bug #8401

11 years agosolution and VS project file generation improvements. Get solutions that include...
per202 [Mon, 7 Jan 2013 12:15:16 +0000 (23:15 +1100)]
solution and VS project file generation improvements. Get solutions that include assemblies related to a particular profile, and their dependencies. Currently at a stage where most of the System.* for .NET 2.0 compile (although the assemblies end up targeting v4.0 runtime)