mono.git
8 years agoMerge pull request #2274 from esdrubal/udpclientreceive
Marcos Henrich [Wed, 13 Jan 2016 10:17:38 +0000 (10:17 +0000)]
Merge pull request #2274 from esdrubal/udpclientreceive

Fixes UdpClient.Receive with IPv6 endpoint

8 years agoMerge pull request #2423 from radical/mcs-args
Marek Safar [Wed, 13 Jan 2016 07:37:24 +0000 (08:37 +0100)]
Merge pull request #2423 from radical/mcs-args

[mcs] Accept and ignore command line args supported by csc ..

8 years agoMerge pull request #2422 from akoeplinger/environment-is64bitoperatingsystem
João Matos [Wed, 13 Jan 2016 01:55:01 +0000 (01:55 +0000)]
Merge pull request #2422 from akoeplinger/environment-is64bitoperatingsystem

[corlib] Properly implement Environment.Is64BitOperatingSystem

8 years ago[corlib] Properly implement Environment.Is64BitOperatingSystem
Alexander Köplinger [Tue, 12 Jan 2016 15:51:13 +0000 (16:51 +0100)]
[corlib] Properly implement Environment.Is64BitOperatingSystem

Before we only checked if IntPtr.Size == 8, but this returns false for a 32bit Mono running on a 64bit OS.
Added an icall that gets the correct value from the runtime instead.

Note: this currently only whitelists x86_64, aarch64 and ppc64 as 64-bit platforms.

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

8 years agoMerge pull request #2261 from BrzVlad/fix-arm-fast-tls-master
Vlad Brezae [Wed, 13 Jan 2016 01:31:33 +0000 (03:31 +0200)]
Merge pull request #2261 from BrzVlad/fix-arm-fast-tls-master

[arm] Fix arm fast tls

8 years ago[mcs] Accept and ignore command line args supported by csc ..
Ankit Jain [Fri, 8 Jan 2016 21:15:22 +0000 (16:15 -0500)]
[mcs] Accept and ignore command line args supported by csc ..

.. that we don't support:

/utf8output
/subsystemversion
/highentropyva
/highentropyva+
/highentropyva-

8 years ago[llvmonly] Avoid disabling llvm for the Selector.GetHandle () intrinsics.
Zoltan Varga [Tue, 12 Jan 2016 19:39:55 +0000 (14:39 -0500)]
[llvmonly] Avoid disabling llvm for the Selector.GetHandle () intrinsics.

8 years ago[llvmonly] Fix support for variant interface methods, they work similarly to generic...
Zoltan Varga [Tue, 12 Jan 2016 19:23:24 +0000 (14:23 -0500)]
[llvmonly] Fix support for variant interface methods, they work similarly to generic virtual methods.

8 years agoRevert "Apple has introduced the System Integrety Protection in OS X 10.11. This...
Joao Matos [Tue, 12 Jan 2016 17:40:46 +0000 (17:40 +0000)]
Revert "Apple has introduced the System Integrety Protection in OS X 10.11. This prevents writes to /usr amongst other paths. /usr/local is still writable though."

This reverts commit b723c89628187ab138334c108e16d62bc9530d6e.

@migueldeicaza thinks this is the wrong approach, reverting until we figure out the right way to go about this.

8 years ago[llvm] Ignore OP_IL_SEQ_POINT.
Zoltan Varga [Tue, 12 Jan 2016 17:26:30 +0000 (12:26 -0500)]
[llvm] Ignore OP_IL_SEQ_POINT.

8 years agoMerge pull request #2418 from lambdageek/dev/bug-12205
Aleksey Kliger (λgeek) [Tue, 12 Jan 2016 16:50:10 +0000 (11:50 -0500)]
Merge pull request #2418 from lambdageek/dev/bug-12205

[reflection] Correct ReflectedType for generic methods

8 years ago[aot] Add support for name mangling for more types.
Zoltan Varga [Tue, 12 Jan 2016 15:33:36 +0000 (10:33 -0500)]
[aot] Add support for name mangling for more types.

8 years ago[reflection] Test MethodInfo.ReflectedType property
Aleksey Kliger [Mon, 11 Jan 2016 17:10:23 +0000 (12:10 -0500)]
[reflection] Test MethodInfo.ReflectedType property

