mono.git
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 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)

8 years agoBump to include referencesource/8c7937a9e7cc3f61f9ceb6a9d6f19fefdf1672b0. Fixes ...
Alexis Christoforides [Thu, 14 Apr 2016 19:41:32 +0000 (15:41 -0400)]
Bump to include referencesource/8c7937a9e7cc3f61f9ceb6a9d6f19fefdf1672b0. Fixes #38712

8 years agoMerge pull request #2803 from BrzVlad/feature-conc-pinned-scan
monojenkins [Thu, 14 Apr 2016 19:15:35 +0000 (20:15 +0100)]
Merge pull request #2803 from BrzVlad/feature-conc-pinned-scan

[sgen] Scan pinned objects in nursery as part of concurrent mark

Objects pinned in the nursery can hide behind them a large graph of objects in the heap which is never scanned because we don't follow references in the nursery. After precleaning, we scan the latest set of pinned objects (while locking in order to make sure that the set doesn't change, so none are moved).

8 years ago[MACH] Add retry logic to all mach api calls in the case of interruption.
Rodrigo Kumpera [Thu, 14 Apr 2016 00:04:05 +0000 (17:04 -0700)]
[MACH] Add retry logic to all mach api calls in the case of interruption.

One overlooked aspect of mach is that its calls are interruptible and
we never really accounted for that.

This problem turned up when sampling at high frequency as they would
start to randomly fail.

8 years ago[OSX] Drop more support for OSX 10.5 and earlier.
Rodrigo Kumpera [Thu, 14 Apr 2016 00:02:41 +0000 (17:02 -0700)]
[OSX] Drop more support for OSX 10.5 and earlier.

10.5 is ancient enough at this point. Remove code dealing with the exception server
that is not needed after it.

8 years agoRenamed SEP variable to PLATFORM_PATH_SEPARATOR.
Niklas Therning [Thu, 14 Apr 2016 15:36:30 +0000 (17:36 +0200)]
Renamed SEP variable to PLATFORM_PATH_SEPARATOR.

8 years ago* Fixes 'diff: /dev/fd/63: Not a directory' errors when running
Niklas Therning [Thu, 14 Apr 2016 14:36:27 +0000 (16:36 +0200)]
* Fixes 'diff: /dev/fd/63: Not a directory' errors when running
  'make check-seq-points' on Cygwin 2.4.1 64-bit.
* Added removal of *.exe.dll to the clean_aot() function to delete AOT output
  from previous 'make check-seq-points' runs.
* Use ';'' as separator in MONO_PATH if running under Cygwin rather than ':'.

8 years ago[sgen] Scan pinned objects in nursery as part of concurrent mark
Vlad Brezae [Wed, 23 Mar 2016 19:16:34 +0000 (21:16 +0200)]
[sgen] Scan pinned objects in nursery as part of concurrent mark

Objects pinned in the nursery can hide behind them a large graph of objects in the heap which is never scanned because we don't follow references in the nursery. After precleaning, we scan the latest set of pinned objects (while locking in order to make sure that the set doesn't change, so none are moved).

8 years agoFix the referencesource submodule commit
Alexander Köplinger [Thu, 14 Apr 2016 14:00:31 +0000 (16:00 +0200)]
Fix the referencesource submodule commit

8 years agoMerge pull request #2884 from ludovic-henry/fix-process-hasexited
Alexander Köplinger [Thu, 14 Apr 2016 13:58:31 +0000 (15:58 +0200)]
Merge pull request #2884 from ludovic-henry/fix-process-hasexited

[Process] Fix HasExited for non-child process

8 years ago[Process] Fix HasExited for non-child process
Ludovic Henry [Thu, 14 Apr 2016 09:53:56 +0000 (11:53 +0200)]
[Process] Fix HasExited for non-child process

NativeMethods.GetExitCodeProcess would inherently be broken on Unix platforms for non-child processes as it can't succesfully get the exit code. This would in turn break Process.HasExited, which should not break, as it is possible to check if a non-child process is alive or dead.

8 years ago[Process] Set haveProcessHandle to true when setting m_processHandle
Ludovic Henry [Thu, 14 Apr 2016 09:53:13 +0000 (11:53 +0200)]
[Process] Set haveProcessHandle to true when setting m_processHandle

8 years agoRevert "Fix missing CommonCrypto/Makefile.include in "make dist" tarballs"
Jo Shields [Thu, 14 Apr 2016 08:40:29 +0000 (09:40 +0100)]
Revert "Fix missing CommonCrypto/Makefile.include in "make dist" tarballs"

Needed due to Marek's CommonCrypto changes

This reverts commit c0ea8090525213e5236568f1ae494fac17fdd27b.

8 years agoRevert "Revert "[Mono.Security] Fixes wrong path in makefile""
Marek Safar [Thu, 14 Apr 2016 06:30:22 +0000 (08:30 +0200)]
Revert "Revert "[Mono.Security] Fixes wrong path in makefile""

This reverts commit b0c6a92785e5590af777a29600130ff5adb27e30.

8 years agoRevert "Revert "[build] Clean up common crypto build""
Marek Safar [Thu, 14 Apr 2016 06:13:47 +0000 (08:13 +0200)]
Revert "Revert "[build] Clean up common crypto build""

This reverts commit ba9d141ed8b7680d812e54f5db8adf19e1a3d4f4.

8 years ago[Mono.Security] Fixes build
Marek Safar [Thu, 14 Apr 2016 06:06:56 +0000 (08:06 +0200)]
[Mono.Security] Fixes build

