Alexander Köplinger [Wed, 28 Oct 2015 00:21:38 +0000 (01:21 +0100)]
[acceptance-tests] Write list of CoreCLR tests into file and pass it to test-runner
This shaved about 30 seconds off the time until the test-runner started on my machine compared to
passing the tests in the command line directly (we have *lots* of CoreCLR tests).
Alexander Köplinger [Wed, 28 Oct 2015 00:16:55 +0000 (01:16 +0100)]
[test-runner] Add a new --input-file option for reading the test list from a file
Alexander Köplinger [Wed, 28 Oct 2015 00:10:57 +0000 (01:10 +0100)]
[test-runner] Fix bug in commandline option parsing
i+i doesn't make sense, it should be i+1 (the next argument after the current one).
Ludovic Henry [Sun, 25 Oct 2015 14:47:54 +0000 (14:47 +0000)]
[tests] Add coreclr GC stress tests
Ludovic Henry [Mon, 26 Oct 2015 18:39:57 +0000 (18:39 +0000)]
[tests] Try to fix finalizer-wait
Ludovic Henry [Wed, 28 Oct 2015 11:16:57 +0000 (11:16 +0000)]
[tests] Fix Math.Pow precision bug on Android
Alex Rønne Petersen [Wed, 28 Oct 2015 10:25:28 +0000 (11:25 +0100)]
[profiler] Disable 'time went backwards' debug message.
While this would have indicated a bug in the past, it's perfectly normal now
due to how we synthesize TYPE_JIT events to ensure sane event ordering.
Zoltan Varga [Wed, 28 Oct 2015 01:03:53 +0000 (21:03 -0400)]
[runtime] Use Unwind_Backtrace only on platforms which support it.
Zoltan Varga [Wed, 28 Oct 2015 00:57:06 +0000 (20:57 -0400)]
[llvmonly] Add support for direct calls to icalls.
Martin Baulig [Tue, 27 Oct 2015 21:38:39 +0000 (17:38 -0400)]
[System/TLS]: Don't crash when we're called without user-supplied certificate validator.
Alexander Köplinger [Tue, 27 Oct 2015 20:28:48 +0000 (21:28 +0100)]
[acceptance-tests] Move CoreCLR submodule reference to Mono fork
Martin Baulig [Tue, 27 Oct 2015 19:47:40 +0000 (15:47 -0400)]
Oops, there is no README.md
Martin Baulig [Tue, 27 Oct 2015 19:44:23 +0000 (15:44 -0400)]
Oops, forgot to add to the top-level Makefile for mobile.
Alexander Köplinger [Tue, 27 Oct 2015 19:37:34 +0000 (20:37 +0100)]
[test-runner] Filter out invalid XML chars before writing to XML
The test-runner crashed sometimes when running the CoreCLR testsuite with the following exception:
"System.ArgumentException: '', hexadecimal value 0x0F, is an invalid character." when trying to
emit the NUnit xml.
The stacktrace of one of the failing tests contained the character 0x0F which is invalid in XML,
we now filter out those invalid chars.
Martin Baulig [Tue, 27 Oct 2015 18:26:51 +0000 (14:26 -0400)]
[Mono.Security.Providers.OldTls]: New assembly.
This provides a 'MonoTlsProvider' for Mono's existing TLS implementation.
It's simply a public frontend for the internal 'LegacySslStream' class.
Martin Baulig [Tue, 27 Oct 2015 18:25:46 +0000 (14:25 -0400)]
[System]: Make internals visible to Mono.Security.Providers.OldTls.
Vlad Brezae [Tue, 27 Oct 2015 16:22:02 +0000 (18:22 +0200)]
[sgen] Fix marking of cards on 64bit
Mark Probst [Tue, 27 Oct 2015 17:54:40 +0000 (10:54 -0700)]
[sgen] Fix call to `InterlockedCompareExchange()`.
This fixes random crashes on `sgen-weakref-stress.exe`.
Radek Doulik [Tue, 27 Oct 2015 17:23:41 +0000 (18:23 +0100)]
[linker] match type pattern with nested types
- this way the following xml will match all the types in the assembly
MyAssembly
<linker>
<assembly fullname="MyAssembly">
<namespace type="*" />
</assembly>
</linker>
before this change it will only match the types defined in main
module and none of the nested types
Alexander Köplinger [Tue, 27 Oct 2015 17:19:39 +0000 (18:19 +0100)]
[acceptance-tests] Append a suffix to the CoreCLR IL tests
Some of the tests have both a test.il and test.cs in the same folder, which means we would
generate an .exe with the same name and overwriting one of them.
This is avoided by appending a _il suffix to the IL tests.
Andi McClure [Tue, 27 Oct 2015 15:49:36 +0000 (11:49 -0400)]
Merge pull request #2163 from xmcclure/image-audit
Mempool reference-auditing feature in checked builds
"Andi McClure ext:(%22) [Tue, 27 Oct 2015 15:41:41 +0000 (11:41 -0400)]
This introduces three macros, to be used in place of a simple pointer assignment when working with images or imagesets:
CHECKED_METADATA_WRITE_PTR - Use this to assign a pointer when it points from memory hosted by an image or imageset to another.
CHECKED_METADATA_WRITE_PTR_LOCAL - Use this to assign a pointer when it points from memory noted by an image or imageset to itself.
CHECKED_METADATA_WRITE_PTR_EXEMPT - Use this to assign a pointer in memory hosted by an image or imageset, but which the audit feature cannot correctly check at this time (this is the case when an image must contain a pointer to something that is not located in a mempool, such as a constant string). This is so that at least we know where these exceptions to the audits are.
In non-checked mode, each of these is a simple assignment. In checked mode, they walk the graph of references between images to make sure invariants related to ref_count are not violated.
João Matos [Tue, 27 Oct 2015 11:51:55 +0000 (11:51 +0000)]
[runtime] Normalize include style.
Andi McClure [Tue, 27 Oct 2015 14:20:33 +0000 (10:20 -0400)]
Merge pull request #2175 from xmcclure/pre-image-audit
Mempool reference-auditing feature in checked builds (prep work only)
"Andi McClure ext:(%22) [Tue, 27 Oct 2015 13:35:57 +0000 (09:35 -0400)]
Simplify function interface for rework of image.c hashes, based on PR comments
João Matos [Tue, 27 Oct 2015 11:47:32 +0000 (11:47 +0000)]
[runtime] Fixed cross-compile LLVM build.
Ludovic Henry [Tue, 27 Oct 2015 11:46:07 +0000 (11:46 +0000)]
[test-runner] Make sure to close resources hold by Process
Ludovic Henry [Tue, 27 Oct 2015 11:42:32 +0000 (11:42 +0000)]
[Process] Use output/error stream instead of naked handle
This is to make sure the handle is closed, whenever we close the streams
Alexander Köplinger [Tue, 27 Oct 2015 11:45:39 +0000 (12:45 +0100)]
[test-runner] Make the --testsuite-name option required
Defaulting to a value doesn't make sense since the NUnit xml would be overwritten if multiple tests used the same default.
João Matos [Tue, 27 Oct 2015 11:39:48 +0000 (11:39 +0000)]
[runtime] Added --with-cross-offsets configure option for including an explicit AOT cross offsets file.
This option will define MONO_OFFSETS_FILE which will be used by the rest of the code to include the right file when looking for cross offsets.
Marek Safar [Tue, 27 Oct 2015 09:19:58 +0000 (10:19 +0100)]
[mcs] Declared fields cannot have unmanaged check done before all types are defined. Fixes #35269
Zoltan Varga [Tue, 27 Oct 2015 04:31:34 +0000 (00:31 -0400)]
[llvmonly] Fix EH when llvm is disabled.
Zoltan Varga [Mon, 26 Oct 2015 22:32:10 +0000 (18:32 -0400)]
[llvmonly] Fix an assertion for methods with many arguments.
Zoltan Varga [Mon, 26 Oct 2015 22:28:45 +0000 (18:28 -0400)]
[llvmonly] Fix the computation of the generic context used to initialize shared methods, previously we would be using the context of the class of the receiver, but that wouldn't work when its a non-generic class inheriting from a generic class. Use the context of the method which was used to lookup the shared method in the first place instead.
Mark Probst [Mon, 26 Oct 2015 22:01:06 +0000 (15:01 -0700)]
[sgen] Fix binary protocol limit default.
`size_t` is unsigned, so using `-1` by default will always impose a
limit, and make binary protocol file names numbered, which is not
usually what you want or expect.
Ludovic Henry [Mon, 26 Oct 2015 22:00:51 +0000 (22:00 +0000)]
[Process] Close process in/out/err handle on Process dispose
This would lead to leaked handle, and that would be visible when running
the test suite on Jenkins, with a "Too many open files" exception.
That also reverts the behavior to before
789808b507fe16941a31acc43ffc6bc8e0cdae75
"Andi McClure ext:(%22) [Mon, 26 Oct 2015 20:04:28 +0000 (16:04 -0400)]
Rework “image hashes” in image.c to segregate by-path and by-name lookups into two hashes
This is part of the continued cleanup work for the mempool reference auditing feature. Separating the hashes prevents redundant work when iterating over hashes, something the reference auditor does a lot. External interface to image.c still behaves the same.
"Andi McClure ext:(%22) [Tue, 27 Oct 2015 13:37:44 +0000 (09:37 -0400)]
Continued cleanup in preparation for mempool reference auditing feature
- Fixes to comments and the mempool rework, based on pull request comments
- Additional comments overall
Zoltan Varga [Mon, 26 Oct 2015 19:17:50 +0000 (15:17 -0400)]
[llvm] Fix aot support in non-llvmonly mode.
Zoltan Varga [Mon, 26 Oct 2015 18:58:11 +0000 (14:58 -0400)]
[llvmonly] Avoid disabling llvm for methods with pinvoke signatures in llvmonly mode.
Zoltan Varga [Mon, 26 Oct 2015 18:57:45 +0000 (14:57 -0400)]
[llvm] Register the llvmonly icalls even if llvm is not enabled.
Zoltan Varga [Mon, 26 Oct 2015 17:52:29 +0000 (13:52 -0400)]
Fix the non-llvm build.
Ludovic Henry [Mon, 26 Oct 2015 16:35:14 +0000 (16:35 +0000)]
[tests] Add timeout before failing
Ludovic Henry [Mon, 26 Oct 2015 15:50:12 +0000 (15:50 +0000)]
[tests] Increase timeout before failing
Marek Safar [Mon, 26 Oct 2015 15:40:48 +0000 (16:40 +0100)]
[mcs] Support auto-property with private setter with member definition from external assembly. Fixes #35236
Ludovic Henry [Mon, 26 Oct 2015 14:13:03 +0000 (14:13 +0000)]
[tests] Increase timeout before failing
Ludovic Henry [Mon, 26 Oct 2015 12:30:34 +0000 (12:30 +0000)]
[tests] Add --testsuite-name to avoid overwritting test result XML files
Ludovic Henry [Mon, 26 Oct 2015 10:58:40 +0000 (10:58 +0000)]
[tests] Use test-runner to run unhandled-exception tests
Zoltan Varga [Mon, 26 Oct 2015 02:17:01 +0000 (22:17 -0400)]
Add another missing file.
Zoltan Varga [Mon, 26 Oct 2015 02:16:38 +0000 (22:16 -0400)]
Add a missing file.
Zoltan Varga [Mon, 26 Oct 2015 02:15:19 +0000 (22:15 -0400)]
[llvm] Move the EH support code into mini-exceptions.c, and the c++ functions used by it into a new llvm-runtime.cpp file so llvmonly code works in a runtime which doesn't have llvm enabled.
Zoltan Varga [Mon, 26 Oct 2015 02:12:52 +0000 (22:12 -0400)]
[llvm] Fix support for asmonly+llvmonly by emitting the bitcode into the file given by the llvm-outfile aot option.
Zoltan Varga [Sat, 24 Oct 2015 05:09:51 +0000 (01:09 -0400)]
Merge pull request #2166 from ermshiperete/FontHeight
[WinForms] Check for null font Height
Zoltan Varga [Sat, 24 Oct 2015 03:20:31 +0000 (23:20 -0400)]
[profiler] Create a static version of libmono-profiler-log which doesn't link against eglib, to prevent duplicate symbols errors when its linked with the runtime. Fixes part of #29745.
Zoltan Varga [Sat, 24 Oct 2015 00:53:50 +0000 (20:53 -0400)]
[arm] Add a comment for a hack.
Zoltan Varga [Fri, 23 Oct 2015 23:22:54 +0000 (19:22 -0400)]
[arm64] Implement mono_threads_core_begin_async_resume () for arm64.
Aleksey Kliger (λgeek) [Fri, 23 Oct 2015 22:38:41 +0000 (18:38 -0400)]
Merge pull request #2171 from lambdageek/dev/fix-marshal
[coop] One more pair of coop gc marshal fixes.
Mark Probst [Fri, 23 Oct 2015 22:16:55 +0000 (15:16 -0700)]
[sgen] Documentation about future-proofing the binary protocol.
We want to use the binary protocol to measure GC pause times in the
benchmarking suite. To make that easier and be able to go back and
(re-)benchmark older versions, we'd like the binary protocol format to
be backwards compatible.
Zoltan Varga [Fri, 23 Oct 2015 21:06:54 +0000 (17:06 -0400)]
Add a new Moono_GetStackTraces method to Thread which can be used to obtain stack traces for all running threads.
Aleksey Kliger [Fri, 23 Oct 2015 20:15:57 +0000 (16:15 -0400)]
[coop] One more pair of coop gc marshal fixes.
Missed a pair of
`mono_threads_reset_blocking_start`/`mono_threads_reset_blocking_end`
calls in
991e3ef3e47f0ccf9981a791f7da680b4ee9c4c6
Martin Baulig [Fri, 23 Oct 2015 20:05:19 +0000 (16:05 -0400)]
Remove a few more 'using System.Reflection's.
Martin Baulig [Fri, 23 Oct 2015 18:26:34 +0000 (14:26 -0400)]
[Mono.Security]: Use the new 'NoReflectionHelper' instead of reflection in 'MonoTlsProviderFactory'.
Mark Probst [Fri, 23 Oct 2015 18:57:05 +0000 (11:57 -0700)]
[sgen] Add some bridge documentation.
Zoltan Varga [Fri, 23 Oct 2015 19:10:43 +0000 (15:10 -0400)]
Merge pull request #2170 from alexanderkyte/mini_llvm_archfix
[runtime] Fix support for amd64 in mini-llvm-cpp.cpp
Alexander Kyte [Fri, 23 Oct 2015 19:01:43 +0000 (15:01 -0400)]
[runtime] Fix support for amd64 in mini-llvm-cpp.cpp
Martin Baulig [Fri, 23 Oct 2015 18:08:44 +0000 (14:08 -0400)]
[System]: Add internal 'Mono.Net.Security.NoReflectionHelper' class to avoid reflection use.
Martin Baulig [Fri, 23 Oct 2015 17:58:31 +0000 (13:58 -0400)]
Remove 'using System.Reflection'.
Martin Baulig [Fri, 23 Oct 2015 16:29:00 +0000 (12:29 -0400)]
[Mono.Security]: Access System.dll's internals directly instead of using reflection.
Martin Baulig [Fri, 23 Oct 2015 16:21:49 +0000 (12:21 -0400)]
[System]: Make internals visible to Mono.Security.
Alexander Köplinger [Fri, 23 Oct 2015 17:34:35 +0000 (19:34 +0200)]
[test-runner] Fix a few more hardcoded test suite names
Missed those in
04bdf3b9332a4707d196b65deda1fdfba1b88a30
Ludovic Henry [Wed, 21 Oct 2015 20:48:17 +0000 (21:48 +0100)]
[test-runner] Wait synchronously for process exit
There was still a race for the last processes, where we could not
correctly wait for them to exit, before closing the StreamWriter for
stdout and stderr.
João Matos [Fri, 23 Oct 2015 15:59:12 +0000 (16:59 +0100)]
Merge pull request #2168 from BillSeurer/llvm
[ppc] Activate llvm for power
Bill Seurer [Fri, 23 Oct 2015 15:53:07 +0000 (10:53 -0500)]
[ppc] Activate llvm for power
Rodrigo Kumpera [Fri, 23 Oct 2015 14:51:12 +0000 (10:51 -0400)]
Merge pull request #2165 from lambdageek/dev/marshal-fix
[coop] update native call marshalling to pass thread state transition functions a stack ptr arg.
Ludovic Henry [Fri, 23 Oct 2015 12:27:17 +0000 (13:27 +0100)]
[socket] Use syscall abort mechanism properly
The crash only occurs on Posix platforms.
The assertion error in `mono_threads_begin_global_suspend`
"pending_suspends != 0" arised because of a unproper use of the syscall
abort mechanism.
The signal would have to be send out of a global suspend context, but
in case the call to `mono_threads_pthread_kill` would fail in
`mono_threads_core_abort_syscall`, then we would add a pending
operation, thus increasing the `pending_suspends` counter. But as we
wouldn't call for `mono_threads_wait_pending_operations`, we would never
have a chance to decrement this counter. So next time we would try to
call `mono_threads_begin_global_suspend` we would hit this assertion
error.
The fix is simply to call the abort from inside a global suspend
context, and making sure to wait on pending operations afterwards.
Ludovic Henry [Fri, 23 Oct 2015 12:08:16 +0000 (13:08 +0100)]
[socket] Enable Shutdown on socket disposal only on specific platforms
This breaks Linux, because a shutdown will cause a recv/recvfrom on the
remote host to return without an error.
This would trigger in System.Net.Sockets.SocketTest.ConnectedProperty.
Jo Shields [Fri, 23 Oct 2015 11:25:28 +0000 (12:25 +0100)]
[msvc] Manually update .defs, don't use update-defs Make target
Jo Shields [Fri, 23 Oct 2015 11:24:29 +0000 (12:24 +0100)]
Revert "[msvc] Update the DLL export definition files."
This reverts commit
90cb172eb8c160f46781d189d3baf25f06496b1d.
Jo Shields [Fri, 23 Oct 2015 11:06:13 +0000 (12:06 +0100)]
[msvc] Update the DLL export definition files.
Brent McCarthy [Wed, 29 Jul 2015 22:28:45 +0000 (16:28 -0600)]
[WinForms] Check for null font Height
DrawButtonText was throwing ArgumentException when
button.Font.Height was invalid.
Aleksey Kliger [Thu, 22 Oct 2015 22:51:17 +0000 (18:51 -0400)]
[coop] update native call marshalling to pass thread state transition functions a stack ptr arg.
mono_threads_prepare_blocking, mono_threads_finish_blocking,
mono_threads_reset_blocking_start, mono_threads_reset_blocking_end all
take a stack pointer argument. Update the native and managed wrappers
to pass it to them.
Zoltan Varga [Thu, 22 Oct 2015 22:35:05 +0000 (18:35 -0400)]
[runtime] Add a check for PE images to mono_method_body_get_object().
Zoltan Varga [Thu, 22 Oct 2015 22:32:53 +0000 (18:32 -0400)]
Fix the build.
Zoltan Varga [Thu, 22 Oct 2015 21:38:18 +0000 (17:38 -0400)]
[runtime] Move the MONO_ENV_OPTIONS parsing code to driver.c
Zoltan Varga [Thu, 22 Oct 2015 20:48:01 +0000 (16:48 -0400)]
Export mono_image_load_cli_header/load_metadata from image.c
Alex Rønne Petersen [Thu, 22 Oct 2015 20:17:38 +0000 (22:17 +0200)]
Merge pull request #2162 from alexrp/master
[profiler] Disable the hack to attempt to get code start/size info.
Marek Safar [Thu, 22 Oct 2015 19:07:13 +0000 (21:07 +0200)]
[corlib] Add non-overlapping buffer MemoryCopy implementation
"Andi McClure ext:(%22) [Thu, 22 Oct 2015 18:15:33 +0000 (14:15 -0400)]
Cleanup in preparation for mempool reference auditing feature in checked builds
- Rework in mempool.c: Have USE_MALLOC_FOR_MEMPOOLS work by tweaking existing rather than using an entire different path. Remove unused mempool field “rest”, stop assigning fields “pos” and “end” where unused. Removed unused function mono_mempool_empty. Fix off-by-one bug (>= vs >) in mono_mempool_contains_addr.
- Fix misc bug spotted by Rodrigo in aot-runtime.c: image of MonoGenericParam was always being set to corlib instead of proper image
- Add comments and replace inline constants with named constants in various places
Alex Rønne Petersen [Thu, 22 Oct 2015 17:49:12 +0000 (19:49 +0200)]
[profiler] Disable the hack to attempt to get code start/size info.
This is causing crashes by poking into runtime internals, and since we no
longer need this for anything critical, disable it.
https://bugzilla.xamarin.com/show_bug.cgi?id=35171
João Matos [Thu, 22 Oct 2015 11:37:52 +0000 (12:37 +0100)]
Merge pull request #2158 from akoeplinger/fix-winforms-tests
[WinForms] Update tests to match recent changes to Control Foreground+Background
João Matos [Thu, 22 Oct 2015 11:37:29 +0000 (12:37 +0100)]
Merge pull request #2154 from BrennanConroy/bug_30018
More robust get_address_info
Ludovic Henry [Thu, 22 Oct 2015 10:39:31 +0000 (11:39 +0100)]
[threads] Print more information in case of error in global suspend
Jo Shields [Thu, 22 Oct 2015 07:57:39 +0000 (08:57 +0100)]
Merge pull request #2149 from directhex/absolute-path-for-xcopy
[msvc] Use fully qualified path for xcopy
Alexander Köplinger [Thu, 22 Oct 2015 00:12:39 +0000 (02:12 +0200)]
[WinForms] Update tests to match recent changes to Control Foreground+Background
The colors were updated in https://github.com/mono/mono/commit/
f412b5529e560bca594e0c29a47f32dcfb252820,
but the tests weren't. This fixes them.
Martin Baulig [Wed, 21 Oct 2015 20:15:39 +0000 (16:15 -0400)]
[Mono.Security]: Mark 'HttpsClientStream' as obsolete.
Martin Baulig [Wed, 21 Oct 2015 20:12:24 +0000 (16:12 -0400)]
[System]: Remove some dead internal code.
Rodrigo Kumpera [Wed, 21 Oct 2015 20:09:25 +0000 (16:09 -0400)]
Merge pull request #2122 from lambdageek/dev/bug-26384
In Type.FullName, escape ,+&@*[]\ with blackslash. Closes #26384
Marek Safar [Wed, 21 Oct 2015 19:47:38 +0000 (21:47 +0200)]
Merge pull request #2155 from akoeplinger/bug-34334-pr
[interpreter] Relax check for forcing compilation for built-in structs
Martin Baulig [Wed, 21 Oct 2015 18:45:26 +0000 (14:45 -0400)]
[System]: Use MonoTlsProvider API in WebConnection.
Martin Baulig [Wed, 21 Oct 2015 18:36:06 +0000 (14:36 -0400)]
[System]: Use MonoTlsProvider API in FtpWebRequest and SmtpClient.