stephentoub [Sat, 14 Nov 2015 14:16:04 +0000 (09:16 -0500)]
Use uuid_generate_random instead of uuid_generate in CoCreateGuid
The PAL implementation of CoCreateGuid is currently using uuid_generate.
This will be based on high-quality randomness if available, otherwise it
falls back to an algorithm that incorporates the local ethernet MAC address
along with the current time and a pseudo-random generator. To avoid potential
privacy issues, this commit switches to using uuid_generate_random, which
instead falls back purely to a pseudo-random generator.
John Chen [Fri, 13 Nov 2015 21:19:26 +0000 (13:19 -0800)]
Merge pull request #2045 from JohnChen0/master
Fix buffer overrun in SetMscorlibPath
John Chen [Fri, 13 Nov 2015 18:32:15 +0000 (10:32 -0800)]
Fix buffer overrun in SetMscorlibPath
Jan Kotas [Fri, 13 Nov 2015 13:35:00 +0000 (05:35 -0800)]
Merge pull request #2034 from dotnet-bot/from-tfs
Merge changes from TFS
Brian Robbins [Fri, 13 Nov 2015 05:44:08 +0000 (21:44 -0800)]
Merge pull request #2033 from brianrob/crossgen_perfmap2
Enable Offline Generation of Text-Based Symbol Tables for NGEN Images
Jan Kotas [Fri, 13 Nov 2015 01:03:56 +0000 (17:03 -0800)]
Merge pull request #2030 from jkotas/vs2015-update1-buildbreak
Fix build break on VS2015 Update 1
Mike McLaughlin [Fri, 13 Nov 2015 00:56:17 +0000 (16:56 -0800)]
Merge pull request #2013 from mikem8361/createthread
Fix Thread.Start while debugging bug on OSX.
Jan Vorlicek [Thu, 12 Nov 2015 23:38:39 +0000 (00:38 +0100)]
Merge pull request #2031 from janvorli/fix-exceptions-in-filter
Fix processing of unhandled exception in exception filter
Mike McLaughlin [Tue, 10 Nov 2015 22:28:10 +0000 (14:28 -0800)]
Fix Thread.Start while debugging bug on OSX.
The OSX exception logic is running on a separate thread from the one that the exception happened. The CatchHardwareExceptionHolder::IsEnabled used to check for h/w exception holders assumed it was running on the thread the exception/holders happened not the exception notification thread. Moved the h/w exception holder count to the CPalThread object instead of a TLS thread variable so the OSX exception code can check it given a CPalThread instance.
The main problem was that the stubmgr when creating a thread (for the start notification) put a breakpoint in ThePreStubPatch which is in the coreclr text section and because the h/w exception holder check was broken, it thought the breakpoint wasn't the debugger's and aborted the coreclr process. The other part of this fix is to put a h/w exception holder around the called to ThePreStubPatch in prestub.cpp.
The stubmgr's delegate invoke subclass used the wrong registers for Linux/OSX to read the "this" and parameter registers. Added the proper ifdefs and registers (ecx -> rdi, rdx -> rsi) for the Unix platforms.
On both Linux and OSX, the h/w exception holder check in the exception routing logic needed to check if the int3/trap is in DBG_DebugBreak so asserts always abort/core dump. Move DBG_DebugBreak to an assembly worker so the start/end address can be used for this check.
Jan Kotas [Thu, 12 Nov 2015 22:31:18 +0000 (14:31 -0800)]
Fix inconsistent security annotations
[tfs-changeset: 1547876]
Matt Mitchell [Thu, 12 Nov 2015 21:54:54 +0000 (13:54 -0800)]
Merge pull request #2032 from mmitche/add-cross-packages
Add missing packages for arm/arm64 cross build
Matt Mitchell [Thu, 12 Nov 2015 19:21:49 +0000 (11:21 -0800)]
Add missing packages for arm64 cross build
Brian Robbins [Tue, 10 Nov 2015 01:50:56 +0000 (17:50 -0800)]
Enable offline generation of text-based symbol tables for native images. This is needed in order to profile applications on Linux using perf_event.
This change also modifies the runtime to emit a perfmap entry when a native image is loaded so that offline trace processing tools can identify when a perfmap file for a native image is needed and generate it.
Jan Kotas [Thu, 12 Nov 2015 20:51:51 +0000 (12:51 -0800)]
Merge pull request #2024 from jkotas/crossgen-ifdefs
Improve FEATURE_NATIVE_IMAGE_GENERATION ifdefs
Jan Kotas [Thu, 12 Nov 2015 15:09:12 +0000 (07:09 -0800)]
Fix build break on VS2015 Update 1
Jan Vorlicek [Thu, 12 Nov 2015 16:05:27 +0000 (17:05 +0100)]
Fix processing of unhandled exception in exception filter
This change fixes processing of unhandled exceptions in exception filter on Unix.
Before this fix, such exception leads to assert in the exception handling code
due to the fact that the exception tracker of the unhandled exception is not
popped from the exception tracker stack of the thread.
Although the PopTrackers method was being called, it bailed out due to the fact
that the exception tracker belonging to the unhandled exception has empty scanned
stack range.
The fix is to explicitly pop the tracker in the EX_CATCH that catches the
exception from the filter.
I have also re-enabled the JIT test b68872 that has uncovered the issue.
Pat Gavlin [Thu, 12 Nov 2015 18:03:31 +0000 (10:03 -0800)]
Merge pull request #2020 from pgavlin/StructABITests
Add some additional cases to the struct ABI test.
Lubomir Litchev [Thu, 12 Nov 2015 16:47:07 +0000 (08:47 -0800)]
Merge pull request #2009 from LLITCHEV/Issue1995-1
Fix for issue 1995.
Alfredo Menendez Sancho [Thu, 12 Nov 2015 16:31:39 +0000 (09:31 -0700)]
Merge pull request #2026 from AlfredoMS/async_fix
Fix Task so that RunContinuationsAsynchronously flag works with all continuations
Jan Kotas [Thu, 12 Nov 2015 14:33:14 +0000 (06:33 -0800)]
Merge pull request #2028 from dotnet/revert-2023-disable-x86-release
Revert "Disable x86 windows release build until it passes"
Lubomir Litchev [Tue, 10 Nov 2015 21:19:15 +0000 (13:19 -0800)]
Fix for issue 1995.
This changes containg a fix for Issue 1995.
When remorphing an argument that has been already completed (in case of
CSE rewriting for example, as in this case) the classification code was
not run properly and it is triggering an assertion. As the Issue 1995
states the assert failure is benign since the generated code is correct -
the change of registers used during completed argument classification is
not allowed and the code is not changing them.
This changes add the necessary code to properly classify and assign
registes for completed arguments remorphing, which complies with the expectations of the failing assert.
Eugene Rozenfeld [Thu, 12 Nov 2015 05:18:50 +0000 (21:18 -0800)]
Merge pull request #2027 from erozenfeld/RotationImprovements
Implement improvements for rotation matching.
Jan Kotas [Thu, 12 Nov 2015 04:34:39 +0000 (20:34 -0800)]
Revert "Disable x86 windows release build until it passes"
Jan Kotas [Thu, 12 Nov 2015 04:33:36 +0000 (20:33 -0800)]
Merge pull request #2025 from jkotas/fatal-error
Use volatile store for g_hrFatalError
Eugene Rozenfeld [Thu, 12 Nov 2015 03:15:55 +0000 (19:15 -0800)]
Implement improvements for rotation matching.
1. Recognize patterns with XOR instead of OR, e.g., (x << 5) ^ (x >> 27).
2. Recognize patterns with instance or static fields and ref params.
Only GTF_PERSISTENT_SIDE_EFFECTS (i.e., calls and assignments) and
GTF_ORDER_SIDEEFF (i.e., volatile accesses) prevent tree matching.
Before this change we used GTF_ALL_EFFECT.
Alfredo Menendez Sancho [Thu, 12 Nov 2015 02:31:34 +0000 (18:31 -0800)]
Fix Task so that RunContinuationsAsynchronously flag works with all types of continuation
Jan Kotas [Thu, 12 Nov 2015 01:48:49 +0000 (17:48 -0800)]
Use volatile store for g_hrFatalError
Senthil [Thu, 12 Nov 2015 01:41:22 +0000 (17:41 -0800)]
Merge pull request #1985 from schellap/master
Emit custom test launcher hook for custom test runners
Jan Kotas [Thu, 12 Nov 2015 00:47:09 +0000 (16:47 -0800)]
Improve FEATURE_NATIVE_IMAGE_GENERATION ifdefs
Matt Mitchell [Wed, 11 Nov 2015 23:32:29 +0000 (15:32 -0800)]
Merge pull request #2023 from mmitche/disable-x86-release
Disable x86 windows release build until it passes
Matt Mitchell [Wed, 11 Nov 2015 23:24:44 +0000 (15:24 -0800)]
Disable x86 windows release build until it passes
To trigger in the meantime, say: 'test x86 windows release'
Jan Kotas [Wed, 11 Nov 2015 22:52:09 +0000 (14:52 -0800)]
Merge pull request #2015 from kouvel/TpaBinder
Fix a couple of issues involving assembly loading
Jan Kotas [Wed, 11 Nov 2015 22:51:55 +0000 (14:51 -0800)]
Merge pull request #2017 from dotnet-bot/from-tfs
Merge changes from TFS
Koundinya Veluri [Tue, 10 Nov 2015 18:35:30 +0000 (10:35 -0800)]
Fix a couple of issues involving assembly loading
Fixes #1740
- After an assembly is loaded through a custom load context, when its dependencies are being loaded and the dependencies are in an app folder but not on the TPA list, don't search app paths when using the TPA binder, and instead use the default binder for the dependent assembly to load dependencies through the same custom AssemblyLoadContext.
Fixes #1187
- In the AssemblyName created by AssemblyLoadContext.GetAssemblyName(), don't initialize the CodeBase property since it's not in the exposed surface area for .NET Core. If the AssemblyName is passed to Assembly.Load(), note that regardless of the path sent to GetAssemblyName(), default search orders are still used to load the assembly by name. A custom AssemblyLoadContext would need to be used to control where an assembly is loaded from.
- Fixed a couple of error messages that mentioned phone
Pat Gavlin [Wed, 11 Nov 2015 19:21:29 +0000 (11:21 -0800)]
Add some additional cases to the struct ABI test.
These tests cover boundary cases for the SysV ABI.
Matt Mitchell [Wed, 11 Nov 2015 19:18:04 +0000 (11:18 -0800)]
Merge pull request #2019 from mmitche/no-pal-tests-for-x86
No pal tests for x86 windows nt
schellap [Sun, 1 Nov 2015 00:55:12 +0000 (17:55 -0700)]
Emit custom test launcher hook for custom test runners
Matt Mitchell [Wed, 11 Nov 2015 19:11:51 +0000 (11:11 -0800)]
No pal tests for x86 windows nt
Michelle McDaniel [Wed, 11 Nov 2015 16:31:37 +0000 (08:31 -0800)]
Merge pull request #2012 from adiaaida/x86failures
Add x86 build to PR test and remove xunit
Jan Kotas [Wed, 11 Nov 2015 05:11:11 +0000 (21:11 -0800)]
Merge pull request #2011 from kyulee1/fixbuild
Fix for build break
Aditya Mandaleeka [Wed, 11 Nov 2015 00:56:17 +0000 (16:56 -0800)]
Merge pull request #1928 from adityamandaleeka/jenkins_enable_unix
Exit runtest.sh with a failure code if any tests fail
Michelle McDaniel [Thu, 5 Nov 2015 01:00:55 +0000 (17:00 -0800)]
Add x86 build to PR test and remove xunit
This change adds an x86 build to the list of jobs started with each PR so
that we make sure we don't break the x86 build. Also remove xunit parsing
from x86 jobs since they do not run tests.
Kyungwoo Lee [Tue, 10 Nov 2015 23:21:59 +0000 (15:21 -0800)]
Fix for build break
When building llilc against coreclr in Linux, m_IsSlotTableFrozen is defined under _DEBUG
but it is used without guard "#ifdef _DEBUG"
This is fix for it.
Aditya Mandaleeka [Tue, 10 Nov 2015 23:17:35 +0000 (15:17 -0800)]
Temporarily disable StructABI test to unblock CI while issues are resolved
Richard L Ford [Tue, 10 Nov 2015 20:56:23 +0000 (12:56 -0800)]
Merge pull request #2006 from richardlford/gettypetypeofmatrix
Respond to review of gettypetypeofmatrix test.
Richard L Ford [Tue, 10 Nov 2015 18:08:07 +0000 (10:08 -0800)]
Respond to review of gettypetypeofmatrix test.
The automatic formatter missed putting "public" and
"static" in a canonical order, so do that manually.
Also remove a case of Hungarian notation.
Richard L Ford [Tue, 10 Nov 2015 17:56:43 +0000 (09:56 -0800)]
Merge pull request #2000 from richardlford/gettypetypeofmatrix
Add gettypetypeofmatrix test.
Matt Mitchell [Tue, 10 Nov 2015 17:17:45 +0000 (09:17 -0800)]
Merge pull request #1970 from mmitche/enbable-by-default
Enable coreclr tests by default
Matt Mitchell [Thu, 5 Nov 2015 20:00:02 +0000 (12:00 -0800)]
Enable coreclr tests by default
Jan Kotas [Tue, 10 Nov 2015 15:15:23 +0000 (07:15 -0800)]
Merge pull request #1999 from adityamandaleeka/remove_suspension
More PAL thread cleanup (last one)
dotnet-bot [Tue, 10 Nov 2015 01:10:35 +0000 (17:10 -0800)]
System.BitConverter.ToString(Byte[] value, Int32 startIndex, Int32 length) value is null message
[tfs-changeset: 1546665]
Richard L Ford [Mon, 9 Nov 2015 23:42:12 +0000 (15:42 -0800)]
Add gettypetypeofmatrix test.
Ported the JIT/Directed/gettypetypeof/gettypetypeofmatrix.cs
test from the desktop clr suite to coreclr.
Aditya Mandaleeka [Mon, 9 Nov 2015 23:32:41 +0000 (15:32 -0800)]
Remove InternalRand.
Aditya Mandaleeka [Sat, 7 Nov 2015 02:19:26 +0000 (18:19 -0800)]
Remove thread parameter from several more PAL functions.
Pat Gavlin [Mon, 9 Nov 2015 18:44:57 +0000 (10:44 -0800)]
Merge pull request #1998 from pgavlin/AddNinjaSupport
Add support for ninja to the CoreCLR build.
Jan Kotas [Mon, 9 Nov 2015 16:12:59 +0000 (08:12 -0800)]
Merge pull request #1994 from dotnet-bot/from-tfs
Merge changes from TFS
Pat Gavlin [Mon, 9 Nov 2015 04:00:30 +0000 (20:00 -0800)]
Add support for ninja to the CoreCLR build.
Just what it says on the tin.
Vance Morrison [Mon, 9 Nov 2015 03:14:50 +0000 (19:14 -0800)]
Merge pull request #1990 from stephentoub/fix_eventsource_typo
Fix a typo in EventSource_EventParametersMismatch error string
Vance Morrison [Mon, 9 Nov 2015 03:14:30 +0000 (19:14 -0800)]
Merge pull request #1988 from stephentoub/fix_eventsource_emptyarray
Fix exception when writing null/empty arrays to EventSource
Pallavi Taneja [Sun, 8 Nov 2015 23:34:22 +0000 (15:34 -0800)]
Expose Environment.GetCommandLineArgs in mscorlib
[tfs-changeset: 1546251]
Jan Kotas [Sun, 8 Nov 2015 20:38:35 +0000 (12:38 -0800)]
Merge pull request #1925 from akoeplinger/remove-env-helper
Remove Env helper class in tests
Jan Kotas [Sun, 8 Nov 2015 20:32:28 +0000 (12:32 -0800)]
Merge pull request #1926 from akoeplinger/fix-hardcoded-windows
Fix hardcoded Utilities.IsWindows property
Jan Kotas [Sun, 8 Nov 2015 20:29:16 +0000 (12:29 -0800)]
Merge pull request #1987 from bbowyersmyth/StringCodeComments
Improved and corrected some String code comments
stephentoub [Sat, 7 Nov 2015 20:45:35 +0000 (15:45 -0500)]
Fix a typo in EventSource_EventParametersMismatch error string
stephentoub [Sat, 7 Nov 2015 06:46:02 +0000 (22:46 -0800)]
Fix exception when writing null/empty array to EventSource
EventSource has two WriteEvent overloads that take a byte[]. If the
byte[] provided is null, it uses an empty array. It then tries to get the
address of the 0th element of the array, resulting in an
IndexOutOfRangeException. We could instead just use ```byte* blob =
arg1``` instead of ```byte* blob = &arg1[0]```, but doing so with an empty
array has undefined behavior in C#. Instead, we just special-case null
and empty arrays.
Bruce Bowyer-Smyth [Sat, 7 Nov 2015 04:34:21 +0000 (14:34 +1000)]
Improved and corrected some String code comments
Jan Kotas [Sat, 7 Nov 2015 03:31:09 +0000 (19:31 -0800)]
Merge pull request #1982 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Sat, 7 Nov 2015 03:20:14 +0000 (19:20 -0800)]
Merge pull request #1984 from caslan/removeCSExports
Remove unneeded EnterCriticalSection / LeaveCriticalSection exports
Cagri [Sat, 7 Nov 2015 00:29:49 +0000 (16:29 -0800)]
Remove EnterCriticalSection / LeaveCriticalSection exports that are not needed
Jan Kotas [Fri, 6 Nov 2015 21:46:27 +0000 (13:46 -0800)]
Fix build break when NO_HOST_CPP_EH_ONLY is defined
[tfs-changeset: 1546051]
Aditya Mandaleeka [Fri, 6 Nov 2015 20:52:30 +0000 (12:52 -0800)]
Merge pull request #1959 from adityamandaleeka/remove_suspension
Remove thread parameter from a few more places in PAL
Eugene Zemtsov [Fri, 6 Nov 2015 20:02:08 +0000 (12:02 -0800)]
Merge pull request #1978 from Djuffin/debug-alloc-fix
Selective VirtualProtect in debugger heap for Realloc
Jan Vorlicek [Fri, 6 Nov 2015 19:40:58 +0000 (20:40 +0100)]
Merge pull request #1980 from pgavlin/StructABITests
Add some missing files.
Pat Gavlin [Fri, 6 Nov 2015 18:02:02 +0000 (10:02 -0800)]
Add some missing files.
The lack of these files causes the struct ABI tests to fail to build.
Nate Amundson [Fri, 6 Nov 2015 18:09:42 +0000 (12:09 -0600)]
Merge pull request #1905 from naamunds/XplatDoc
Add libcurl and libssl packages to instructions
Yi Zhang (CLR) [Fri, 6 Nov 2015 00:23:56 +0000 (16:23 -0800)]
Merge pull request #1841 from caslan/supportforBSTR
Add support for BSTRs on Unix
Pat Gavlin [Fri, 6 Nov 2015 00:23:45 +0000 (16:23 -0800)]
Merge pull request #1972 from pgavlin/StructABITests
Add some targeted by-value struct passing tests.
Eugene [Thu, 5 Nov 2015 22:42:54 +0000 (14:42 -0800)]
Selective VirtualProtect in debugger heap for Realloc
Chris [Thu, 5 Nov 2015 22:20:25 +0000 (14:20 -0800)]
Merge pull request #1963 from Djuffin/debug-alloc-fix
Restrict allocation of executable memory by DebuggerHeap
Matt Mitchell [Thu, 5 Nov 2015 21:58:18 +0000 (13:58 -0800)]
Merge pull request #1971 from AndyAyersMS/SimplfiyTest
Reduce number of threads used by the LocallocLarge test
Matt Mitchell [Thu, 5 Nov 2015 21:51:33 +0000 (13:51 -0800)]
Merge pull request #1976 from mmitche/unzip-params
Fix unzip arg order
Matt Mitchell [Thu, 5 Nov 2015 21:50:39 +0000 (13:50 -0800)]
Fix unzip arg order
Pat Gavlin [Thu, 5 Nov 2015 19:32:13 +0000 (11:32 -0800)]
Add some targeted by-value struct passing tests.
These tests target the SysV AMD64 ABI in particular, which relies on
field types to decide how to pass by-value structs.
Andy Ayers [Thu, 5 Nov 2015 20:03:00 +0000 (12:03 -0800)]
Reduce number of threads used by the LocallocLarge test
This test used to create ~3000 threads. Reduce that to ~300 while we sort out what is behind #1966.
Matt Mitchell [Thu, 5 Nov 2015 19:58:50 +0000 (11:58 -0800)]
Merge pull request #1968 from mmitche/reenable-coreclr-linux
Reenable coreclr tests by default on Linux
Matt Mitchell [Thu, 5 Nov 2015 17:47:17 +0000 (09:47 -0800)]
Update trigger phrases to be regex
Quieter zip and ignoring warnings while unzipping
Aditya Mandaleeka [Thu, 5 Nov 2015 19:28:18 +0000 (11:28 -0800)]
Fix casing of AssemblyName to match the name of the csproj.
Aditya Mandaleeka [Thu, 5 Nov 2015 19:27:33 +0000 (11:27 -0800)]
Disable a couple more tests temporarily prior to enabling CI runs.
Aditya Mandaleeka [Mon, 2 Nov 2015 23:37:07 +0000 (15:37 -0800)]
Exit with failure code if any tests fail.
Matt Mitchell [Thu, 5 Nov 2015 17:40:21 +0000 (09:40 -0800)]
Merge pull request #1967 from mmitche/use-unzip
Switch to using zip/unzip
Matt Mitchell [Thu, 5 Nov 2015 17:31:00 +0000 (09:31 -0800)]
Switch to using zip/unzip to avoid path length issues in the packer/unpacker
Mike McLaughlin [Thu, 5 Nov 2015 16:53:17 +0000 (08:53 -0800)]
Merge pull request #1961 from dotnet-bot/from-tfs
Merge changes from TFS
Stephen Toub [Thu, 5 Nov 2015 06:39:42 +0000 (22:39 -0800)]
Merge pull request #1958 from stephentoub/delete_consolehandler
Remove SetConsoleCtrlHandler from Unix PAL
Eugene [Thu, 5 Nov 2015 02:21:45 +0000 (18:21 -0800)]
Restrict allocation of executable memory by DebuggerHeap
DebuggerHeap is a common class that is used for both executable and
non-executable memory allocations by debugging infrustructure.
On Windows, OS supports concept of executable heap and CLR doesn't need
to do anything extra for each executable allocation. On Linux/OSX
this is not true. That's why this changes preserves fExecutable flag for each heap
and makes sure that we mark memory as executable only when it is necessary.
stephentoub [Wed, 4 Nov 2015 20:10:23 +0000 (12:10 -0800)]
Remove SetConsoleCtrlHandler from Unix PAL
Deleted SIGINT and SIGQUIT-related signal handling code, which means we no longer need to spin up a worker thread for all coreclr apps.
Make the debugger's SetConsoleCtrlHandler usage Windows-only (from offline conversation it sounded like we might choose to delete it entirely subsequently, but for now I've left it).
Removed all of the code related to SetConsoleCtrlHandler from the PAL.
Deleted all tests related to SetConsoleCtrlHandler from the palsuite.
Mike McLaughlin [Thu, 5 Nov 2015 00:35:26 +0000 (16:35 -0800)]
Merge pull request #1956 from dotnet-bot/from-tfs
Merge changes from TFS
Lubomir Litchev [Wed, 4 Nov 2015 23:39:26 +0000 (15:39 -0800)]
Merge pull request #1949 from LLITCHEV/SystemVStructsCleanup
Some code cleanup for the SystemVStructs work.
Mike McLaughlin [Wed, 4 Nov 2015 23:35:58 +0000 (15:35 -0800)]
Fix build break from CL#1544863 Part II
[tfs-changeset: 1545169]
Aditya Mandaleeka [Wed, 4 Nov 2015 20:47:52 +0000 (12:47 -0800)]
Remove thread parameter from shmfilelockmgr functions
Aditya Mandaleeka [Wed, 4 Nov 2015 03:21:51 +0000 (19:21 -0800)]
Remove thread parameter from some string functions in PAL.