mono.git
8 years ago[runtime] MonoError-ize mono_ldstr_metadata_sig
Aleksey Kliger [Fri, 8 Apr 2016 18:47:20 +0000 (14:47 -0400)]
[runtime] MonoError-ize mono_ldstr_metadata_sig

8 years ago[runtime] MonoError-ize mono_string_new_len
Aleksey Kliger [Fri, 8 Apr 2016 18:17:26 +0000 (14:17 -0400)]
[runtime] MonoError-ize mono_string_new_len

Mark it external only.  Runtime should use mono_string_new_len_checked.

8 years ago[runtime] MonoError-ize mono_wait_handle_new
Aleksey Kliger [Fri, 8 Apr 2016 16:16:09 +0000 (12:16 -0400)]
[runtime] MonoError-ize mono_wait_handle_new

8 years ago[runtime] MonoError-ize mono_array_new_cached
Aleksey Kliger [Fri, 8 Apr 2016 15:56:27 +0000 (11:56 -0400)]
[runtime] MonoError-ize mono_array_new_cached

8 years ago[runtime] MonoError-ize mono_array_new
Aleksey Kliger [Thu, 7 Apr 2016 23:25:53 +0000 (19:25 -0400)]
[runtime] MonoError-ize mono_array_new

Mark it external only.

Runtime should use mono_array_new_checked.
The icall is ves_icall_array_new.

8 years ago[runtime] object.c don't raise in external only functions
Aleksey Kliger [Thu, 7 Apr 2016 19:15:36 +0000 (15:15 -0400)]
[runtime] object.c don't raise in external only functions

- Variants of mono_object_new
- mono_object_clone
- mono_array_new_full

All these functions have _checked variants that are used by the runtime.

8 years ago[runtime] MonoError-ize mono_array_clone
Aleksey Kliger [Thu, 7 Apr 2016 17:15:45 +0000 (13:15 -0400)]
[runtime] MonoError-ize mono_array_clone

1. Mark mono_array_clone external only.  Runtime should use
  mono_array_clone_checked.
2. Add MonoError* arg to mono_array_clone_in_domain.
3. Separate ves_icall_System_Array_Clone

8 years ago[runtime] Mark mono_object_new_from_token external only.
Aleksey Kliger [Thu, 7 Apr 2016 16:58:34 +0000 (12:58 -0400)]
[runtime] Mark mono_object_new_from_token external only.

Does not appear to be used in the runtime.
Changed it not to raise exceptions.

8 years ago[runtime] Set pending, don't raise, in object.c icalls
Aleksey Kliger [Thu, 7 Apr 2016 16:57:04 +0000 (12:57 -0400)]
[runtime] Set pending, don't raise, in object.c icalls

8 years ago[runtime] MonoError-ize mono_object_xdomain_representation
Aleksey Kliger [Wed, 6 Apr 2016 21:03:34 +0000 (17:03 -0400)]
[runtime] MonoError-ize mono_object_xdomain_representation

8 years ago[runtime] MonoError-ize mono_property_get_value
Aleksey Kliger [Fri, 1 Apr 2016 23:56:29 +0000 (19:56 -0400)]
[runtime] MonoError-ize mono_property_get_value

Mark it external only.  Runtime should use mono_property_get_value_checked.

8 years ago[runtime] MonoError-ize mono_property_set_value
Aleksey Kliger [Fri, 1 Apr 2016 20:21:51 +0000 (16:21 -0400)]
[runtime] MonoError-ize mono_property_set_value

Mark it external only.  Runtime should use
mono_property_set_value_checked.

Note: mono_property_set_value_checked always catches exceptions from
managed code and threads them out via MonoError.

8 years ago[runtime] Don't raise exns, set pending exception
Aleksey Kliger [Fri, 1 Apr 2016 20:11:20 +0000 (16:11 -0400)]
[runtime] Don't raise exns, set pending exception

8 years ago[runtime] MonoError-ize mono_runtime_create_jump_trampoline
Aleksey Kliger [Fri, 1 Apr 2016 00:27:10 +0000 (20:27 -0400)]
[runtime] MonoError-ize mono_runtime_create_jump_trampoline

8 years ago[attach] Don't raise in mono_attach_load_agent
Aleksey Kliger [Thu, 31 Mar 2016 21:00:34 +0000 (17:00 -0400)]
[attach] Don't raise in mono_attach_load_agent

8 years agoMerge pull request #2806 from lambdageek/dev/monoerror-marshal_remote
monojenkins [Tue, 19 Apr 2016 21:50:30 +0000 (22:50 +0100)]
Merge pull request #2806 from lambdageek/dev/monoerror-marshal_remote

[runtime] MonoError-ize marshal and remoting code

Get rid of calls to `mono_raise_exception` in marshaling and remoting code.