Test cases for [#12205](https://bugzilla.xamarin.com/show_bug.cgi?id=12205)

8 years ago[mscorlib] Add support for intercepting threadpool work, and use it for Xamarin.iOS...
Rolf Bjarne Kvinge [Fri, 8 Jan 2016 18:50:34 +0000 (19:50 +0100)]
[mscorlib] Add support for intercepting threadpool work, and use it for Xamarin.iOS/Mac.

This is used to Xamarin.iOS/Mac to wrap threadpool work in an NSAutoreleasePool.

Also open up corlib's internals to Xamarin.iOS/Mac so that the linker
doesn't have to be involved when accessing internal API.

8 years ago[reflection] remove override get ReflectedType for MonoGenericMethod and MonoGenricCM...
Aleksey Kliger [Mon, 11 Jan 2016 16:31:47 +0000 (11:31 -0500)]
[reflection] remove override get ReflectedType for MonoGenericMethod and MonoGenricCMethod

Should return the type that was queried, not the type where the method
is declared.

Fixes [#12205](https://bugzilla.xamarin.com/show_bug.cgi?id=12205)

8 years ago[runtime] Bump version to 4.3.3.
Zoltan Varga [Mon, 11 Jan 2016 17:01:10 +0000 (12:01 -0500)]
[runtime] Bump version to 4.3.3.

8 years agoMerge pull request #2382 from akoeplinger/system-net-mime-referencesource
Alexander Köplinger [Mon, 11 Jan 2016 13:13:37 +0000 (14:13 +0100)]
Merge pull request #2382 from akoeplinger/system-net-mime-referencesource

[System] Port System.Net.Mime namespace from referencesources

8 years ago[mcs] Fixes inconsistent accessibility check for partial types. Fixes #37232
Marek Safar [Mon, 11 Jan 2016 12:30:53 +0000 (13:30 +0100)]
[mcs] Fixes inconsistent accessibility check for partial types. Fixes #37232

8 years ago[llvm] Allow support for emitting some methods using 'linkonce' linkage. This allows...
Zoltan Varga [Sun, 10 Jan 2016 12:57:28 +0000 (07:57 -0500)]
[llvm] Allow support for emitting some methods using 'linkonce' linkage. This allows the linker to get rid of duplicate copies. Enable it for gsharedvt wrappers.

8 years agoMerge pull request #2415 from razzfazz/fix_timespec
Alexander Köplinger [Sat, 9 Jan 2016 21:42:14 +0000 (22:42 +0100)]
Merge pull request #2415 from razzfazz/fix_timespec

fix struct timespec member name

8 years agoMerge pull request #2414 from akoeplinger/fix-threadpool-test-hang
Zoltan Varga [Sat, 9 Jan 2016 20:45:56 +0000 (15:45 -0500)]
Merge pull request #2414 from akoeplinger/fix-threadpool-test-hang

[corlib] Don't throw exception for null locale to fix threadpool-exceptions5.exe hang

8 years agofix struct timespec member name
Daniel Becker [Sat, 9 Jan 2016 19:43:08 +0000 (11:43 -0800)]
fix struct timespec member name

The second member of struct timespec is actually called tv_nsec
(nanoseconds), not tv_usec (microseconds); this was likely
confused with struct timeval, where the second member is in fact
called tv_usec.

8 years ago[corlib] Don't throw exception for null locale to fix threadpool-exceptions5.exe...
Alexander Köplinger [Sat, 9 Jan 2016 20:11:08 +0000 (21:11 +0100)]
[corlib] Don't throw exception for null locale to fix threadpool-exceptions5.exe hang

We were seeing persistent hangs in the threadpool-exceptions5.exe test on the Jenkins ARM machines.
Tracing the execution showed the following exceptions:

```
[0x7f65e3284700:] EXCEPTION handling: System.Threading.ThreadAbortException:
[0x7f65e3284700:] EXCEPTION handling: System.Exception: From OnCBFinished
[0x7f65e3284700:] EXCEPTION handling: System.ArgumentNullException: Value cannot be null.  <-- from CultureInfo.CreateSpecificCulture()
Parameter name: name
[0x7f65e3284700:] EXCEPTION handling: System.Threading.ThreadAbortException:
exception inside UnhandledException handler:

... program hangs here ...
```

It turns out that the machines don't have the LANG/LC_ALL env vars set, resulting in a null string returned
from get_current_locale_name(). The code then tries to construct a locale from that and throws an ANE which is
normally catched and turned into the InvariantCulture.

However, in the threadpool-exceptions5 test the first time a CultureInfo is created is in the OnUnhandledException
event handler when calling ToString(). This means that an exception is thrown while we are in the unhandled exception
handler and the runtime apparently just stops there (despite the exception actually being catched, probably because of
the thread abort) so we never get to signaling the monitor object -> we hang in Main().

The fix is to not rely on catching the ArgumentNullException when we get a null locale, which is a better approach anyway.

To easily reproduce the issue before the fix, use the following (on Linux only, we don't use LANG for locale on OSX):

```
~/dev/mono/mono/tests$ LANG=C MONO_PATH=../../mcs/class/lib/net_4_x/ ../mini/mono-sgen --trace=N:nothing threadpool-exceptions5.exe
```

Note: If you pass an invalid LANG=foo, the hang is still there as we throw a CultureNotFoundException and hit the same issue.
As the behavior looks like a runtime bug to me I filed https://bugzilla.xamarin.com/show_bug.cgi?id=37547

8 years ago[llvmonly] Avoid creating an empty output file for the JITted code.
Zoltan Varga [Sat, 9 Jan 2016 17:21:51 +0000 (12:21 -0500)]
[llvmonly] Avoid creating an empty output file for the JITted code.

8 years ago[llvmonly] Avoid emitting the 'globals' aot table, its not used in llvmonly mode.
Zoltan Varga [Sat, 9 Jan 2016 16:19:48 +0000 (11:19 -0500)]
[llvmonly] Avoid emitting the 'globals' aot table, its not used in llvmonly mode.

8 years agoMerge pull request #2412 from akoeplinger/disable-thread-test
Zoltan Varga [Sat, 9 Jan 2016 13:08:55 +0000 (08:08 -0500)]
Merge pull request #2412 from akoeplinger/disable-thread-test

[corlib] Disable Thread test that started failing after d5768a7f141e2a579cbca26f76c791c215f4aabf

8 years ago[corlib] Disable Thread test that started failing after d5768a7f141e2a579cbca26f76c79...
Alexander Köplinger [Sat, 9 Jan 2016 02:47:32 +0000 (03:47 +0100)]
[corlib] Disable Thread test that started failing after d5768a7f141e2a579cbca26f76c791c215f4aabf

Setting the priority before starting a Thread doesn't work right now as there's no handle to the native
thread at that point (the current implementation doesn't store the priority, it just tries setting it
on the native thread) so the test would remember the default 'Normal' priority instead of 'BelowNormal',
causing the test to fail later on.

Added an assert to verify that the thread priority can be set before starting and disable the test for now.

Note: variable names 'before' and 'after' were switched in the test, fixed those as well.

8 years ago[llvm] Error out when using --aot=llvmonly if the runtime is not compiled with -...
Zoltan Varga [Fri, 8 Jan 2016 21:22:09 +0000 (16:22 -0500)]
[llvm] Error out when using --aot=llvmonly if the runtime is not compiled with --enable-gsharedvt.

8 years ago[csharp/getline] Add support for completion popup windows
Miguel de Icaza [Fri, 8 Jan 2016 21:20:51 +0000 (16:20 -0500)]
[csharp/getline] Add support for completion popup windows

This adds supprot to the getline.cs library to provide popup windows with
completion results.   There is a new public string property surfaced,
HeuristicsMode, that if set to "csharp" will trigger the completion window
independently of the "tab" character, based on the user input.

This mode triggers completion after the "." character is entered, and will
continue to trigger it as long as you type, or you backspace and the completion
succeeds.   The heuristic also ignores scenarios like "1.2", so there is no
compeltion provided after entering numbers by default.

Perhaps we can later introduce a "OnKeyEntered" command that users could
use to provide their own heuristics to control whether to popup the window
or not.

8 years ago[linker] do not use System.IO.Path on assembly resource names
Radek Doulik [Fri, 8 Jan 2016 20:44:50 +0000 (21:44 +0100)]
[linker] do not use System.IO.Path on assembly resource names

  - fixes #37305

  - resource name can be general string and using it as path
    might throw

       System.ArgumentException: Illegal characters in path.

  - it would be possible to check for the path's invalid characters in
    the resource name. that would cause crossplatform issues
    though.

    various platforms have different invalid charactes sets for path
    names. for example using assembly built on mac with embedded
    linker blacklisting xml file, which's name contains characters in
    its filename which are invalid on windows. so the windows built
    app using that assembly would fail mysteriously, because the
    important parts wouldn't be preserved.

    thus we use just string comparison

8 years ago[io-layer] Revert 31f13881a483201933b16e75d47a6d103d959a64 and fix it in a simpler way
Alexander Köplinger [Fri, 8 Jan 2016 20:58:40 +0000 (21:58 +0100)]
[io-layer] Revert 31f13881a483201933b16e75d47a6d103d959a64 and fix it in a simpler way

We don't need the configure.ac check as we can just directly check if the macro is defined.

8 years ago[runtime] Bump AOT file format version.
Zoltan Varga [Fri, 8 Jan 2016 20:45:25 +0000 (15:45 -0500)]
[runtime] Bump AOT file format version.

8 years ago[io-layer] Fix build on OSX
Alexander Köplinger [Fri, 8 Jan 2016 20:37:40 +0000 (21:37 +0100)]
[io-layer] Fix build on OSX

This got broken by d5768a7f141e2a579cbca26f76c791c215f4aabf, SCHED_BATCH isn't available on OSX or Linux before 2.6.16

8 years ago[llvmonly] Enable more tests.
Zoltan Varga [Fri, 8 Jan 2016 20:18:52 +0000 (15:18 -0500)]
[llvmonly] Enable more tests.

8 years ago[llvmonly] Fix gsharedvt calls from gsharedvt methods.
Zoltan Varga [Fri, 8 Jan 2016 20:18:41 +0000 (15:18 -0500)]
[llvmonly] Fix gsharedvt calls from gsharedvt methods.

8 years agoMerge pull request #2384 from akoeplinger/system-net-sockets-referencesource
Alexander Köplinger [Fri, 8 Jan 2016 20:06:31 +0000 (21:06 +0100)]
Merge pull request #2384 from akoeplinger/system-net-sockets-referencesource

[System] Initial port of System.Net.Sockets types from referencesource

8 years ago[System.Web] Add test for 9c254393200eb6a23bea67c053ed467a023cc0e4
Alexander Köplinger [Fri, 8 Jan 2016 19:54:09 +0000 (20:54 +0100)]
[System.Web] Add test for 9c254393200eb6a23bea67c053ed467a023cc0e4

Test case from https://bugzilla.xamarin.com/show_bug.cgi?id=13909

8 years agoFix RouteCollection not correctly clearing itself
James Venning [Wed, 6 Jan 2016 05:09:02 +0000 (15:09 +1000)]
Fix RouteCollection not correctly clearing itself

8 years agoImplement a SetPriority/GetPriority facility for real-time threads: if
Neale [Tue, 22 Dec 2015 20:45:56 +0000 (15:45 -0500)]
Implement a SetPriority/GetPriority facility for real-time threads: if
mono is executed using the SCHED_RR policy, we will map POSIX priorities
to .NET priorities. Under this policy a thread running under this policy
which uses the SetPriority API will have its priority remapped and a
call to pthread_setschedparam() made to change its priority.

The following code fragment may be used to run a mono application
without requiring all root privileges other than the CAP_SYS_NICE
capability which enables priority manipulation:

void
runMonoRT(const char *const name, const int policy, char **argv)
{
    const pid_t         me = getpid();
    struct sched_param  param;

    param.sched_priority = sched_get_priority_min(policy);
    if (sched_setscheduler(me, policy, &param) == -1)
        fprintf(stderr, "sched_setscheduler(getpid(), %s, { %d }): %s.\n",
name, param.sched_priority, strerror(errno));
    else
        execvp("mono", argv);
}

int
main(int argc, char **argv)
{
    uid_t       user;
    cap_value_t root_caps[2] = { CAP_SYS_NICE, CAP_SETUID };
    cap_value_t user_caps[1] = { CAP_SYS_NICE };
    cap_t       capabilities;

    /* Get real user ID. */
    user = getuid();

    /* Get full root privileges. Normally being effectively root
     * (see man 7 credentials, User and Group Identifiers, for explanation
     *  for effective versus real identity) is enough, but some security
     * modules restrict actions by processes that are only effectively root.
     * To make sure we don't hit those problems, we switch to root fully. */
    if (setresuid(0, 0, 0)) {
        fprintf(stderr, "Cannot switch to root: %s.\n", strerror(errno));
        return 1;
    }

    /* Create an empty set of capabilities. */
    capabilities = cap_init();

    /* Capabilities have three subsets:
     *      INHERITABLE:    Capabilities permitted after an execv()
     *      EFFECTIVE:      Currently effective capabilities
     *      PERMITTED:      Limiting set for the two above.
     * See man 7 capabilities for details, Thread Capability Sets.
     *
     * We need the following capabilities:
     *      CAP_SYS_NICE    For nice(2), setpriority(2),
     *                      sched_setscheduler(2), sched_setparam(2),
     *                      sched_setaffinity(2), etc.
     *      CAP_SETUID      For setuid(), setresuid()
     * in the last two subsets. We do not need to retain any capabilities
     * over an exec().
    */
    if (cap_set_flag(capabilities, CAP_PERMITTED, sizeof root_caps / sizeof root_caps[0], root_caps, CAP_SET) ||
        cap_set_flag(capabilities, CAP_EFFECTIVE, sizeof root_caps / sizeof root_caps[0], root_caps, CAP_SET)) {
        fprintf(stderr, "Cannot manipulate capability data structure as root: %s.\n", strerror(errno));
        return 1;
    }

    /* Above, we just manipulated the data structure describing the flags,
     * not the capabilities themselves. So, set those capabilities now. */
    if (cap_set_proc(capabilities)) {
        fprintf(stderr, "Cannot set capabilities as root: %s.\n", strerror(errno));
        return 1;
    }

    /* We wish to retain the capabilities across the identity change,
     * so we need to tell the kernel. */
    if (prctl(PR_SET_KEEPCAPS, 1L)) {
        fprintf(stderr, "Cannot keep capabilities after dropping privileges: %s.\n", strerror(errno));
        return 1;
    }

    /* Drop extra privileges (aside from capabilities) by switching
     * to the original real user. */
    if (setresuid(user, user, user)) {
        fprintf(stderr, "Cannot drop root privileges: %s.\n", strerror(errno));
        return 1;
    }

    /* We can still switch to a different user due to having the CAP_SETUID
     * capability. Let's clear the capability set, except for the CAP_SYS_NICE
     * in the permitted and effective sets. */
    if (cap_clear(capabilities)) {
        fprintf(stderr, "Cannot clear capability data structure: %s.\n", strerror(errno));
        return 1;
    }
    if (cap_set_flag(capabilities, CAP_PERMITTED, sizeof user_caps / sizeof user_caps[0], user_caps, CAP_SET) ||
        cap_set_flag(capabilities, CAP_EFFECTIVE, sizeof user_caps / sizeof user_caps[0], user_caps, CAP_SET)) {
        fprintf(stderr, "Cannot manipulate capability data structure as user: %s.\n", strerror(errno));
        return 1;
    }

    /* Apply modified capabilities. */
    if (cap_set_proc(capabilities)) {
        fprintf(stderr, "Cannot set capabilities as user: %s.\n", strerror(errno));
        return 1;
    }

    /*
     * Now we have just the normal user privileges,
     * plus user_caps.
    */
    runMonoRT("SCHED_RR", SCHED_RR, argv);

    return 0;
}

8 years agoMerge pull request #2411 from rolfbjarne/parse-debug-optionsapi-doc
João Matos [Fri, 8 Jan 2016 18:00:49 +0000 (18:00 +0000)]
Merge pull request #2411 from rolfbjarne/parse-debug-optionsapi-doc

Document mini_parse_debug_option

8 years ago[mini] Document mini_parse_debug_option.
Rolf Bjarne Kvinge [Fri, 8 Jan 2016 17:35:09 +0000 (18:35 +0100)]
[mini] Document mini_parse_debug_option.

8 years ago[mini] Rename mini_parse_debug_option's argument to match the header file (and match...
Rolf Bjarne Kvinge [Fri, 8 Jan 2016 17:34:57 +0000 (18:34 +0100)]
[mini] Rename mini_parse_debug_option's argument to match the header file (and match better the usage).

8 years ago[man/mono.1] Fix typo.
Rolf Bjarne Kvinge [Fri, 8 Jan 2016 17:32:16 +0000 (18:32 +0100)]
[man/mono.1] Fix typo.

8 years ago[System] Initial port of System.Net.Sockets types from referencesource
Alexander Köplinger [Thu, 24 Dec 2015 02:45:38 +0000 (03:45 +0100)]
[System] Initial port of System.Net.Sockets types from referencesource

These are the more trivial ones.

Needed a mono_corlib_version bump because some Socket field names changed to the MS version.

8 years agoMerge pull request #2363 from eriklarko/master
João Matos [Fri, 8 Jan 2016 15:26:25 +0000 (15:26 +0000)]
Merge pull request #2363 from eriklarko/master

SpecialFolder.CommonApplicationData support for El Capitan

8 years agoMerge pull request #2410 from steffen-kiess/fix-monop
João Matos [Fri, 8 Jan 2016 15:15:30 +0000 (15:15 +0000)]
Merge pull request #2410 from steffen-kiess/fix-monop

[monop] Fix NullReferenceException in monop

8 years ago[monop] Fix NullReferenceException in monop
Steffen Kieß [Fri, 8 Jan 2016 15:04:03 +0000 (16:04 +0100)]
[monop] Fix NullReferenceException in monop

Fix a NullReferenceException in monop when printing a type name in a
namespace somewhere below System while working on a class which does not
have a namespace.

8 years ago[llvmonly] Extract the runtime invoke code into a separate function.
Zoltan Varga [Fri, 8 Jan 2016 15:02:33 +0000 (10:02 -0500)]
[llvmonly] Extract the runtime invoke code into a separate function.

8 years agoMerge pull request #2390 from schani/feature-bisector
João Matos [Fri, 8 Jan 2016 14:03:32 +0000 (14:03 +0000)]
Merge pull request #2390 from schani/feature-bisector

Automatic optimization bug bisector.

8 years agoMerge pull request #2409 from rolfbjarne/parse-debug-options-api
João Matos [Fri, 8 Jan 2016 13:39:22 +0000 (13:39 +0000)]
Merge pull request #2409 from rolfbjarne/parse-debug-options-api

[runtime] Add API to set debug options without going through MONO_DEBUG.

8 years ago[aot] Print the number of different kinds of methods when printing stats.
Zoltan Varga [Fri, 8 Jan 2016 12:34:47 +0000 (07:34 -0500)]
[aot] Print the number of different kinds of methods when printing stats.

8 years ago[runtime] Add API to set debug options without going through MONO_DEBUG.
Rolf Bjarne Kvinge [Fri, 8 Jan 2016 12:31:03 +0000 (13:31 +0100)]
[runtime] Add API to set debug options without going through MONO_DEBUG.

This is useful for embedders.

8 years ago[llvmonly] Add support for nullable return types in runtime invoke code, so it can...
Zoltan Varga [Fri, 8 Jan 2016 12:12:52 +0000 (07:12 -0500)]
[llvmonly] Add support for nullable return types in runtime invoke code, so it can be used for all methods. Avoid emitting most runtime invoke wrappers in llvm-only mode, they are not needed any more.

8 years ago[llvmonly] Enable some tests which now work.
Zoltan Varga [Fri, 8 Jan 2016 11:13:28 +0000 (06:13 -0500)]
[llvmonly] Enable some tests which now work.

8 years ago[llvmonly] Fix support for gsharedvt delegate invoke wrappers, they need to dynamical...
Zoltan Varga [Fri, 8 Jan 2016 11:09:28 +0000 (06:09 -0500)]
[llvmonly] Fix support for gsharedvt delegate invoke wrappers, they need to dynamically check whenever the called method uses a gsharedvt calling conv.

8 years ago[amd64] Only use the gsharedvt calling conv for variable sized gsharedvt arguments.
Zoltan Varga [Fri, 8 Jan 2016 11:08:47 +0000 (06:08 -0500)]
[amd64] Only use the gsharedvt calling conv for variable sized gsharedvt arguments.

8 years ago[runtime] Set the wrapper info correctly for generic delegate-invoke wrappers.
Zoltan Varga [Fri, 8 Jan 2016 11:04:44 +0000 (06:04 -0500)]
[runtime] Set the wrapper info correctly for generic delegate-invoke wrappers.

8 years agoMerge pull request #2406 from vkargov/master
João Matos [Fri, 8 Jan 2016 00:43:11 +0000 (00:43 +0000)]
Merge pull request #2406 from vkargov/master

Fix the format statements in mono-gdb.

8 years agoFix the format statements in mono-gdb.
Vladimir Kargov [Thu, 7 Jan 2016 23:37:14 +0000 (15:37 -0800)]
Fix the format statements in mono-gdb.

8 years ago[ppdb] Fail fast when trying to load an .mdb file from memory.
Zoltan Varga [Thu, 7 Jan 2016 20:59:50 +0000 (15:59 -0500)]
[ppdb] Fail fast when trying to load an .mdb file from memory.

8 years ago[llvmonly] Share more signatures.
Zoltan Varga [Thu, 7 Jan 2016 20:29:03 +0000 (15:29 -0500)]
[llvmonly] Share more signatures.

8 years ago[llvmonly] Change the way delegate invokes are implemented, use a new CEE_MONO_CALLI_...
Zoltan Varga [Thu, 7 Jan 2016 18:08:26 +0000 (13:08 -0500)]
[llvmonly] Change the way delegate invokes are implemented, use a new CEE_MONO_CALLI_EXTRA_ARG il instruction so most of the logic is in the JIT, not in marshal.c.

8 years ago[llvmonly] Remove the old llvmonly runtime support code, its not needed anymore.
Zoltan Varga [Thu, 7 Jan 2016 17:39:53 +0000 (12:39 -0500)]
[llvmonly] Remove the old llvmonly runtime support code, its not needed anymore.

8 years agoMerge pull request #2333 from joelmartinez/docs-classic-fix
Jonathan Pryor [Thu, 7 Jan 2016 16:06:54 +0000 (11:06 -0500)]
Merge pull request #2333 from joelmartinez/docs-classic-fix

[mdoc] Added -api-style parameter.

8 years agoBump referencesource to get changes for multiple appdomain removal.
Rolf Bjarne Kvinge [Thu, 7 Jan 2016 12:37:54 +0000 (13:37 +0100)]
Bump referencesource to get changes for multiple appdomain removal.

8 years ago[corlib] Remove multiple appdomain support (AppDomain.CreateDomain, etc) from tvOS...
Rolf Bjarne Kvinge [Wed, 16 Dec 2015 18:20:33 +0000 (19:20 +0100)]
[corlib] Remove multiple appdomain support (AppDomain.CreateDomain, etc) from tvOS/watchOS.

8 years ago[llvm] Fix support for aot data files.
Zoltan Varga [Thu, 7 Jan 2016 11:58:41 +0000 (06:58 -0500)]
[llvm] Fix support for aot data files.

8 years ago[llvmonly] Remove some duplicate code.
Zoltan Varga [Thu, 7 Jan 2016 11:43:11 +0000 (06:43 -0500)]
[llvmonly] Remove some duplicate code.

8 years ago[llvmonly] Share more signatures in the gsharedvt in/out wrappers.
Zoltan Varga [Wed, 6 Jan 2016 16:56:09 +0000 (11:56 -0500)]
[llvmonly] Share more signatures in the gsharedvt in/out wrappers.

8 years ago[llvmonly] Fix a case where a non-virtual method was called using callvirt.
Zoltan Varga [Wed, 6 Jan 2016 16:55:31 +0000 (11:55 -0500)]
[llvmonly] Fix a case where a non-virtual method was called using callvirt.

8 years ago[mdoc] Added -api-style parameter.
Joel Martinez [Fri, 11 Dec 2015 21:19:57 +0000 (16:19 -0500)]
[mdoc] Added -api-style parameter.
You must now add the -api-style parameter when running mdoc update for a set of classic or unified assemblies.
This was added in order to properly support types and members that exist only in one or the other set.
Previously, there was an assumption that all types and members would be reflected in both classic and
unified versions of an assembly.

8 years ago[aot] Fix emission of external aot data by aligning tables in the file.
Rolf Bjarne Kvinge [Wed, 6 Jan 2016 12:56:43 +0000 (13:56 +0100)]
[aot] Fix emission of external aot data by aligning tables in the file.

The table reading code depends on data being aligned, so make sure it is.

8 years ago[runtime] Fix the DISABLE_JIT build.
Zoltan Varga [Wed, 6 Jan 2016 12:57:59 +0000 (07:57 -0500)]
[runtime] Fix the DISABLE_JIT build.

8 years ago[llvmonly] Add support for runtime invokes with nullable arguments.
Zoltan Varga [Wed, 6 Jan 2016 12:51:12 +0000 (07:51 -0500)]
[llvmonly] Add support for runtime invokes with nullable arguments.

8 years agoMerge pull request #2174 from stukselbax/master
Alex Rønne Petersen [Wed, 6 Jan 2016 10:32:28 +0000 (11:32 +0100)]
Merge pull request #2174 from stukselbax/master

[WCF] WebHttpBinding must use http scheme in case when SecurityMode == WebHttpSecurityMode.TransportCredentialOnly

8 years ago[llvmonly] Implement runtime invokes to gsharedvt methods.
Zoltan Varga [Wed, 6 Jan 2016 09:56:06 +0000 (04:56 -0500)]
[llvmonly] Implement runtime invokes to gsharedvt methods.

8 years ago[jit] Fix the handling of virtual generic methods on interfaces in the delegate virtu...
Zoltan Varga [Wed, 6 Jan 2016 08:59:01 +0000 (03:59 -0500)]
[jit] Fix the handling of virtual generic methods on interfaces in the delegate virtual invoke optimization. Fixes #37436.

8 years agoRevert "[corlib] Fixed the mobile build in System.Security.Cryptography.X509Certifica...
Martin Baulig [Tue, 5 Jan 2016 20:37:43 +0000 (15:37 -0500)]
Revert "[corlib] Fixed the mobile build in System.Security.Cryptography.X509Certificates."

This reverts commit 0ed6c0f5bf88090b71d2c132ae4e49e3b365f803.

8 years ago[amd64] Enable LLVM for more parameter passing conventions.
Zoltan Varga [Tue, 5 Jan 2016 19:55:46 +0000 (14:55 -0500)]
[amd64] Enable LLVM for more parameter passing conventions.

8 years ago[bcl]: Fix 'mobile_static' build.
Martin Baulig [Tue, 5 Jan 2016 18:31:19 +0000 (13:31 -0500)]
[bcl]: Fix 'mobile_static' build.

8 years ago[llvm] Fix the linking of the bblocks containing endfinally instructions with the...
Zoltan Varga [Tue, 5 Jan 2016 17:30:03 +0000 (12:30 -0500)]
[llvm] Fix the linking of the bblocks containing endfinally instructions with the targets of leave instructions, previously we would link the first bblock instead of the last one. Fixes #37412.

8 years agoMerge pull request #2401 from alexanderkyte/mobile_static_fixes
Martin Baulig [Tue, 5 Jan 2016 17:13:24 +0000 (12:13 -0500)]
Merge pull request #2401 from alexanderkyte/mobile_static_fixes

Minor mobile-static profile fixes

8 years agoMerge pull request #2385 from lambdageek/dev/checked-imageset-subset
Aleksey Kliger (λgeek) [Tue, 5 Jan 2016 16:45:22 +0000 (11:45 -0500)]
Merge pull request #2385 from lambdageek/dev/checked-imageset-subset

[checked] ImageSet may reference corlib implicitly in another ImageSet.

8 years ago[bcl] Fix Win32 network api exclusion on non-monodroid mobile
Alexander Kyte [Tue, 5 Jan 2016 16:38:06 +0000 (11:38 -0500)]
[bcl] Fix Win32 network api exclusion on non-monodroid mobile

8 years ago[bcl] Take mobile_static profile into account in preprocessor directive
Alexander Kyte [Tue, 5 Jan 2016 16:36:32 +0000 (11:36 -0500)]
[bcl] Take mobile_static profile into account in preprocessor directive

8 years ago[Mono.Security] Fixed bootstrap build.
Joao Matos [Tue, 5 Jan 2016 15:26:05 +0000 (15:26 +0000)]
[Mono.Security] Fixed bootstrap build.

8 years ago[System]: Cleanup the internal 'MonoTlsProviderFactory'.
Martin Baulig [Thu, 17 Dec 2015 23:13:13 +0000 (18:13 -0500)]
[System]: Cleanup the internal 'MonoTlsProviderFactory'.

8 years ago[System]: Include Mono.Security sources in XamMac profile to make it consistent with...
Martin Baulig [Sat, 12 Dec 2015 17:50:14 +0000 (12:50 -0500)]
[System]: Include Mono.Security sources in XamMac profile to make it consistent with the other mobile profiles.

8 years ago[Mono.Security]: Add MonoTlsProviderFactory.GetMonoSslStream(SslStream).
Martin Baulig [Sun, 13 Dec 2015 07:09:24 +0000 (02:09 -0500)]
[Mono.Security]: Add MonoTlsProviderFactory.GetMonoSslStream(SslStream).

8 years ago[Mono.Security]: Add 'IMonoSslStream.Provider' and 'GetConnectionInfo()'.
Martin Baulig [Sun, 13 Dec 2015 05:20:23 +0000 (00:20 -0500)]
[Mono.Security]: Add 'IMonoSslStream.Provider' and 'GetConnectionInfo()'.

8 years agoFix some compiler warnings in Mono.Security and System.
Martin Baulig [Sat, 12 Dec 2015 18:15:10 +0000 (13:15 -0500)]
Fix some compiler warnings in Mono.Security and System.

8 years ago[System]: Only use the 'MONO_SECURITY_ALIAS' conditional to determine whether or...
Martin Baulig [Sat, 12 Dec 2015 18:05:39 +0000 (13:05 -0500)]
[System]: Only use the 'MONO_SECURITY_ALIAS' conditional to determine whether or not to use 'extern alias MonoSecurity'.

8 years agoMerge pull request #2396 from akoeplinger/flaky-osx-socket-test
Alexander Köplinger [Tue, 5 Jan 2016 15:35:07 +0000 (16:35 +0100)]
Merge pull request #2396 from akoeplinger/flaky-osx-socket-test

[System] Fix flaky AcceptBlockingStatus test that sometimes failed on OSX

8 years agoRevert "[amd64] Remove some restrictions on passing/returning vtypes in registers."
Zoltan Varga [Tue, 5 Jan 2016 15:30:59 +0000 (10:30 -0500)]
Revert "[amd64] Remove some restrictions on passing/returning vtypes in registers."

This reverts commit 25105bd605a078ea399b8ae21cf151cba29c6e9b.

Revert this as it breaks tests.

8 years ago[runtime] Fix the loaded llvm build.
Zoltan Varga [Tue, 5 Jan 2016 14:06:19 +0000 (09:06 -0500)]
[runtime] Fix the loaded llvm build.

8 years ago[runtime] Allocate a parameter array in mono_jit_runtime_invoke () using g_alloca.
Zoltan Varga [Tue, 5 Jan 2016 10:32:53 +0000 (05:32 -0500)]
[runtime] Allocate a parameter array in mono_jit_runtime_invoke () using g_alloca.

8 years ago[amd64] Remove some restrictions on passing/returning vtypes in registers.
Zoltan Varga [Tue, 5 Jan 2016 10:30:45 +0000 (05:30 -0500)]
[amd64] Remove some restrictions on passing/returning vtypes in registers.

8 years ago[jit] Disable the support for -O=shared, use it only for icall wrappers.
Zoltan Varga [Mon, 4 Jan 2016 20:58:47 +0000 (15:58 -0500)]
[jit] Disable the support for -O=shared, use it only for icall wrappers.

8 years ago[llvmonly] Introduce a MonoFtnDesc structure to represent an address+argument pair...
Zoltan Varga [Mon, 4 Jan 2016 19:38:37 +0000 (14:38 -0500)]
[llvmonly] Introduce a MonoFtnDesc structure to represent an address+argument pair, use this to explicitly mark functions returning function descriptors.

8 years ago[llvmonly] Remove some jit icalls which are no longer used.
Zoltan Varga [Mon, 4 Jan 2016 19:08:06 +0000 (14:08 -0500)]
[llvmonly] Remove some jit icalls which are no longer used.