mono.git
7 years ago[io-layer] Extract file (#4255)
Ludovic Henry [Fri, 20 Jan 2017 16:32:48 +0000 (11:32 -0500)]
[io-layer] Extract file (#4255)

* [io-layer] Merge io related headers

* [io-layer] Remove global variable _wapi_had_shut_down

* [io-layer] Inline io-portability.c file into io.c

* [io-layer] Inline locking.c file into io.c

* [io-layer] Inline posix.c file into io.c

* [file] Move metadata/file-io* files to metadata/w32file*

* [io-layer] Extract file functions

* [file] Remove overlapped parameter which is always NULL

* [file] Remove SECURITY_ATTRIBUTES parameter which is always NULL

* [file] Remove GET_FILEEX_INFO_LEVELS parameter which is always GetFileExInfoStandard

* [file] Replace ULARGE_INTEGER parameter type with guint64

* [file] Replace WIN32_FILE_ATTRIBUTE_DATA parameter type with MonoIOStat

* [file] Remove mono_w32file_create unused parameter tmplate

* [file] Fix win32 build

7 years ago[reflection] Use coop handles for MonoMethod icalls (#4272)
Aleksey Kliger (λgeek) [Fri, 20 Jan 2017 15:35:02 +0000 (10:35 -0500)]
[reflection] Use coop handles for MonoMethod icalls (#4272)

* [reflection] Use coop handles for MonoMethod.GetGenericArguments

* [reflection] Use handles for ves_icall_MonoMethod_GetGenericMethodDefinition
  and two more trivial functions:
  - ves_icall_MonoMethod_get_IsGenericMethod
  - ves_icall_MonoMethod_get_IsGenericMethodDefinition

* [runtime] Add mono_method_get_base_method function

  - Internal function in class-internals.h, for now.
  - Code factored out from ves_icall_MonoMethod_get_base_method
  - ves_icall_MonoMethod_get_base_method just calls this utility and wraps on
    reflection objects, using handles.

* [reflection] Use coop handles for ves_icall_MonoMethod_MakeGenericMethod_impl

* [reflection] Use coop handles for ves_icall_MonoMethod_GetPInvoke

* [reflection] Use coop handles for ves_icall_MonoMethod_get_core_clr_security_level

* [reflection] Use coop handles for ves_icall_MonoMethod_get_name

7 years ago[bcl] Rename FEATURE_MONO_CAS to MONO_FEATURE_CAS
Alexander Köplinger [Fri, 20 Jan 2017 15:00:56 +0000 (16:00 +0100)]
[bcl] Rename FEATURE_MONO_CAS to MONO_FEATURE_CAS

To be consistent with the other MONO_FEATURE_* defines.

7 years ago[runtime] Mono.Dynamic.Interpreter is no more, delete it from the list of assemblies...
Zoltan Varga [Fri, 20 Jan 2017 10:08:50 +0000 (05:08 -0500)]
[runtime] Mono.Dynamic.Interpreter is no more, delete it from the list of assemblies compiled by make fullaotcheck.

7 years ago[runtime] Fix locking issues while accessing MonoClass bitfields. (#4275)
Zoltan Varga [Fri, 20 Jan 2017 08:28:22 +0000 (03:28 -0500)]
[runtime] Fix locking issues while accessing MonoClass bitfields. (#4275)

7 years ago[System.Transactions] Add stubs and visibility fixes for netstandard20 APIs
Alexander Köplinger [Fri, 20 Jan 2017 02:06:05 +0000 (03:06 +0100)]
[System.Transactions] Add stubs and visibility fixes for netstandard20 APIs

7 years agoFix memory leak when creating sequence points (#4273)
Michael DeRoy [Fri, 20 Jan 2017 00:28:47 +0000 (19:28 -0500)]
Fix memory leak when creating sequence points (#4273)

7 years ago[sre] Use coop handles in parts of sre.c
Aleksey Kliger [Thu, 12 Jan 2017 15:36:21 +0000 (10:36 -0500)]
[sre] Use coop handles in parts of sre.c

* Convert ves_icall_RuntimeType_MakeGenericType to use handles.
* The above necessitates converting mono_reflection_bind_generic_parameters and
  mono_reflection_type_get_handle (renamed to
  mono_reflection_type_handle_mono_type) to use handles.
* From there we have to touch a lot of builder internals:
  - ves_icall_DynamicMethod_create_dynamic_method
  - ves_icall_ModuleBuilder_RegisterToken
  - ves_icall_ModuleBuilder_basic_init
  - ves_icall_ModuleBuilder_getMethodToken
  - ves_icall_ModuleBuilder_getToken
  - ves_icall_ModuleBuilder_getUSIndex
  - ves_icall_TypeBuilder_create_runtime_class
* As well as runtime functions
  - mono_image_insert_string
  - mono_image_create_token
  - mono_class_{get,has,set}_ref_info
  - mono_reflection_is_usertype
  - mono_dynimage_encode_reflection_sighelper
  - mono_dynamic_image_register_token

7 years agoAdd mdb2ppdb man page, remove prj2make man page
Miguel de Icaza [Thu, 19 Jan 2017 18:48:14 +0000 (13:48 -0500)]
Add mdb2ppdb man page, remove prj2make man page

7 years agoMerge pull request #4269 from kumpera/nuget-fixing-round2
Rodrigo Kumpera [Thu, 19 Jan 2017 18:26:54 +0000 (10:26 -0800)]
Merge pull request #4269 from kumpera/nuget-fixing-round2

[runtime] A pair of small fixes for the ignore assembly work.

7 years ago[threads] Fix crash on unknown policy (#4264)
Ludovic Henry [Thu, 19 Jan 2017 14:31:01 +0000 (09:31 -0500)]
[threads] Fix crash on unknown policy (#4264)

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

7 years ago[threadpool] Fix race on runtime shutdown (#4263)
Ludovic Henry [Thu, 19 Jan 2017 14:30:07 +0000 (09:30 -0500)]
[threadpool] Fix race on runtime shutdown (#4263)

We cannot free the threadpool, because there is a race on shutdown where a managed thread may request a new threadpool thread, but we already destroyed the threadpool. So to avoid a use-after-free, we simply do not free the threadpool, as we won't be able to access the threadpool anyway because the ref count will be 0

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

7 years ago[io-layer] Extract socket (#4241)
Ludovic Henry [Thu, 19 Jan 2017 14:25:55 +0000 (09:25 -0500)]
[io-layer] Extract socket (#4241)

* [socket] Extract win32 and unix specific code from w32socket.c

* [socket] Extract WSAGetLastError and WSASetLastError

* [socket] Extract closesocket

* [socket] Extract iocltsocket

* [socket] Extract socket-wrappers.h functions

* [socket] Extract w32handle operations

* [socket] Extract WSAIoctl

* [socket] Do not use mono_w32socket_ioctl for disconnect

* [socket] Extract errno_to_WSA

* [socket] Remove redundant mono_w32handle_get_type/mono_w32handle_lookup

* [socket] Inline _wapi_* functions

* [socket] Make disconnect not rely on mono_w32socket_ioctl

* [socket] Remove unused parameters to mono_w32socket_transmit_file

* [socket] Refactor calls to mono_w32socket_convert_error

* [socket] Remove dead code

7 years ago[mini] Add new JIT flag JIT_FLAG_DISCARD_RESULTS to reduce the noise when profiling...
Rodrigo Kumpera [Thu, 19 Jan 2017 11:34:50 +0000 (03:34 -0800)]
[mini] Add new JIT flag JIT_FLAG_DISCARD_RESULTS to reduce the noise when profiling the jit with --compile-all. (#4266)

JI registration dominates profiling as it has some perf issues itself.

7 years ago[runtime] A pair of small fixes for the ignore assembly work.
Rodrigo Kumpera [Thu, 19 Jan 2017 01:54:32 +0000 (17:54 -0800)]
[runtime] A pair of small fixes for the ignore assembly work.

image.c (do_mono_image_load): Ignore refonly images when checking for ignorable assemblies.

icall.c (ves_icall_System_Reflection_Assembly_InternalGetAssemblyName): Load the image in ref only mode.

7 years ago[btls] Disable RC4 cipher suites by default
Alexander Köplinger [Wed, 18 Jan 2017 20:53:22 +0000 (21:53 +0100)]
[btls] Disable RC4 cipher suites by default

They should not be used anymore according to https://tools.ietf.org/html/rfc7465
and browser like Chrome, Firefox and Edge/IE [1] already removed them.

We should to do the same. To have everything in one place I also moved
the disabling of SSLv2/v3 to the mono_btls_ssl_ctx_new function as well
instead of disabling it on each single connection.

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

[1] https://blogs.windows.com/msedgedev/2016/08/09/rc4-now-deprecated/

7 years ago[bockbuild] Fix a packaging regression
Alexis Christoforides [Wed, 18 Jan 2017 20:21:07 +0000 (15:21 -0500)]
[bockbuild] Fix a packaging regression

7 years agoMerge pull request #4262 from kumpera/fix-windows
Rodrigo Kumpera [Wed, 18 Jan 2017 18:18:41 +0000 (13:18 -0500)]
Merge pull request #4262 from kumpera/fix-windows

Fix the windows build.

7 years agoFix the windows build.
Rodrigo Kumpera [Wed, 18 Jan 2017 15:50:51 +0000 (07:50 -0800)]
Fix the windows build.

7 years ago[pdb2mdb] Detect portable PDB and fail gracefully instead of crashing (#4261)
Alexander Köplinger [Wed, 18 Jan 2017 15:48:07 +0000 (16:48 +0100)]
[pdb2mdb] Detect portable PDB and fail gracefully instead of crashing (#4261)

Before when trying to convert an assembly that had a portable PDB
instead of a native PDB alongside it we'd just crash in the
Microsoft.Cci pdb reader.

We now check whether the symbol file is a portable PDB and exit
gracefully with an error message and exit code 2 from the app.

Users which access the Converter class (like e.g. Xamarin Android [1])
directly can now catch the PortablePdbNotSupportedException to
do custom logic.

[1] https://github.com/xamarin/xamarin-android/blob/15f7547fa673e02256a75910c60c5e13eb158d2b/src/Xamarin.Android.Build.Tasks/Tasks/ConvertDebuggingFiles.cs#L28

7 years ago[reflection] Fix ves_icall_RuntimeTypeHandle_GetGenericTypeDefinition_impl
Aleksey Kliger [Wed, 18 Jan 2017 00:40:14 +0000 (19:40 -0500)]
[reflection] Fix ves_icall_RuntimeTypeHandle_GetGenericTypeDefinition_impl

There was a typo in ea176c5bb8d2f93dafeec4aff683860c886c97ba that inadvertantly
replaced `generic_class` by `klass`.

7 years ago[coop handles] Fix mono_gchandle_get_target_handle
Aleksey Kliger [Tue, 17 Jan 2017 22:27:45 +0000 (17:27 -0500)]
[coop handles] Fix mono_gchandle_get_target_handle

Apparently it did not get exercised previously.

7 years ago[test] RuntimeType.GetGenericTypeDefiniton should return the TypeBuilder
Aleksey Kliger [Wed, 18 Jan 2017 00:38:01 +0000 (19:38 -0500)]
[test] RuntimeType.GetGenericTypeDefiniton should return the TypeBuilder

even after CreateType has already been called.

7 years ago[mini-posix] close file stream before exec'ing into GDB/LLDB
Bernhard Urban [Wed, 18 Jan 2017 13:08:50 +0000 (05:08 -0800)]
[mini-posix] close file stream before exec'ing into GDB/LLDB

otherwise it isn't ensured that the content is written to the file.

7 years ago[mini-posix] fix indent
Bernhard Urban [Wed, 18 Jan 2017 13:07:14 +0000 (05:07 -0800)]
[mini-posix] fix indent

7 years ago[exception] add another testcase where an exception is rethrown explicitly (and there...
Bernhard Urban [Mon, 16 Jan 2017 13:46:00 +0000 (14:46 +0100)]
[exception] add another testcase where an exception is rethrown explicitly (and therefore another behavior is expected)

7 years ago[exception] retain stack trace when an exception is rethrown
Bernhard Urban [Mon, 16 Jan 2017 13:45:52 +0000 (14:45 +0100)]
[exception] retain stack trace when an exception is rethrown

7 years agoMerge pull request #4234 from kumpera/katia-flavia
Rodrigo Kumpera [Wed, 18 Jan 2017 06:21:30 +0000 (01:21 -0500)]
Merge pull request #4234 from kumpera/katia-flavia

[runtime] Deny loading bad images.

7 years ago[bockbuild] Fix packaging regression
Alexis Christoforides [Tue, 17 Jan 2017 23:21:58 +0000 (18:21 -0500)]
[bockbuild] Fix packaging regression

7 years ago[tools] Add nuget-hash-extractor tool to help produce the runtime ignored assemblies...
Rodrigo Kumpera [Tue, 17 Jan 2017 22:31:32 +0000 (14:31 -0800)]
[tools] Add nuget-hash-extractor tool to help produce the runtime ignored assemblies table.

This tool takes a folder full of nupkg file and print macro invocations to add to image.c:ignored_assemblies.

Usage:

make download
make run

The download.sh script downloads all nugets we want to ignore. So update it before running if you have more you want to add.

7 years ago[runtime] Deny loading images that belong to a set of well known bad images.
Rodrigo Kumpera [Fri, 13 Jan 2017 19:00:05 +0000 (11:00 -0800)]
[runtime] Deny loading images that belong to a set of well known bad images.

Matching is done by assembly name and GUID. This should be enough to narrow
down the effect.

This approach is not very efficient as it waits for quite some of the loading
process to be on its way before detection. It works in the case that only a few
rare images are matched.

7 years ago[MacSDK] Fix typo in ironlangs manifest
Alexis Christoforides [Tue, 17 Jan 2017 21:33:26 +0000 (16:33 -0500)]
[MacSDK] Fix typo in ironlangs manifest

7 years ago[msvc] Update csproj files (#4254)
monojenkins [Tue, 17 Jan 2017 18:17:57 +0000 (18:17 +0000)]
[msvc] Update csproj files (#4254)

7 years ago[interpreter] fix castclass and isinst instruction
Bernhard Urban [Tue, 17 Jan 2017 16:26:32 +0000 (17:26 +0100)]
[interpreter] fix castclass and isinst instruction

`mono_object_isinst_mbyref_checked` was removed recently. however, this
code unnecessary checks cases that are covered by
`mono_object_isinst_checked` anyway.

7 years agoClean up few warnings
Marek Safar [Tue, 17 Jan 2017 12:47:19 +0000 (13:47 +0100)]
Clean up few warnings

7 years ago[tests] Use correct MONO_PATH directory for tools like MCS/ILASM
Alexander Köplinger [Tue, 17 Jan 2017 11:59:41 +0000 (12:59 +0100)]
[tests] Use correct MONO_PATH directory for tools like MCS/ILASM

We need to use the mcs/class/lib/build directory so Roslyn
works (it runs into AOT bugs in net_4_x).

This was fixed in a few other places already, fix more.

7 years ago[lldb] Embed the actual entry in the jit descriptor structure to avoid a roundtrip...
Zoltan Varga [Tue, 17 Jan 2017 09:13:38 +0000 (04:13 -0500)]
[lldb] Embed the actual entry in the jit descriptor structure to avoid a roundtrip. Add a timer for the amount of time spent in  __mono_jit_debug_register_code (). Avoid emitting info for specific trampolines for now.

7 years ago[tools] Add mdb2ppdb tool for converting a .mdb file to a portable pdb .pdb file...
Zoltan Varga [Mon, 16 Jan 2017 23:22:28 +0000 (18:22 -0500)]
[tools] Add mdb2ppdb tool for converting a .mdb file to a portable pdb .pdb file. (#4251)

7 years ago[runtime] Enable unwind_backtrace on ARM/linux (#4230)
Alexander Kyte [Mon, 16 Jan 2017 01:18:19 +0000 (20:18 -0500)]
[runtime] Enable unwind_backtrace on ARM/linux (#4230)

7 years ago[jit] Optimize constrained calls to Enum.GetHasCode () to avoid boxing. Fixes #51330...
Zoltan Varga [Mon, 16 Jan 2017 00:52:46 +0000 (19:52 -0500)]
[jit] Optimize constrained calls to Enum.GetHasCode () to avoid boxing. Fixes #51330. (#4250)

7 years ago[runtime] Remove glib usage from public headers. (#4242)
Zoltan Varga [Mon, 16 Jan 2017 00:32:48 +0000 (19:32 -0500)]
[runtime] Remove glib usage from public headers. (#4242)

7 years ago[jit] Fix a regression introduced by the addition of an assert in bf467001b10a0e4fe38...
Zoltan Varga [Sun, 15 Jan 2017 17:54:30 +0000 (12:54 -0500)]
[jit] Fix a regression introduced by the addition of an assert in bf467001b10a0e4fe389b1616ffc56009a11aaa5.

7 years ago[msvc] Update csproj files (#4249)
monojenkins [Sat, 14 Jan 2017 17:21:08 +0000 (17:21 +0000)]
[msvc] Update csproj files (#4249)

7 years agoMerge pull request #4246 from Unity-Technologies/mcs-generic-constraint-enumerator
Marek Safar [Fri, 13 Jan 2017 19:01:03 +0000 (20:01 +0100)]
Merge pull request #4246 from Unity-Technologies/mcs-generic-constraint-enumerator

[mcs] Ignore constraints on enumerator generic methods. Fixes #51506

7 years ago[mcs] Ignore constraints on enumerator generic methods. Fixes #51506
Josh Peterson [Fri, 13 Jan 2017 14:44:03 +0000 (09:44 -0500)]
[mcs] Ignore constraints on enumerator generic methods. Fixes #51506

This is similar to the change at 30f6c9933a6c0595a5d1d5cf681be39b4367446e

7 years ago[btls] Remove btls-cert-sync and integrate it into cert-sync
Alexander Köplinger [Fri, 13 Jan 2017 13:42:50 +0000 (14:42 +0100)]
[btls] Remove btls-cert-sync and integrate it into cert-sync

cert-sync already knew how to import into the BTLS cert store,
update it to always import into both stores so we don't need
the btls-cert-sync tool anymore.

7 years ago[Mono.Security] Consider _newFormat when building certificate collection in X509Store
Alexander Köplinger [Fri, 13 Jan 2017 13:38:02 +0000 (14:38 +0100)]
[Mono.Security] Consider _newFormat when building certificate collection in X509Store

It only looked at the legacy format where certificates had the *.cer
extension, the new BTLS store uses *.0 extension.

7 years ago[hybrid] Enable gsharedvt trampoline on amd64
Ludovic Henry [Thu, 12 Jan 2017 18:31:59 +0000 (16:31 -0200)]
[hybrid] Enable gsharedvt trampoline on amd64

7 years ago[hybrid] Ensure gsharedvt isn't disabled once it's been enabled
Ludovic Henry [Thu, 12 Jan 2017 18:24:06 +0000 (16:24 -0200)]
[hybrid] Ensure gsharedvt isn't disabled once it's been enabled

We would observe gsharedvt being disabled on desktop, even after passing --hybrid-aot. This would happen because we would call `mono_set_optimizations` without the `gsharedvt` optimisation enabled, thus calling `mono_set_generic_sharing_vt_supported(FALSE)` disabling again gsharedvt.

7 years ago[hybrid] Enable logging for methods not found with gsharedvt enabled
Ludovic Henry [Thu, 12 Jan 2017 18:22:59 +0000 (16:22 -0200)]
[hybrid] Enable logging for methods not found with gsharedvt enabled

7 years ago[Facades] Implementation types from CoreFX
Marek Safar [Fri, 13 Jan 2017 08:14:17 +0000 (09:14 +0100)]
[Facades] Implementation types from CoreFX

7 years agoMerge pull request #4198 from vkargov/vk-prevbb
Rodrigo Kumpera [Thu, 12 Jan 2017 23:13:49 +0000 (15:13 -0800)]
Merge pull request #4198 from vkargov/vk-prevbb

[jit] Fix the prev_bb quick lookup in mono_merge_basic_blocks().

7 years agoMerge pull request #4212 from BrzVlad/fix-ephemeron-leak
Rodrigo Kumpera [Thu, 12 Jan 2017 23:11:30 +0000 (15:11 -0800)]
Merge pull request #4212 from BrzVlad/fix-ephemeron-leak

[corlib] Avoid unbounded resizes of ephemeron arrays

7 years ago[runtime] Use mono_{object,class}_is_transparent_proxy () where possible
Aleksey Kliger [Thu, 12 Jan 2017 20:24:36 +0000 (15:24 -0500)]
[runtime] Use mono_{object,class}_is_transparent_proxy () where possible

instead of comparing the klass to mono_defaults.transparent_proxy_class directlyi.

7 years ago[runtime] Fix compile error in mono_domain_from_appdomain when DISABLE_REMOTING is...
Aleksey Kliger [Thu, 12 Jan 2017 19:48:48 +0000 (14:48 -0500)]
[runtime] Fix compile error in mono_domain_from_appdomain when DISABLE_REMOTING is defined

mono_defaults.transparent_proxy_class is #ifdef'd out when remoting is disabled.

7 years ago[runtime] Add an --enable-minimal=mdb option for disabling support for .mdb symbol...
Zoltan Varga [Thu, 12 Jan 2017 21:32:54 +0000 (16:32 -0500)]
[runtime] Add an --enable-minimal=mdb option for disabling support for .mdb symbol files.

7 years ago[mini] Initialize profiler in mini_init
Aleksey Kliger [Thu, 12 Jan 2017 18:48:15 +0000 (13:48 -0500)]
[mini] Initialize profiler in mini_init

Initializing the profiler later fixes a segfault with cooperative GC due to
thread info callbacks not being initialized.

7 years ago[ci] Fix interpreter config and simplify CI_TAGS checking in run-jenkins.sh
Alexander Köplinger [Thu, 12 Jan 2017 20:07:31 +0000 (21:07 +0100)]
[ci] Fix interpreter config and simplify CI_TAGS checking in run-jenkins.sh

The elif for the interpreter was done after the elif
that catches (almost) all cases so it was ignored.

Simplify and condense the CI_TAGS checking so it's
easier to understand and more readable.

7 years ago[configure] avoid avoid 'no symbols' warnings on darwin (2nd attempt)
Bernhard Urban [Tue, 10 Jan 2017 12:21:07 +0000 (13:21 +0100)]
[configure] avoid avoid 'no symbols' warnings on darwin (2nd attempt)

7 years ago[reflection] Coop handles for more icalls in `System.RuntimeTypeHandle` (#4220)
Aleksey Kliger (λgeek) [Thu, 12 Jan 2017 19:05:59 +0000 (14:05 -0500)]
[reflection] Coop handles for more icalls in `System.RuntimeTypeHandle` (#4220)

* [reflection] Use handles for ves_icall_RuntimeType_get_DeclaringMethod

* [reflection] Use handles for System.RuntimeType.GetInterfaces

* [reflection] Use handles for System.RuntimeType.GetInterfaceMapData

* [reflection] Use handles for System.RuntimeType.GetGenericArgumentsInternal

* [reflection] Use handles for System.RuntimeType.MakePointerType

* [reflection] Use handles for ves_icall_RuntimeType_get_DeclaringType

* [reflection] Use handles for more System.RuntimeType icalls

  - CreateInstanceInternal
  - GetConstructors_native
  - GetCorrespondingInflatedConstructor
  - GetCorrespondingInflatedMethod
  - GetEvents_native
  - GetFields_native
  - GetGenericParameterPosition
  - GetMethodsByName_native
  - GetNestedTypes_native
  - GetPacking
  - GetTypeCodeImplInternal
  - IsTypeExportedToWindowsRuntime
  - IsWindowsRuntimeObjectType
  - get_core_clr_security_level
  - make_array_type
  - make_byref_type

7 years ago[unwind] respect link register on ppc and use right dwarf register for PC depending...
Bernhard Urban [Thu, 12 Jan 2017 14:11:29 +0000 (15:11 +0100)]
[unwind] respect link register on ppc and use right dwarf register for PC depending on ELF spec version

fixes a regression introduced by 3baad19c6c34891fa04c59d9673cbbd7c91e5ac2

7 years ago[runtime] Support TransparentProxy-es in mono_domain_from_appdomain ().
Zoltan Varga [Thu, 12 Jan 2017 18:18:59 +0000 (13:18 -0500)]
[runtime] Support TransparentProxy-es in mono_domain_from_appdomain ().

7 years agoMerge pull request #3563 from lewurm/interpreter
Rodrigo Kumpera [Thu, 12 Jan 2017 17:46:05 +0000 (09:46 -0800)]
Merge pull request #3563 from lewurm/interpreter

reviving interpreter

7 years agoFixes build
Marek Safar [Thu, 12 Jan 2017 17:19:56 +0000 (18:19 +0100)]
Fixes build

7 years ago[Mono.Security] Add IVT to Xamarin dlls
Marek Safar [Thu, 12 Jan 2017 15:41:15 +0000 (16:41 +0100)]
[Mono.Security] Add IVT to Xamarin dlls

7 years agoMerge pull request #4235 from grendello/android_dns_servers
Marek Safar [Thu, 12 Jan 2017 11:56:41 +0000 (12:56 +0100)]
Merge pull request #4235 from grendello/android_dns_servers

[BCL,Android] Get DNS server addresses from Android

7 years ago[BCL,Android] Get DNS server addresses from Android
Marek Habersack [Wed, 11 Jan 2017 10:34:47 +0000 (11:34 +0100)]
[BCL,Android] Get DNS server addresses from Android

This change implements retrieving a list of DNS server addresses from Android
instead of attempting to parse `/etc/resolv.conf` which doesn't exist on
Android.
The list is retrieved by calling native function in Xamarin.Android that gets
the data from the system.

Part 2 of fix for https://bugzilla.xamarin.com/show_bug.cgi?id=48016

7 years agoBump cecil
Marek Safar [Thu, 12 Jan 2017 09:05:01 +0000 (10:05 +0100)]
Bump cecil

7 years ago[aot] Add 'profile-only' argument to only aot methods found in the profile file.
Zoltan Varga [Thu, 12 Jan 2017 08:32:06 +0000 (03:32 -0500)]
[aot] Add 'profile-only' argument to only aot methods found in the profile file.

7 years ago[aot] Add a 'verbose' argument to the aot compiler, use it to print out more informat...
Zoltan Varga [Thu, 12 Jan 2017 03:04:26 +0000 (22:04 -0500)]
[aot] Add a 'verbose' argument to the aot compiler, use it to print out more information on profile loading errors.

7 years ago[aot] Add support for loading multiple profile files.
Zoltan Varga [Thu, 12 Jan 2017 02:23:16 +0000 (21:23 -0500)]
[aot] Add support for loading multiple profile files.

7 years ago[lldb] Avoid a crash in mono_lldb_remove_method () if lldb is not enabled.
Zoltan Varga [Wed, 11 Jan 2017 22:56:11 +0000 (17:56 -0500)]
[lldb] Avoid a crash in mono_lldb_remove_method () if lldb is not enabled.

7 years ago[ilasm] Support 'nooptimization' attribute.
Jon Purdy [Tue, 10 Jan 2017 22:30:14 +0000 (14:30 -0800)]
[ilasm] Support 'nooptimization' attribute.

7 years ago[msvc] Add lldb.c to the vs project.
Zoltan Varga [Wed, 11 Jan 2017 21:50:12 +0000 (16:50 -0500)]
[msvc] Add lldb.c to the vs project.

7 years ago[lldb] Use mono_unwind_get_cie_program () instead of mono_arch_get_cie_program (...
Zoltan Varga [Wed, 11 Jan 2017 21:17:45 +0000 (16:17 -0500)]
[lldb] Use mono_unwind_get_cie_program () instead of mono_arch_get_cie_program () which might not be available on all platforms.

7 years ago[BTLS]: Fix callback method signatures.
Martin Baulig [Wed, 16 Nov 2016 15:49:36 +0000 (16:49 +0100)]
[BTLS]: Fix callback method signatures.

7 years ago[BTLS]: Remove unused local variables.
Martin Baulig [Wed, 16 Nov 2016 15:39:45 +0000 (16:39 +0100)]
[BTLS]: Remove unused local variables.

7 years ago[btls] Fix function declaration and add it to btls-key.h header
Alexander Köplinger [Wed, 11 Jan 2017 19:15:03 +0000 (20:15 +0100)]
[btls] Fix function declaration and add it to btls-key.h header

7 years ago[mcs] Don't do constraints on fabricated generic methods. Fixes #47672
Marek Safar [Wed, 11 Jan 2017 19:16:52 +0000 (20:16 +0100)]
[mcs] Don't do constraints on fabricated generic methods. Fixes #47672

7 years ago[System.Windows.Forms] Clean up misused __MonoCS__
Marek Safar [Tue, 10 Jan 2017 16:44:25 +0000 (17:44 +0100)]
[System.Windows.Forms] Clean up misused __MonoCS__

7 years ago[msvc] Update csproj files (#4226)
monojenkins [Wed, 11 Jan 2017 18:35:12 +0000 (19:35 +0100)]
[msvc] Update csproj files (#4226)

7 years agoMerge pull request #4224 from akoeplinger/fix-46602
Alexander Köplinger [Wed, 11 Jan 2017 18:32:38 +0000 (19:32 +0100)]
Merge pull request #4224 from akoeplinger/fix-46602

[btls] Create a native BTLS key handle for X509CertificateImplBtls.PrivateKey

7 years agoLldb support code for mono (#4225)
Zoltan Varga [Wed, 11 Jan 2017 17:12:32 +0000 (12:12 -0500)]
Lldb support code for mono (#4225)

* Initial version of lldb support code.

* [lldb] Keep all the debug entries in a linked list so lldb can read it after attaching to the process.

* [lldb] Add an --enable-minimal=lldb option to disable the code. Add locking.

* [lldb] Add support for dynamic methods by adding a new protocol entry for unloading code regions.

* [lldb] Add beginnings of a test suite using the lldb python bindings.

* [lldb] Emit line number info for methods, not used yet.

* [lldb] Add dummy fields to structures to make sure 64 bit fields are 64 bit aligned.

* [lldb] Finish emission of line number info.

* [lldb] Use mono_method_full_name () for computing method names.

* [lldb] Emit info for specific trampolines as well.

* [lldb] Add tests for line number info.

* [lldb] Fix unwind info encoding on x86.

* [lldb] Skip seq points with no native offset.

* [lldb] Add tests for breakpoints.

7 years ago[remoting] Coop handles for proxy objects (#4208)
Aleksey Kliger (λgeek) [Wed, 11 Jan 2017 15:38:49 +0000 (10:38 -0500)]
[remoting] Coop handles for proxy objects (#4208)

* [remoting] Use coop handles in several functions

  - icall System.Runtime.Remoting.Proxies.RealProxy.InternalGetTransparentProxy
  - mono_remote_class
  - mono_remote_class_vtable
  - mono_upgrade_remote_class
  - mono_object_handle_get_virtual_method
  - mono_object_handle_isinst
  - mono_object_handle_isinst_mbyref

* [reflection] Use handles in System.RuntimeTypeHandle.IsInstanceOfType

* [runtime] Rewrite mono_object_castclass_mbyref
  in terms of mono_object_handle_isinst_mbyref.

  This is an external API function that isn't used inside the runtime.

* [runtime] Remove mono_object_isinst_mbyref_checked

  It was a runtime internal funciton.

  All of its former callers have been converted to use mono_object_handle_isinst_mbyref.

7 years agoMerge pull request #4219 from marek-safar/corert-bump
Marek Safar [Wed, 11 Jan 2017 13:32:31 +0000 (14:32 +0100)]
Merge pull request #4219 from marek-safar/corert-bump

Update ValueTuple implementation

7 years ago[corlib] Avoid unnecessary ephemeron array resizes
Vlad Brezae [Wed, 11 Jan 2017 01:26:41 +0000 (03:26 +0200)]
[corlib] Avoid unnecessary ephemeron array resizes

7 years ago[corlib] Avoid unbounded resizes of ephemeron arrays
Vlad Brezae [Fri, 6 Jan 2017 00:46:29 +0000 (02:46 +0200)]
[corlib] Avoid unbounded resizes of ephemeron arrays

We compute the size of the array based on how many live ephemerons it stores, and not based on the previous size of the array which doesn't indicate anything.

Fixes leak from #47388.

7 years ago[corlib] Update ValueTuple implementation
Marek Safar [Tue, 10 Jan 2017 14:08:21 +0000 (15:08 +0100)]
[corlib] Update ValueTuple implementation

7 years agoBump corert
Marek Safar [Mon, 9 Jan 2017 16:50:21 +0000 (17:50 +0100)]
Bump corert

7 years ago[jit] Extends an array in mono_spill_global_vars () instead of asserting. Fixes ...
Zoltan Varga [Wed, 11 Jan 2017 09:31:21 +0000 (04:31 -0500)]
[jit] Extends an array in mono_spill_global_vars () instead of asserting. Fixes #50789. (#4201)

7 years agoMerge pull request #4222 from alexanderkyte/fix_mismatch_com_disabled
Marek Safar [Wed, 11 Jan 2017 08:44:17 +0000 (09:44 +0100)]
Merge pull request #4222 from alexanderkyte/fix_mismatch_com_disabled

[runtime] Fix corlib out of date error with disabled COM

7 years agoMono BCL test fixes so XM can run them (#4210)
Chris Hamons [Tue, 10 Jan 2017 22:59:08 +0000 (16:59 -0600)]
Mono BCL test fixes so XM can run them (#4210)

7 years ago[btls] Create a native BTLS key handle for X509CertificateImplBtls.PrivateKey
Alexander Köplinger [Tue, 10 Jan 2017 20:40:58 +0000 (21:40 +0100)]
[btls] Create a native BTLS key handle for X509CertificateImplBtls.PrivateKey

When setting X509CertificateImplBtls.PrivateKey we'd previously just
update the fallback instance. This causes problems if other code
internal to System.dll like MonoBtlsContext.SetPrivateCertificate()
tries to fetch the NativePrivateKey since it'd be null at that point.

This scenario happens e.g. with HttpListener, it supports a special
directory in ~/.config/.mono/httplistener which contains <port>.cer
and <port>.pvk files (public and private key) that will be used
as the server certificate. In that code we're reading the private
key from the file and assigning it to X509CertificateImplBtls.PrivateKey
without ever having a native BTLS handle.

The fix is to create such a native BTLS handle from the managed
private key when needed.

Note that we can't simply always do this e.g. in the PrivateKey
setter because the setter will be used with instances that
don't actually contain a private key. We can't throw in those
cases so instead we do it only when NativePrivateKey is accessed.

To make the code clearer and easier to read, `privateKey` was
renamed to `nativePrivateKey` in X509CertificateImplBtls.

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

7 years ago[btls] Call Reset() in X509CertificateImplBtls.Import()
Alexander Köplinger [Tue, 10 Jan 2017 20:37:30 +0000 (21:37 +0100)]
[btls] Call Reset() in X509CertificateImplBtls.Import()

Otherwise we'd not clear the fields like subjectName, issuerName, etc.
and the properties they're backing would continue to return old values.

7 years ago[btls] Free handle returned by EVP_PKEY_get1_RSA
Alexander Köplinger [Tue, 10 Jan 2017 21:14:47 +0000 (22:14 +0100)]
[btls] Free handle returned by EVP_PKEY_get1_RSA

From the header docs:

> The |get1| functions return a fresh reference to the underlying
> object or NULL if |pkey| is not of the correct type.

7 years ago[System] Use non-obsolete API in SslStream
Alexander Köplinger [Tue, 10 Jan 2017 20:44:29 +0000 (21:44 +0100)]
[System] Use non-obsolete API in SslStream

7 years ago[msvc] Update csproj files (#4221)
monojenkins [Tue, 10 Jan 2017 18:33:39 +0000 (19:33 +0100)]
[msvc] Update csproj files (#4221)

7 years ago[runtime] Fix corlib out of date error with disabled COM
Alexander Kyte [Tue, 10 Jan 2017 18:25:10 +0000 (18:25 +0000)]
[runtime] Fix corlib out of date error with disabled COM

7 years ago[bcl] Remove System.Activities.Presentation folder from referencesource
Alexander Köplinger [Tue, 10 Jan 2017 15:29:59 +0000 (16:29 +0100)]
[bcl] Remove System.Activities.Presentation folder from referencesource

We won't import it into Mono anytime soon and the long paths
cause issues when checking out Mono on Windows.

7 years ago[reflection] Coop handles icalls in System.Reflection and System.RuntimeTypeHandle...
Aleksey Kliger (λgeek) [Tue, 10 Jan 2017 15:22:14 +0000 (10:22 -0500)]
[reflection] Coop handles icalls in System.Reflection and System.RuntimeTypeHandle (#4217)

* [sre] Add typed coop handle declarations

* [reflection] Implement mono_reflection_get_token_handle

  Rewrite mono_reflection_get_token_checked to use it.

* [reflection] Use handles for ves_icall_reflection_get_token

  - Get rid of mono_reflection_get_token_checked
  - Rename mono_reflection_get_token_handle to mono_reflection_get_token_checked

* [reflection] Use handles for ves_icall_GetCurrentMethod

* [reflection] Use handles for ves_icall_System_Reflection_MethodBase_GetMethodFromHandleInternalType_native

* [reflection] Use handles for ves_icall_System_Reflection_Module_ResolveSignature

* [reflection] Use handles for ves_icall_System_Type_internal_from_name

* [reflection] Use handles for ves_icall_System_Type_internal_from_handle

* [runtime] Use coop handles for System.Object.GetType ()

* [reflection] Use handles for ves_icall_MonoField_GetParentType

* [reflection] Use handles for ves_icall_MonoField_ResolveType

* [reflection] Use handles for most icalls in System.RuntimeTypeHandle

  - GetArrayRank
  - GetAttributes
  - GetBaseType
  - GetElementType
  - HasInstantiation
  - IsArray
  - IsByRef
  - IsComObject
  - IsGenericTypeDefinition
  - IsGenericVariable
  - IsPointer
  - IsPrimitive
  - type_is_assignable_from

* [reflection] Use handles for ves_icall_RuntimeTypeHandle_GetGenericTypeDefinition_impl

  and ves_icall_RuntimeTypeHandle_GetGenericParameterInfo