8 years ago[System.Configuration] Fail tests on standalone error
Marek Safar [Tue, 19 Apr 2016 21:24:12 +0000 (23:24 +0200)]
[System.Configuration] Fail tests on standalone error

8 years ago[System.Configuration] re-enable standalone tests
Marek Safar [Tue, 19 Apr 2016 21:10:21 +0000 (23:10 +0200)]
[System.Configuration] re-enable standalone tests

8 years ago[runtime] Remove use of mono_raise_exception in mono_object_isinst_mbyref_checked
Aleksey Kliger [Mon, 28 Mar 2016 19:04:42 +0000 (15:04 -0400)]
[runtime] Remove use of mono_raise_exception in mono_object_isinst_mbyref_checked

8 years ago[remoting] Remove calls to mono_raise_exception
Aleksey Kliger [Tue, 29 Mar 2016 16:45:02 +0000 (12:45 -0400)]
[remoting] Remove calls to mono_raise_exception

1. MonoError-ize mono_remoting_wrapper icall.
   This is a bit this method is allowed to use
   mono_error_raise_exception: it is called from a
   MONO_WRAPPER_REMOTING_INVOKE method which is considered a "protected
   wrapper" in which the usual pending exception interruption check is a no-op.
2. Use mono_set_pending_exception in mono_marshal_set_domain_by_id icall

fixup f5dc934

8 years ago[mcs] Don't do empty array interpolation on user code, weird code expects empty array...
Marek Safar [Tue, 19 Apr 2016 17:14:44 +0000 (19:14 +0200)]
[mcs] Don't do empty array interpolation on user code, weird code expects empty array not to be equal

8 years ago[symbolicate] Switch to Cecil backend
Marek Safar [Tue, 19 Apr 2016 13:26:02 +0000 (15:26 +0200)]
[symbolicate] Switch to Cecil backend

8 years ago[monosymbolicate] Small cleanups
Marek Safar [Mon, 18 Apr 2016 19:19:45 +0000 (21:19 +0200)]
[monosymbolicate] Small cleanups

8 years agoSupport custom Xamarin Android HttpClient handler
Marek Habersack [Wed, 13 Apr 2016 07:12:08 +0000 (09:12 +0200)]
Support custom Xamarin Android HttpClient handler

Make it possible to select a default System.Net.HttpClient handler
on Android. Selection of the handler is handled on the Xamarin Android
side.

8 years agoMerge pull request #2863 from alexrp/windows-critsect-debug-info
Alex Rønne Petersen [Tue, 19 Apr 2016 09:48:24 +0000 (11:48 +0200)]
Merge pull request #2863 from alexrp/windows-critsect-debug-info

[utils/mutex] Initialize Win32 critical sections without debug info.

8 years ago[offsets-tool] Fix path to Options.cs
Rolf Bjarne Kvinge [Tue, 19 Apr 2016 08:41:25 +0000 (10:41 +0200)]
[offsets-tool] Fix path to Options.cs

8 years agoMerge pull request #2919 from lewurm/random-mini-stuff
monojenkins [Tue, 19 Apr 2016 07:15:21 +0000 (08:15 +0100)]
Merge pull request #2919 from lewurm/random-mini-stuff

Random mini stuff

@monojenkins merge

8 years ago[io-layer] Fail to modification time if it's beyond the limit allowed by the system...
Rodrigo Kumpera [Tue, 19 Apr 2016 00:03:26 +0000 (17:03 -0700)]
[io-layer] Fail to modification time if it's beyond the limit allowed by the system. Fixes #40368

This is the case for 32bits OSX that uses 32bits time_t for everything.

8 years agoMerge pull request #2821 from lambdageek/dev/monoerror-assembly
Aleksey Kliger (λgeek) [Mon, 18 Apr 2016 22:02:47 +0000 (18:02 -0400)]
Merge pull request #2821 from lambdageek/dev/monoerror-assembly

[assembly loader] Don't raise in mono_assembly_open_full and mono_assembly_load_with_partial_name

8 years agoMerge pull request #2910 from cptjazz/compiler_warnings
monojenkins [Mon, 18 Apr 2016 22:00:48 +0000 (23:00 +0100)]
Merge pull request #2910 from cptjazz/compiler_warnings

Fix undefined behaviour in left-shift.

This PR fixes a left-shift that relied on undefined behaviour.

Clang emitted the following warning (prior to this patch):
```
sgen-descriptor.c:189:54: warning: shifting a negative signed value is undefined [-Wshift-negative-value]
   return desc | VECTOR_SUBTYPE_REFS | ((gssize)(-1) << 16);
                                        ~~~~~~~~~~~~ ^
```

8 years ago[debug] print exception name for conditional exception OP
Bernhard Urban [Tue, 12 Apr 2016 18:37:38 +0000 (11:37 -0700)]
[debug] print exception name for conditional exception OP