8 years agouse native realpath() function (#2877)
Daniel Becker [Thu, 14 Apr 2016 02:53:34 +0000 (19:53 -0700)]
use native realpath() function (#2877)

Instead of opening a file for the sole purpose of calling
F_GETPATH on the resulting descriptor, we can just use the
native realpath() function; as a side benefit, this also works
on *BSD where F_GETPATH isn't supported.

8 years agoMerge pull request #2879 from lewurm/undo-breaking-changes
monojenkins [Thu, 14 Apr 2016 02:15:22 +0000 (03:15 +0100)]
Merge pull request #2879 from lewurm/undo-breaking-changes

Undo breaking changes

@monojenkins merge

8 years agoRevert "[build] Clean up common crypto build"
Bernhard Urban [Thu, 14 Apr 2016 00:21:57 +0000 (17:21 -0700)]
Revert "[build] Clean up common crypto build"

This reverts commit ecd2f512ced44cd6c6e48594aa27435d0e64eecc.

8 years agoRevert "[Mono.Security] Fixes wrong path in makefile"
Bernhard Urban [Thu, 14 Apr 2016 00:20:29 +0000 (17:20 -0700)]
Revert "[Mono.Security] Fixes wrong path in makefile"

This reverts commit 90611f918522633f3d88aff0d54980c6f275f0f6.

8 years agoSupport SerializeObjectState for System.Exception (bug #39824)
Andi McClure [Wed, 13 Apr 2016 22:36:08 +0000 (18:36 -0400)]
Support SerializeObjectState for System.Exception (bug #39824)

Per current .NET, exception serialization may be implemented using the
SerializeObjectState event. Use of this approach is mandatory for
certain classes, such as HttpRequestException subclasses. Mono does
not support it. The solution is to switch out our System.Exception
implementation for the referencesource one.

To accommodate this, classes that access System.Exception internal
fields directly must switch to the new field names; a new support
method is added to System.Environment; the "security level" methods
and icall are added to MonoCMethods; and the field order in
_MonoException must be adjusted. A new test is also added in the
System.Runtime.Serialization assembly.

8 years ago[arm] Use a direct branch in the krait workaround to avoid clang generating extra...
Zoltan Varga [Wed, 13 Apr 2016 20:28:14 +0000 (16:28 -0400)]
[arm] Use a direct branch in the krait workaround to avoid clang generating extra code and moving it before the inline assembly block. Fixes #40239.

8 years agoMove remaining System.Net.Http pieces from mono-extensions to mono
Alexander Köplinger [Wed, 13 Apr 2016 16:58:43 +0000 (18:58 +0200)]
Move remaining System.Net.Http pieces from mono-extensions to mono

Discussed with @rolfbjarne, these were missed in the initial import of the mono-extension sources.

8 years agoMerge pull request #2874 from lateralusX/jlorenss/win-x64-support
monojenkins [Wed, 13 Apr 2016 16:35:31 +0000 (17:35 +0100)]
Merge pull request #2874 from lateralusX/jlorenss/win-x64-support

jlorenss/win x64 support

Initial fixes needed in order to get pass on mono regression tests for windows x64 visual studio build,

--regression basic.exe basic-float.exe basic-long.exe basic-calls.exe objects.exe arrays.exe basic-math.exe exceptions.exe iltests.exe devirtualization.exe generics.exe basic-simd.exe

Before fixes there were failures in basic.exe, exceptions.exe and objects.exe for windows x64  Visual studio build.

Failures in basic.exe and exceptions.exe was due to a mix up of signal defines on windows platform in Visual Studio build  where SIGILL and SIGFPE was defined differently in different source files causing incorrect signal handler to be invoked at runtime, causing incorrect thrown .NET exception. Fix is to make sure signal.h is always included giving the same value for SIGILl and SIGFPE over all source files.

Failures in objects.exe test_0_mul_ovf_regress_36052 caused a stack overflow crash when running togehter with branch optimization mode. This was due to incorrect lowering of x64 test instruction when optimization moved over to use R8 instead of RAX and current lowering didn't handle that correctly meaning that the actual test was performed against wrong register causing a loop that caused a stack overflow error. The specific amd64 codegen , amd64_test_reg_imm, is currently only used on x64 windows platform for the stackalloc call.

8 years ago[Mono.Security] Fixes wrong path in makefile
Marek Safar [Wed, 13 Apr 2016 16:18:37 +0000 (18:18 +0200)]
[Mono.Security] Fixes wrong path in makefile

8 years ago[build] Clean up common crypto build
Marek Safar [Wed, 13 Apr 2016 15:46:25 +0000 (17:46 +0200)]
[build] Clean up common crypto build

8 years agoUpdate X509CertificateImplApple.
Martin Baulig [Wed, 13 Apr 2016 14:21:29 +0000 (16:21 +0200)]
Update X509CertificateImplApple.

8 years ago[corlib]: Add X509CertificateImpl.GetNativeAppleCertificate().
Martin Baulig [Wed, 13 Apr 2016 13:45:42 +0000 (15:45 +0200)]
[corlib]: Add X509CertificateImpl.GetNativeAppleCertificate().

In SSCX.OSX509Certificates.GetCertificate(), we cannot simply use
'X509Certificate.Handle' because it may point to something that's
not a SecCertificate.

(cherry picked from commit 3fc068f7e283a3d7e2e78ff2d0e3cec492c87cc6)

8 years agoMerge pull request #2800 from BrzVlad/feature-lazy-sweep
Vlad Brezae [Wed, 13 Apr 2016 08:51:25 +0000 (16:51 +0800)]
Merge pull request #2800 from BrzVlad/feature-lazy-sweep

[sgen] Enable lazy sweep by default

8 years ago[sgen] Enable lazy sweep by default
Vlad Brezae [Thu, 10 Mar 2016 18:16:52 +0000 (20:16 +0200)]
[sgen] Enable lazy sweep by default