8 years ago[runtime] MonoError-ize mono_store_remote_field_new
Aleksey Kliger [Tue, 29 Mar 2016 16:38:51 +0000 (12:38 -0400)]
[runtime] MonoError-ize mono_store_remote_field_new

Mark mono_store_remote_field_new external only.
Runtime should use mono_store_remote_field_new_checked.
Change mono_marshal_get_stfld_remote_wrapper to use
mono_store_remote_field_new_icall instead of a native call.

8 years ago[runtime] MonoError-ize mono_store_remote_field
Aleksey Kliger [Tue, 29 Mar 2016 16:15:33 +0000 (12:15 -0400)]
[runtime] MonoError-ize mono_store_remote_field

Marked it external only.
Runtime should use mono_store_remote_field_checked.

8 years ago[runtime] MonoError-ize mono_load_remote_field_new
Aleksey Kliger [Mon, 28 Mar 2016 22:18:34 +0000 (18:18 -0400)]
[runtime] MonoError-ize mono_load_remote_field_new

Add mono_load_remote_field_new_checked.  Mark mono_load_remote_field_new
external only.  Add icall mono_load_remote_field_new_icall and use it in
remoting wrappers.

8 years ago[runtime] Add mono_load_remote_field_checked
Aleksey Kliger [Mon, 28 Mar 2016 21:25:43 +0000 (17:25 -0400)]
[runtime] Add mono_load_remote_field_checked

Update it to use MonoError.

Mark mono_load_remote_field external only.

8 years ago[runtime] MonoError-ize mono_method_return_message_restore
Aleksey Kliger [Mon, 28 Mar 2016 19:10:15 +0000 (15:10 -0400)]
[runtime] MonoError-ize mono_method_return_message_restore

8 years agoMerge pull request #2814 from lambdageek/dev/monoerror-appdomain
monojenkins [Mon, 18 Apr 2016 19:15:22 +0000 (20:15 +0100)]
Merge pull request #2814 from lambdageek/dev/monoerror-appdomain

[appdomain] Cleanup MonoError code

1. Assert in mono_get_corlib_version instead of raising an exn.
2. Don't raise in mono_domain_create_appdomain external API function.
3. Assert in mono_domain_assembly_postload_search instead of raising.
4. Don't raise in mono_domain_fire_assembly_load.
5. Use mono_error_set_pending_exception in
   ves_icall_System_AppDomain_InternalGetProcessGuid
6. Dont' raise in unload_thread_main, populate unload_data instead.

8 years agoBump version in configure.ac
Alexander Köplinger [Mon, 18 Apr 2016 18:22:56 +0000 (20:22 +0200)]
Bump version in configure.ac

8 years ago[marshal] use meaningful constant instead of hard coded value
Bernhard Urban [Thu, 7 Apr 2016 22:08:34 +0000 (15:08 -0700)]
[marshal] use meaningful constant instead of hard coded value

8 years ago[jit] Fix the linking of bblocks in mono_replace_ins () by avoiding iterating over...
Zoltan Varga [Mon, 18 Apr 2016 17:26:55 +0000 (13:26 -0400)]
[jit] Fix the linking of bblocks in mono_replace_ins () by avoiding iterating over an array which is modified in place by mono_unlink_bblock ().

8 years ago[tools] Add aot offsets generation tool.
Rolf Bjarne Kvinge [Mon, 18 Apr 2016 15:12:20 +0000 (17:12 +0200)]
[tools] Add aot offsets generation tool.

List of original contributors:

Marek Habersack <grendel@twistedcode.net>
João Matos <joao@tritao.eu>
Zoltan Varga <vargaz@gmail.com>
Rolf Bjarne Kvinge <rolf@xamarin.com>

8 years agoMerge pull request #2916 from ludovic-henry/fix-40306
Ludovic Henry [Mon, 18 Apr 2016 16:58:42 +0000 (18:58 +0200)]
Merge pull request #2916 from ludovic-henry/fix-40306

[threadpool-io] Fix crash on shutdownin System.Net.Sockets.Socket:Close_internal

8 years agoMerge pull request #2915 from poedgirl/master
monojenkins [Mon, 18 Apr 2016 14:05:26 +0000 (15:05 +0100)]
Merge pull request #2915 from poedgirl/master

Added support for SHA256, 384 and 512 in AuthenticodeDeformatter.

Due to the changes introduced by Microsoft to require signing with stronger algorithms, SHA-256, SHA-384 and SHA-512 support was needed.

This change is released under the MIT license.

8 years ago[threadpool-io] Fix crash on shutdownin System.Net.Sockets.Socket:Close_internal
Ludovic Henry [Mon, 18 Apr 2016 13:40:44 +0000 (15:40 +0200)]
[threadpool-io] Fix crash on shutdownin System.Net.Sockets.Socket:Close_internal

There could be a race between System.Net.Sockets.Socket:Close_internal and the io threadpool cleanup, which would lead to a native crash. That's because the io threadpool cleanup would clean the mutex, condition variables as well as close the sockets.

The easiest way to fix that is by cleaning only what's going to stop the runtime from shutting down, and in this case the background selector thread. The same is done for the threadpool where we just shutdown the monitor thread and the worker threads.

8 years agoAdded support for SHA256, 384 and 512 in AuthenticodeDeformatter.
Michelle Allen [Mon, 18 Apr 2016 08:31:10 +0000 (16:31 +0800)]
Added support for SHA256, 384 and 512 in AuthenticodeDeformatter.

Due to the changes introduced by Microsoft to require signing with stronger algorithms, SHA-256, SHA-384 and SHA-512 support was needed.

This change is released under the MIT license.

8 years agoMerge pull request #2897 from kumpera/marshal_fixes
monojenkins [Mon, 18 Apr 2016 05:00:21 +0000 (06:00 +0100)]
Merge pull request #2897 from kumpera/marshal_fixes

[marshal] Ensure marshal code emit the right indirect store when dealing with ref types.

The marshal code was using CEE_STIND_I for a lot of ref stores. This would not
generate a WB and is a heap corruption vector.

8 years agoImplement mono_threads_core_set_name() on NetBSD (#2914)
Kamil Rytarowski [Mon, 18 Apr 2016 01:55:53 +0000 (03:55 +0200)]
Implement mono_threads_core_set_name() on NetBSD (#2914)

Part of man-page showing this interface:

PTHREAD_GETNAME_NP(3)      Library Functions Manual      PTHREAD_GETNAME_NP(3)

NAME
     pthread_getname_np - get and set descriptive name of a thread

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread.h>

     int
     pthread_getname_np(pthread_t thread, char *name, size_t len);

     int
     pthread_setname_np(pthread_t thread, const char *name, void *arg);

   -- pthread_setname_np(3)

8 years agoMerge pull request #2913 from krytarowski/netbsd-support-11
Alexander Köplinger [Sun, 17 Apr 2016 22:52:40 +0000 (00:52 +0200)]
Merge pull request #2913 from krytarowski/netbsd-support-11

Remove stale file in the repository

8 years agoRemove stale file in the repository
Kamil Rytarowski [Sun, 17 Apr 2016 22:48:26 +0000 (00:48 +0200)]
Remove stale file in the repository

The .orig files are traditionally files of patch(1) and diff(1) tools.
Remove stale file Makefile.orig as it is generating false positives for
grabbing patches from a directory tree.

8 years agoMerge pull request #2912 from krytarowski/netbsd-support-10
Alexander Köplinger [Sun, 17 Apr 2016 22:12:49 +0000 (00:12 +0200)]
Merge pull request #2912 from krytarowski/netbsd-support-10

Remove unportable shell construct detected on NetBSD

8 years agoMerge pull request #2911 from akoeplinger/handleref
monojenkins [Sun, 17 Apr 2016 21:55:19 +0000 (22:55 +0100)]
Merge pull request #2911 from akoeplinger/handleref

[metadata] Don't require HandleRef in domain.c

In 1da6b7629701e71afed2a28c86e7a9cb0f2c6f07 loading of System.Runtime.InteropServices.HandleRef
was changed from optional to required. This caused errors in the maccore tests:

```
MONO_PATH=/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/64/Build /Users/builder/data/lanes/1411/5ca65b46/source/maccore/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/bin/arm64-darwin-mono-sgen --debug -O=gsharedvt  --aot=mtriple=arm64-ios,data-outfile=/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/System.arm64.aotdata,static,asmonly,direct-icalls,full,dwarfdebug,no-direct-calls,outfile=/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/System.dll.arm64.s "/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/64/Build/System.dll"
Runtime critical type System.Runtime.InteropServices.HandleRef not found
AOT Compilation exited with code 134, command:
```

@monojenkins merge

8 years agoRemove unportable shell construct detected on NetBSD
Kamil Rytarowski [Sun, 17 Apr 2016 20:45:26 +0000 (22:45 +0200)]
Remove unportable shell construct detected on NetBSD

8 years ago[metadata] Don't require HandleRef in domain.c
Alexander Köplinger [Sun, 17 Apr 2016 18:22:04 +0000 (20:22 +0200)]
[metadata] Don't require HandleRef in domain.c

In 1da6b7629701e71afed2a28c86e7a9cb0f2c6f07 loading of System.Runtime.InteropServices.HandleRef
was changed from optional to required. This caused errors in the maccore tests:

```
MONO_PATH=/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/64/Build /Users/builder/data/lanes/1411/5ca65b46/source/maccore/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/bin/arm64-darwin-mono-sgen --debug -O=gsharedvt  --aot=mtriple=arm64-ios,data-outfile=/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/System.arm64.aotdata,static,asmonly,direct-icalls,full,dwarfdebug,no-direct-calls,outfile=/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/System.dll.arm64.s "/Users/builder/data/lanes/1411/5ca65b46/source/maccore/msbuild/tests/MyKeyboardExtension/obj/iPhone/Debug/mtouch-cache/64/Build/System.dll"
Runtime critical type System.Runtime.InteropServices.HandleRef not found
AOT Compilation exited with code 134, command:
```

8 years agoMerge pull request #2908 from krytarowski/netbsd-support-8
Alexander Köplinger [Sun, 17 Apr 2016 18:08:00 +0000 (20:08 +0200)]
Merge pull request #2908 from krytarowski/netbsd-support-8

Add new ./configure target & xtarget: arm*-netbsd*-eabi*

8 years agoMerge pull request #2907 from krytarowski/netbsd-support-7
Alexander Köplinger [Sun, 17 Apr 2016 18:07:38 +0000 (20:07 +0200)]
Merge pull request #2907 from krytarowski/netbsd-support-7

Improve NetBSD target handling in ./configure

8 years agoMerge pull request #2906 from krytarowski/netbsd-support-6
Alexander Köplinger [Sun, 17 Apr 2016 18:06:56 +0000 (20:06 +0200)]
Merge pull request #2906 from krytarowski/netbsd-support-6

Welcome to ARM ucontext registers on NetBSD

8 years ago[tests/verifier] Fix a few issues in the Makefile
Alexander Köplinger [Sun, 17 Apr 2016 17:04:58 +0000 (19:04 +0200)]
[tests/verifier] Fix a few issues in the Makefile

gmcs and ilasm2 are no longer distributed with Mono.

The run-test step had several issues that prevented it from running,
e.g. the comments caused "unexpected end of line" issues on OSX.

8 years agoMerge pull request 2899 from krytarowski/netbsd-support-1
Alexander Köplinger [Sun, 17 Apr 2016 17:24:59 +0000 (19:24 +0200)]
Merge pull request 2899 from krytarowski/netbsd-support-1

Improve shell portability on NetBSD

The "test" command, as well as the "[" command, are not required to know
the "==" operator.

Comparing with empty strings ("") might lead to unspecified results.

Replace unportable shell loops:
    for I in {2..6}; do ..; done
with POSIX ones:
    I=2; while [ $I -le 6 ]; do ..; I=$((I + 1)); done

8 years agoFix undefined behaviour in left-shift.
Alexander Jesner [Sun, 17 Apr 2016 16:31:32 +0000 (18:31 +0200)]
Fix undefined behaviour in left-shift.

8 years agoAdd new ./configure target & xtarget: arm*-netbsd*-eabi*
Kamil Rytarowski [Sun, 17 Apr 2016 14:04:53 +0000 (16:04 +0200)]
Add new ./configure target & xtarget: arm*-netbsd*-eabi*

Example GNU triplets:

evbarm 7.0 NetBSD ignored arm arm-unknown-netbsdelf7.0
evbarm 7.0 NetBSD ignored armeb armeb-unknown-netbsdelf7.0
evbarm 7.0 NetBSD ignored earmv6 armv6-unknown-netbsdelf7.0-eabi
evbarm 7.0 NetBSD ignored earmv6eb armv6eb-unknown-netbsdelf7.0-eabi
evbarm 7.0 NetBSD ignored earmv6hf armv6-unknown-netbsdelf7.0-eabihf
evbarm 7.0 NetBSD ignored earmv6hfeb armv6eb-unknown-netbsdelf7.0-eabihf
evbarm 7.0 NetBSD ignored earmv7 armv7-unknown-netbsdelf7.0-eabi
evbarm 7.0 NetBSD ignored earmv7eb armv7eb-unknown-netbsdelf7.0-eabi
evbarm 7.0 NetBSD ignored earmv7hf armv7-unknown-netbsdelf7.0-eabihf
evbarm 7.0 NetBSD ignored earmv7hfeb armv7eb-unknown-netbsdelf7.0-eabihf

-- http://git.savannah.gnu.org/cgit/config.git/tree/testsuite/config-guess.data

For now support just EABI targets (available since ARMv4).

8 years agoImprove NetBSD target handling in ./configure
Kamil Rytarowski [Sun, 17 Apr 2016 13:47:20 +0000 (15:47 +0200)]
Improve NetBSD target handling in ./configure

Stop hardcoding libc and linbintl versions.
Add support for libsqlite and libsqlite3.

8 years agoWelcome to ARM ucontext registers on NetBSD
Kamil Rytarowski [Sun, 17 Apr 2016 13:39:13 +0000 (15:39 +0200)]
Welcome to ARM ucontext registers on NetBSD

8 years agoImprove shell portability on NetBSD
Kamil Rytarowski [Sat, 16 Apr 2016 20:50:23 +0000 (22:50 +0200)]
Improve shell portability on NetBSD

The "test" command, as well as the "[" command, are not required to know
the "==" operator.

Comparing with empty strings ("") might lead to unspecified results.

Replace unportable shell loops:
    for I in {2..6}; do ..; done
with POSIX ones:
    I=2; while [ $I -le 6 ]; do ..; I=$((I + 1)); done

8 years agoMerge pull request #2900 from krytarowski/netbsd-support-2
Alexander Köplinger [Sun, 17 Apr 2016 11:37:21 +0000 (13:37 +0200)]
Merge pull request #2900 from krytarowski/netbsd-support-2

Fix shell portability in configure.ac for NetBSD

8 years agoMerge pull request #2904 from krytarowski/netbsd-support-5
Alexander Köplinger [Sun, 17 Apr 2016 11:36:33 +0000 (13:36 +0200)]
Merge pull request #2904 from krytarowski/netbsd-support-5

Include <errno.h> for errno on NetBSD

8 years agoMerge pull request #2898 from ludovic-henry/fix-process-hasexited
Alexander Köplinger [Sun, 17 Apr 2016 11:35:31 +0000 (13:35 +0200)]
Merge pull request #2898 from ludovic-henry/fix-process-hasexited

[corlib] Fix WaitHandle.Wait{One,Any,All} when runtime returns WAIT_FAILED

8 years agoMerge pull request #2905 from directhex/force-dpkg-architecture
Alexander Köplinger [Sun, 17 Apr 2016 11:10:15 +0000 (13:10 +0200)]
Merge pull request #2905 from directhex/force-dpkg-architecture

[jenkins] Force build arch = dpkg arch, on Debian systems

8 years ago[jenkins] Force build arch = dpkg arch, on Debian systems
Jo Shields [Sun, 17 Apr 2016 08:28:54 +0000 (09:28 +0100)]
[jenkins] Force build arch = dpkg arch, on Debian systems

Autotools misdetects architecture when using chroots, e.g. tries to do an x86_64 build on an x86_64 system in an i386 chroot

8 years agoMerge pull request #2901 from krytarowski/netbsd-support-3
Alexander Köplinger [Sun, 17 Apr 2016 01:56:38 +0000 (03:56 +0200)]
Merge pull request #2901 from krytarowski/netbsd-support-3

Define access to R8-R11 regs in ucontext on NetBSD/AMD64

8 years ago[System] Replace websocket echo test server with corefx one (#2902)
Alexander Köplinger [Sun, 17 Apr 2016 01:33:24 +0000 (03:33 +0200)]
[System] Replace websocket echo test server with corefx one (#2902)

echo.websocket.org is down since yesterday. Let's use the one that corefx uses for now.

8 years agoInclude <errno.h> for errno on NetBSD
Kamil Rytarowski [Sun, 17 Apr 2016 01:31:52 +0000 (03:31 +0200)]
Include <errno.h> for errno on NetBSD

The <sys/errno.h> header on NetBSD declares only a list of ERROR values.

This fixes the following build issue:

In file included from ../../mono/utils/mono-proclib.h:7:0,
                 from mono-proclib.c:8:
mono-proclib.c: In function 'mono_cpu_usage':
mono-proclib.c:893:54: error: 'errno' undeclared (first use in this function)
   g_error ("getrusage() failed, errno is %d (%s)\n", errno, strerror (errno));
                                                      ^
../../eglib/src/glib.h:600:70: note: in definition of macro 'g_error'
 #define g_error(...)    do { g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, __VA_ARGS__); for (;;); } while (0)
                                                                      ^
mono-proclib.c:893:54: note: each undeclared identifier is reported only once for each function it appears in
   g_error ("getrusage() failed, errno is %d (%s)\n", errno, strerror (errno));
                                                      ^
../../eglib/src/glib.h:600:70: note: in definition of macro 'g_error'
 #define g_error(...)    do { g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, __VA_ARGS__); for (;;); } while (0)

8 years agoDefine access to R8-R11 regs in ucontext on NetBSD/AMD64
Kamil Rytarowski [Sat, 16 Apr 2016 23:01:19 +0000 (01:01 +0200)]
Define access to R8-R11 regs in ucontext on NetBSD/AMD64

8 years agoFix shell portability in configure.ac for NetBSD
Kamil Rytarowski [Sat, 16 Apr 2016 21:39:52 +0000 (23:39 +0200)]
Fix shell portability in configure.ac for NetBSD

8 years ago[corlib] Fix WaitHandle.Wait{One,Any,All} when runtime returns WAIT_FAILED
Ludovic Henry [Fri, 15 Apr 2016 15:39:51 +0000 (17:39 +0200)]
[corlib] Fix WaitHandle.Wait{One,Any,All} when runtime returns WAIT_FAILED

In case the runtime would fail to wait on the wait handle(s), we would still return true, as if the WaitHandle was successfully signaled

8 years agoMerge pull request #2890 from mono/alexischr/remove-managed-alloc-string-zeroing
Alexis Christoforides [Sat, 16 Apr 2016 10:24:17 +0000 (06:24 -0400)]
Merge pull request #2890 from mono/alexischr/remove-managed-alloc-string-zeroing

[sgen] Remove unnecessary and wrong IL code on string managed allocators

8 years ago[System] Remove MONO_X509_ALIAS
Marek Safar [Sat, 16 Apr 2016 06:56:38 +0000 (08:56 +0200)]
[System] Remove MONO_X509_ALIAS

8 years ago[System] Remove PrebuiltSystem alias (it's not needed with any modern mcs)
Marek Safar [Sat, 16 Apr 2016 06:35:50 +0000 (08:35 +0200)]
[System] Remove PrebuiltSystem alias (it's not needed with any modern mcs)

8 years agoMerge pull request #2417 from razzfazz/guard_substr
Alexis Christoforides [Sat, 16 Apr 2016 02:57:33 +0000 (22:57 -0400)]
Merge pull request #2417 from razzfazz/guard_substr

handle path stripping correctly for root of watched tree

8 years agoMerge pull request #2889 from mono/alexischr/canary-sizecalc-change-impact
Alexis Christoforides [Sat, 16 Apr 2016 02:35:47 +0000 (22:35 -0400)]
Merge pull request #2889 from mono/alexischr/canary-sizecalc-change-impact

[sgen] "align-up" requested allocation sizes within the managed alloc…

8 years ago[runtime] Fix warnings.
Zoltan Varga [Sat, 16 Apr 2016 00:11:20 +0000 (20:11 -0400)]
[runtime] Fix warnings.

8 years agoMerge pull request #2894 from marek-safar/mono.security
Marek Safar [Fri, 15 Apr 2016 22:41:02 +0000 (00:41 +0200)]
Merge pull request #2894 from marek-safar/mono.security

[build] Fixes Mono.Security dependency

8 years ago[marshal] Ensure marshal code emit the right indirect store when dealing with ref...
Rodrigo Kumpera [Fri, 15 Apr 2016 22:19:37 +0000 (15:19 -0700)]
[marshal] Ensure marshal code emit the right indirect store when dealing with ref types.

The marshal code was using CEE_STIND_I for a lot of ref stores. This would not
generate a WB and is a heap corruption vector.

8 years agoMerge pull request #2893 from kumpera/fix_29585
monojenkins [Fri, 15 Apr 2016 17:05:39 +0000 (18:05 +0100)]
Merge pull request #2893 from kumpera/fix_29585

Fix #29585.

@monojenkins merge.

8 years ago[mono-api-html] Fix path in csproj.
Rolf Bjarne Kvinge [Fri, 15 Apr 2016 15:38:01 +0000 (17:38 +0200)]
[mono-api-html] Fix path in csproj.

8 years ago[mcs] Better error message for conflict of types with the same name
Marek Safar [Fri, 15 Apr 2016 15:28:19 +0000 (17:28 +0200)]
[mcs] Better error message for conflict of types with the same name

8 years ago[build] Fixes Mono.Security dependency
Marek Safar [Fri, 15 Apr 2016 13:41:14 +0000 (15:41 +0200)]
[build] Fixes Mono.Security dependency

8 years agoMerge pull request #2887 from lewurm/fix-jit-pass-name
monojenkins [Fri, 15 Apr 2016 12:41:00 +0000 (13:41 +0100)]
Merge pull request #2887 from lewurm/fix-jit-pass-name

[jit] fix stats name for method_to_ir pass

we settled for underscores

@monojenkins merge.

8 years agoMerge pull request #2885 from ntherning/fix_test_op_il_seq_point_sh_on_cygwin_2_4_1
Alexander Köplinger [Fri, 15 Apr 2016 11:49:53 +0000 (13:49 +0200)]
Merge pull request #2885 from ntherning/fix_test_op_il_seq_point_sh_on_cygwin_2_4_1

Fixes for  'make check-seq-points' on Cygwin

8 years agoMerge pull request #2878 from kumpera/mach_fixes
Rodrigo Kumpera [Fri, 15 Apr 2016 09:11:46 +0000 (02:11 -0700)]
Merge pull request #2878 from kumpera/mach_fixes

Add retry logic to mach function calls.

8 years ago[mcs] No optional parameters tie breaking rules for delegates overload resolution
Marek Safar [Fri, 15 Apr 2016 08:41:05 +0000 (10:41 +0200)]
[mcs] No optional parameters tie breaking rules for delegates overload resolution

8 years agoAdd regression test.
Rodrigo Kumpera [Fri, 15 Apr 2016 00:53:55 +0000 (17:53 -0700)]
Add regression test.

8 years ago[corlib] Fix CspParametersTest.Ctor test
Alexander Köplinger [Fri, 15 Apr 2016 00:53:49 +0000 (02:53 +0200)]
[corlib] Fix CspParametersTest.Ctor test

This essentially reapplies ae2f50e57fb39a005a80303d21a956e89ec36a8b which was inadvertently changed back in 27f07c8095e50cc8be3c5155fcc929a119267db0.

It started failing again after 255ce320b0da31b6e50cef084a4079039ccb39d6 reapplied a fix that was also inadvertently removed (https://github.com/mono/referencesource/commit/8c7937a9e7cc3f61f9ceb6a9d6f19fefdf1672b0).

8 years ago[runtime] Fix mono_class_inflate_generic_method_full_checked handle of partially...
Rodrigo Kumpera [Fri, 15 Apr 2016 00:39:44 +0000 (17:39 -0700)]
[runtime] Fix mono_class_inflate_generic_method_full_checked handle of partially inflated generic methods. Fixes #29585.

The problem here was that the function was not correctly setting is_generic when handling partially inflated methods.

The working scenario was method 'Foo<A>::Bar<B>' inflated with (Something<Else>;)[1] resulting in Foo<Something<Else>>::Bar<B>.

This would work because the is_generic check would verify that the supplied context has no method_inst, thus had to remain a GMD.

The problematic one would be inflating Foo<Something<A>>::Bar<B> with (Else;) resulting too in Foo<Something<Else>>::Bar<B>.

To handle this, we would first extract the root method definition [2] and then inflate the original method context with the supplied
context. So we end up with Foo<A>::Bar<B> and inflate (Something<A>;B) with (Else;) resulting in (Something<Else>;B) *1*.

Finally, we would inflate Foo<A>::Bar<B>  with that new context, resulting in Foo<Something<Else>>::Bar<B>.

The resulting method is the same in both scenarios, but context used for inflation is different in that in the second case
it includes the GMD method instantiation (The B in *1*).

This would trip up the computation of whether we ended up with a GMD or not.

The right check, though, is not whether the inflation context has a method instantiation or not, but whether the resulting method
has the same method context as the root GMD[2].

This affected #29585 since disabling some optimizations triggered things to be inflated in different ways.

[1] (Something<Else>;) means a context with a class instantiation and no method instantiation
[2] The GMD defined on the GTD.

8 years ago[jit] fix stats name for method_to_ir pass
Bernhard Urban [Thu, 14 Apr 2016 21:14:45 +0000 (14:14 -0700)]
[jit] fix stats name for method_to_ir pass

we settled for underscores

8 years ago[sgen] Remove unnecessary and wrong IL code on string managed allocators
Alexis Christoforides [Thu, 24 Mar 2016 14:06:34 +0000 (10:06 -0400)]
[sgen] Remove unnecessary and wrong IL code on string managed allocators
This appears to have been copied from Boehm, but here we are not responsible for zeroing.
Also, 's->chars [len]' is not the same as 'align_up (s + size) - 2', so this was corrupting canaries.

8 years ago[sgen] "align-up" requested allocation sizes within the managed allocator, instead...
Alexis Christoforides [Thu, 24 Mar 2016 13:56:50 +0000 (09:56 -0400)]
[sgen] "align-up" requested allocation sizes within the managed allocator, instead of sometimes before.
All code paths will still align-up the size to be allocated, but now it's easier to gather the real size of an object.

8 years ago[aot] Enable gsharedvt by default only when using --aot=full or --aot==llvmonly.
Zoltan Varga [Thu, 14 Apr 2016 20:39:23 +0000 (16:39 -0400)]
[aot] Enable gsharedvt by default only when using --aot=full or --aot==llvmonly.

8 years agoMerge pull request #2888 from xmcclure/serialize-exception-bump
Alexander Köplinger [Thu, 14 Apr 2016 20:28:20 +0000 (22:28 +0200)]
Merge pull request #2888 from xmcclure/serialize-exception-bump

Bump corlib version number following PR#2875

8 years agoBump corlib version number following PR#2875
Andi McClure [Thu, 14 Apr 2016 20:26:39 +0000 (16:26 -0400)]
Bump corlib version number following PR#2875

8 years agoMerge pull request #2875 from xmcclure/serialize-exception
Andi McClure [Thu, 14 Apr 2016 20:18:00 +0000 (16:18 -0400)]
Merge pull request #2875 from xmcclure/serialize-exception

Support SerializeObjectState for System.Exception (bug #39824)