Sergey Andreenko [Tue, 18 Aug 2015 00:48:22 +0000 (17:48 -0700)]
SIMD tests
Commit includes SIMD tests of two types:
1) Intrinsic tests, that call functions from RyuJIT SIMD intrinsic list.
2) Bytecode tests, which generate different bytecodes in IL with SIMD
struct.
Commit migrated from https://github.com/dotnet/coreclr/commit/
5621bf61bc3012c45845f9dd081500da0f07c4d8
Matt Mitchell [Thu, 27 Aug 2015 15:39:16 +0000 (08:39 -0700)]
Merge pull request dotnet/coreclr#1205 from benpye/pal-test-junit
runpaltests.sh outputs a XUnit compatible result file for Jenkins.
Commit migrated from https://github.com/dotnet/coreclr/commit/
08ef243f5d7d3093f1d2b2991ae988e490ff9cfd
Ben Pye [Wed, 26 Aug 2015 23:06:36 +0000 (00:06 +0100)]
Use printf instead of non standard -e
Commit migrated from https://github.com/dotnet/coreclr/commit/
85c61d62f49e7ac246a125c66d25581b6f8afb8d
Ben Pye [Wed, 26 Aug 2015 22:40:33 +0000 (23:40 +0100)]
Try fixing FreeBSD PAL tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
57d837c64ced7183cbc52d651a7572dbc7c6c992
Lakshmi Priya [Wed, 26 Aug 2015 22:03:10 +0000 (15:03 -0700)]
Merge pull request dotnet/coreclr#1435 from Priya91/longpath-binder
Replace MAX_PATH with new defines in clr\src\binder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a141b197bc815732022573448eac6b0ea11895f6
Ben Pye [Sat, 4 Jul 2015 15:45:48 +0000 (16:45 +0100)]
runpaltests.sh outputs a XUnit compatible result file for Jenkins.
Commit migrated from https://github.com/dotnet/coreclr/commit/
83f22ae0bb3b2b37f928a7192ac1f34e2f98300a
Jan Vorlicek [Wed, 26 Aug 2015 19:45:35 +0000 (21:45 +0200)]
Merge pull request dotnet/coreclr#1437 from janvorli/ready-to-run-tests
Add ready to run tests
Commit migrated from https://github.com/dotnet/coreclr/commit/
b7d38a0ff5a4faa3ed6da5b8e0e375b9e91e6a77
Jan Vorlicek [Mon, 18 May 2015 13:17:53 +0000 (15:17 +0200)]
Add ready to run tests
Add tests to verify ready to run handles versioning correctly.
Commit migrated from https://github.com/dotnet/coreclr/commit/
79c84e436d521f347997245724772693979e9f3e
Jan Vorlicek [Wed, 26 Aug 2015 13:40:01 +0000 (15:40 +0200)]
Merge pull request dotnet/coreclr#1436 from janvorli/fix-gc-during-exception-handling-2
Fix corner case of GC stack walking during exception handling
Commit migrated from https://github.com/dotnet/coreclr/commit/
f65b34e0e84db8f1d3058b09f90c641949464e62
Jan Vorlicek [Wed, 26 Aug 2015 10:34:25 +0000 (12:34 +0200)]
Fix corner case of GC stack walking during exception handling
This change fixes a corner case of GC stack walking during exception handling
that I have missed in my previous fix. When GC suspends a thread while it is
performing second pass of exception handling, in some cases the previous
exception tracker is already collapsed into the current one and so the
evidence on a frame being a parent of an already executed handler funclet
cannot be extracted from previous trackers and stack walker tries to pass
an outdated reference to GC.
Fortunatelly, the information about the parent from the collapsed tracker
is stored in the tracker into which the collapsed one was merged and
so we can test it using that.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e48ec9c8c5c3edb1b32251d57d766999da973d94
Aditya Mandaleeka [Wed, 26 Aug 2015 01:34:04 +0000 (18:34 -0700)]
Merge pull request dotnet/coreclr#1371 from adityamandaleeka/gcsuspension_2
Implement GC suspension for Linux [WIP]
Commit migrated from https://github.com/dotnet/coreclr/commit/
6f3131364edfe08c6c697a5b65279991e14e4d16
Lakshmi Priya Sekar [Tue, 25 Aug 2015 23:19:37 +0000 (16:19 -0700)]
Replace MAX_PATH with new defines in vm.
Commit migrated from https://github.com/dotnet/coreclr/commit/
034d1a61e8ac83d3b91819f7a19d7cb34e2902d3
Jan Kotas [Tue, 25 Aug 2015 20:59:38 +0000 (13:59 -0700)]
Merge pull request dotnet/coreclr#1434 from kangaroo/pinvoke-stubs
[amd64] Implement the pinvoke stubs for unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
ce46178457d5fb2e5e35f1a6e5f7843401d1155f
Lakshmi Priya Sekar [Tue, 25 Aug 2015 20:13:51 +0000 (13:13 -0700)]
Replace MAX_PATH with new defines.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0d618e6dea1c8582e76b043b0d454de1b80e092e
Geoff Norton [Tue, 25 Aug 2015 01:30:12 +0000 (18:30 -0700)]
[amd64] Implement the pinvoke stubs for unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
52057b230e471c3da2d6238966d968147ce9f29a
Aditya Mandaleeka [Tue, 25 Aug 2015 02:24:13 +0000 (19:24 -0700)]
Detect whether we interrupted an epilog properly
Commit migrated from https://github.com/dotnet/coreclr/commit/
31305c55d32735c626513373e4d7fe5e8d1e927f
Jeremy Kuhne [Tue, 25 Aug 2015 01:18:56 +0000 (18:18 -0700)]
Merge pull request dotnet/coreclr#1381 from JeremyKuhne/maxpath
Run code under long paths on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
55aef68c1bddfd08f5f2e4e9fc3909914ce91a90
Jan Kotas [Tue, 25 Aug 2015 01:02:28 +0000 (18:02 -0700)]
Merge pull request dotnet/coreclr#1428 from jkotas/readytorun-doc
Add ReadyToRun overview to documentation
Commit migrated from https://github.com/dotnet/coreclr/commit/
074a6bed9baeebf0910c0616d777b403498ced65
Jan Kotas [Mon, 24 Aug 2015 11:50:43 +0000 (04:50 -0700)]
Add ReadyToRun overview to documentation
Commit migrated from https://github.com/dotnet/coreclr/commit/
750b18cb116566c0579b716a08b701b26b7cb920
Jan Kotas [Tue, 25 Aug 2015 00:47:23 +0000 (17:47 -0700)]
Merge pull request dotnet/coreclr#1432 from jkotas/rollback-1421
Re-enable JIT test
Commit migrated from https://github.com/dotnet/coreclr/commit/
6d1ca2b953f04e736f05338af3381c610d9088f8
Jan Kotas [Tue, 25 Aug 2015 00:06:38 +0000 (17:06 -0700)]
Re-enable JIT test
Commit migrated from https://github.com/dotnet/coreclr/commit/
1356934f7b99489c1b0daa41fb5d9369825bcfeb
Jeremy Kuhne [Wed, 12 Aug 2015 23:36:19 +0000 (16:36 -0700)]
Run code under long paths on Unix
This change allows the happy path for a simple corerun Hello World app.
This is pretty close to the bare minimum needed to run.
Adds a MAX_LONGPATH define for long paths and MAX_PATH_FNAME to use for
places where MAX_PATH is used for something that is trully 260 characters
(usually file names).
Commit migrated from https://github.com/dotnet/coreclr/commit/
bfad1ba0dc515be59884c642be887d60cad74c96
Jan Kotas [Mon, 24 Aug 2015 19:49:34 +0000 (12:49 -0700)]
Merge pull request dotnet/coreclr#1431 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
767e9175ea115425b814432c4362afb0d83b3668
Bruce Forstall [Mon, 24 Aug 2015 18:07:39 +0000 (11:07 -0700)]
Fix bug 1213453 (GitHub issue dotnet/coreclr#1421): incorrect EH scopes for optimized loops
(Port changeset 1518001 from CodeGen)
The bug occurs when fgOptWhileLoop() duplicates a condition from one 'try' region into another, and that condition throws an exception, such as for an array bounds check. This was the test case:
try
{
Console.WriteLine("try");
}
catch (IndexOutOfRangeException)
{
Console.WriteLine("bad");
result = FAIL;
}
while (a[42] != 0) {}
Before the fix, the "a[42] != 0" condition was duplicated into the 'try' region, thus causing an IndexOutOfRange exception to be thrown, and caught in the wrong region.
The main fix is to compare the 'try' region of the region where the condition exists and the region we intend to copy it to. The other changes, in optimizer.cpp and flowgraph.cpp, are "defense in depth" -- to be more careful with EH checks in two very similar optimizations.
This bug existed in AMD64 and ARM32.
There are 2 functions with ARM32 asm diffs.
There are 70 functions with AMD64 SuperAsm diffs.
There are many cases where we prohibit the optimization that caused the bug. There are a few cases where we don't do the optimization but could have if we were more careful about checking for precise EH conditions that are allowed, namely, that branching to the first block of a 'try' region is ok.
[tfs-changeset: 1518014]
Commit migrated from https://github.com/dotnet/coreclr/commit/
ad245f8f4faee15e9045f2d781ce41fa60458058
Aditya Mandaleeka [Sat, 22 Aug 2015 19:27:29 +0000 (12:27 -0700)]
Merge pull request dotnet/coreclr#1230 from jasonwilliams200OK/master
docs: Fixes link in docgen and config knobs
Commit migrated from https://github.com/dotnet/coreclr/commit/
5d8b6c70296a4433745e81eaaff44238abb468bf
Mike McLaughlin [Sat, 22 Aug 2015 08:00:11 +0000 (01:00 -0700)]
Merge pull request dotnet/coreclr#1423 from mikem8361/gcroot
Enable gcroot and other gc related sos commands.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e0a90672053736de74a2530fc1b31ea70f3d2dc8
Mike McLaughlin [Fri, 14 Aug 2015 01:36:31 +0000 (18:36 -0700)]
Enable gcroot and other gc related sos commands.
The "gcroot" command currently doesn't work with lldb 3.6 (our default package), but
works fine with lldb 3.7.0.
lldb 3.6 terminates with
(lldb) sos GCRoot
00007fffcc004ce8
*** Error in `lldb-3.6': munmap_chunk(): invalid pointer: 0x000000000184cde8 ***
PAL_STDCPP_COMPAT is the define that the VS team added to allow the xplat
headers to be used. This is neccessary for the whole SOS directory now
because gcroot and other gc commands need unorderd_map, unorderd_set, etc.
from the stdlib.
Had to change all wchar_t to WCHAR because the xplat stdlib default is UTF32.
Had to rename and provide macros that conflict with the stdlib:
wcslen -> _wcslen
wcsncmp -> _wcsncmp
wcsrchr -> _wcsrchr
wcscmp -> _wcscmp
wcschr -> _wcschr
wcscspn -> _wcscspn
wcscat -> _wcscat
__in -> ___in
__out -> ___out
max(a, b) -> _max(a, b)
min(a, b) -> _min(a, b)
Had to ifdef PAL_STDCPP_COMPAT a lot more of pal.h, palrt.h and some other header files.
Changed a bunch of L"" to W("").
Commit migrated from https://github.com/dotnet/coreclr/commit/
2f4462661a5134428738c0da4ef2061857b7528e
Jan Kotas [Fri, 21 Aug 2015 23:57:18 +0000 (16:57 -0700)]
Merge pull request dotnet/coreclr#1424 from andschwa/tpa-assertion
Remove Binder assertion for BindByWhereRef
Commit migrated from https://github.com/dotnet/coreclr/commit/
f7958cfe0c7b83b8c068ad0d082fbf6cebb2c0a9
Andrew Schwartzmeyer [Fri, 21 Aug 2015 22:51:23 +0000 (15:51 -0700)]
Remove Binder assertion for BindByWhereRef
Some use cases of CoreCLR require overriding the assembly load context,
triggering this assertion. However, this override does not necessarily
break support of BindByWhereRef, and so it should be attempted on a
best-effort basis, instead of bailing out prematurely.
Commit migrated from https://github.com/dotnet/coreclr/commit/
db412f16d583b81be0ee3cb60d4cce634e1fb7ac
Jan Kotas [Fri, 21 Aug 2015 22:54:49 +0000 (15:54 -0700)]
Merge pull request dotnet/coreclr#1422 from jgalar/master
LTTng supports hardware context
Commit migrated from https://github.com/dotnet/coreclr/commit/
7d5d143564640229a428086151d5119e1c95b62c
Jérémie Galarneau [Fri, 21 Aug 2015 21:17:27 +0000 (17:17 -0400)]
LTTng supports hardware context
LTTng supports the annotation of events with perf hardware counters via the use of the "add-context" command.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f15258cb52278152bb319e50c2a930f1c3818bd3
Jan Kotas [Fri, 21 Aug 2015 04:18:57 +0000 (21:18 -0700)]
Merge pull request dotnet/coreclr#1416 from jkotas/vs2015-autodetect
Auto-detect VS2015
Commit migrated from https://github.com/dotnet/coreclr/commit/
6bad4f89818630e9ccc12b4c7f5b4838e8982ec3
Jan Kotas [Fri, 21 Aug 2015 03:36:28 +0000 (20:36 -0700)]
Disable test failing on VS2015
Failure tracked by dotnet/coreclr#1421 RyuJIT generates incorrect exception handling scopes for IL generated by Roslyn
Commit migrated from https://github.com/dotnet/coreclr/commit/
69dcfe966ba7bf7ffd3dd2b000943590279da358
Jan Kotas [Thu, 20 Aug 2015 06:50:32 +0000 (23:50 -0700)]
Use volatile stores for values read by DAC
VS2015 optimizer is smart enough to optimize out stores into globals that are only read by the DAC.
Commit migrated from https://github.com/dotnet/coreclr/commit/
f31a36b395cf8139489b5c94e47c542abee2240f
Jan Kotas [Thu, 20 Aug 2015 06:48:50 +0000 (23:48 -0700)]
Turn on C# optimizations on two large tests
The debug IL generated by Roslyn is too complex and causes the test to fail with stack overflow.
Commit migrated from https://github.com/dotnet/coreclr/commit/
06e030df6b1bd453447578ad5f9eb3619feb4e4c
Jan Kotas [Thu, 20 Aug 2015 04:12:40 +0000 (21:12 -0700)]
Auto-detect VS2015
Change build and tests scripts to detect VS2015 and use that if available by default
Commit migrated from https://github.com/dotnet/coreclr/commit/
9abdcfa31083750d09eb147811345b625575620e
Jan Kotas [Fri, 21 Aug 2015 02:30:11 +0000 (19:30 -0700)]
Merge pull request dotnet/coreclr#1413 from jkotas/atypical-callsite
Add CORINFO_CALLINFO_ATYPICAL_CALLSITE flag to JIT-EE interface
Commit migrated from https://github.com/dotnet/coreclr/commit/
879d60f2167ebba5df62f167d7a3f8d13facc5ab
Jan Kotas [Thu, 20 Aug 2015 15:20:11 +0000 (08:20 -0700)]
Merge pull request dotnet/coreclr#1418 from ytechie/patch-1
Fixed stray character typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
df123c6e0be3d2467ae001217dc51c658ee0ea6d
Jason Young [Thu, 20 Aug 2015 14:43:46 +0000 (09:43 -0500)]
Fixed stray character typo
Commit migrated from https://github.com/dotnet/coreclr/commit/
13067be08a4a9ee3b8606fce06565ca15ccbc9b5
Jan Kotas [Thu, 20 Aug 2015 05:48:01 +0000 (22:48 -0700)]
Complete support for atypical callsites
Commit migrated from https://github.com/dotnet/coreclr/commit/
cf3ad1e861a14aec7806cc575f19f91092309b37
Jan Kotas [Wed, 19 Aug 2015 23:27:19 +0000 (16:27 -0700)]
Merge pull request dotnet/coreclr#1415 from jkotas/acceptable-time-error
Fix timing in more PAL tests for FreeBSD on hypervisors
Commit migrated from https://github.com/dotnet/coreclr/commit/
65173556cac6152a8ba60109bfe8af30ed37f8bc
Jan Kotas [Wed, 19 Aug 2015 23:21:37 +0000 (16:21 -0700)]
Merge pull request dotnet/coreclr#1410 from jkotas/vs2015-buildtools
Update buildtools version to fix VS2015 build
Commit migrated from https://github.com/dotnet/coreclr/commit/
dbb91cf03bec8abe3ba9ced4f98ad02fdf767642
Aditya Mandaleeka [Wed, 19 Aug 2015 21:59:44 +0000 (14:59 -0700)]
Add config switch for thread suspension injection in clrconfigvalues.h
Commit migrated from https://github.com/dotnet/coreclr/commit/
9d6a4e5cd2c3870675bf20f93a6a60f7d34eb209
Jan Kotas [Wed, 19 Aug 2015 17:28:14 +0000 (10:28 -0700)]
Fix timing in more PAL tests for FreeBSD on hypervisors
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f0754ec17c9ba38a79498158b8687a11a9412a3
Jan Kotas [Tue, 11 Aug 2015 15:18:32 +0000 (08:18 -0700)]
Rename ResolveNuGetPackageAssets to PrereleaseResolveNuGetPackageAssets
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3c22523bdf4b5d72a404302953bb92e54020783
Jan Kotas [Tue, 11 Aug 2015 15:02:54 +0000 (08:02 -0700)]
Update buildtools version to 00079
Required by VS2015
Commit migrated from https://github.com/dotnet/coreclr/commit/
6662f68752005c9fe9a8141860b9cb9e64745f92
Matt Ellis [Wed, 19 Aug 2015 05:18:12 +0000 (22:18 -0700)]
Merge pull request dotnet/coreclr#1395 from ktos/patch-1
Updated to new syntax of dnx run
Commit migrated from https://github.com/dotnet/coreclr/commit/
f39b70bcd4579e72613b334201d67c9ab1515282
Nick Guerrera [Wed, 19 Aug 2015 03:26:16 +0000 (20:26 -0700)]
Merge pull request dotnet/coreclr#1412 from nguerrera/remove-old-corefxpal
Remove PAL code that has been moved to the corefx repo
Commit migrated from https://github.com/dotnet/coreclr/commit/
2a55aee752d1af1d006372da1fdb1c60e67334b5
Jan Kotas [Wed, 19 Aug 2015 00:51:38 +0000 (17:51 -0700)]
Add CORINFO_CALLINFO_ATYPICAL_CALLSITE flag to JIT-EE interface
CORINFO_CALLINFO_ATYPICAL_CALLSITE is meant to be used in situations where the code generator cannot guarantee that the callsite can be disassembled by delay load helper (e.g. it is not call [rel32] on x86/x64)
Commit migrated from https://github.com/dotnet/coreclr/commit/
0152e40aec8bf3da45c111d66eb579fed686edb2
Nick Guerrera [Tue, 18 Aug 2015 23:09:19 +0000 (16:09 -0700)]
Remove PAL code that has been moved to the corefx repo
Commit migrated from https://github.com/dotnet/coreclr/commit/
f65997ab91356c108f19ea5434596603ca31b07e
Eric Erhardt [Tue, 18 Aug 2015 22:46:55 +0000 (15:46 -0700)]
Merge pull request dotnet/coreclr#1397 from eerhardt/master
Handle newer tzfiles by allowing for the "big bang" transition.
Commit migrated from https://github.com/dotnet/coreclr/commit/
50ef79d48df81635e58ca59386620f0151df6022
Eric Erhardt [Tue, 18 Aug 2015 22:28:07 +0000 (15:28 -0700)]
Merge pull request dotnet/coreclr#1409 from eerhardt/Fix2821
TimeZoneInfo is finding the wrong AdjustmentRule on Windows.
Commit migrated from https://github.com/dotnet/coreclr/commit/
8c369709553fc621156e0279bf96b91b2081f442
Eric Erhardt [Fri, 14 Aug 2015 21:23:39 +0000 (16:23 -0500)]
Handle newer tzfiles by allowing for the "big bang" transition.
In the TZ release 2014c, a new "big bang" transition time was added
to the beginning of the tzfiles. This broke the TimeZoneInfo parsing
logic because the transition time was for 13 billion years ago, which
is unrepresentable by DateTime.
To handle these new transitions, check for times really far in the past and future, and use DateTime.Min/Max to represent them. Then skip over any DateTime.MinValue times when generating the AdjustmentRules.
Fix https://github.com/dotnet/corefx/issues/2816.
Commit migrated from https://github.com/dotnet/coreclr/commit/
dd57af2f2711a4acbdf11be2e29cfd5c2f077cc1
Eric Erhardt [Tue, 18 Aug 2015 20:00:51 +0000 (13:00 -0700)]
TimeZoneInfo is finding the wrong AdjustmentRule on Windows.
TimeZoneInfo.IsAdjustmentRuleValid is no longer using the "dateOnly/whole-date" portion on Windows to check for the correct AdjustmentRule. This causes problems when converting times and determining if a time is daylight savings or not.
Fix https://github.com/dotnet/corefx/issues/2821
Commit migrated from https://github.com/dotnet/coreclr/commit/
d3e43a87135f9ae81209f3113bb7c64ac5dc20dd
Marcin Badurowicz [Fri, 14 Aug 2015 20:20:42 +0000 (22:20 +0200)]
Updated to new syntax of dnx run and references to beta7
Extended PRdotnet/coreclr#1393 to every documentation file as @jasonwilliams200OK noticed in
comments to bc1ba75. Changed documentation as well to reference more current,
beta7 versions.
Relevant annoucement is https://github.com/aspnet/Announcements/issues/52.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b1a908ad87130f28ddb9281a7393347d9929159d
Stephen Toub [Tue, 18 Aug 2015 11:40:24 +0000 (07:40 -0400)]
Merge pull request dotnet/coreclr#1405 from ellismg/build-mscorlib-on-linux
Build mscorlib on linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
4df67c74b4f35ce32f6afb41ffd813f28d8aed27
Matt Ellis [Tue, 11 Aug 2015 05:36:57 +0000 (22:36 -0700)]
Build mscolrib.dll on Unix
Initial work to get mscorlib.dll building via Roslyn + MSBuild running
on top of Mono on Linux.
- Use a newer version of BclRewriter.exe which works cross-platform,
the major difference here is that now we need to specify the input
assembly as a named argument instead (since fully qualified paths on
Unix look like flags on Windows).
- The ResGen we use comes from Mono, which does not support the -d
flag, so we need to stop passing defines to ResGen. I know the mono
folks recently did some work to address this, but long term we need
to move towards getting our ResGen.exe running on CoreCLR and use
that instead.
- Don't require that mono is installed in order to build coreclr. If
mono is not on the path, skip the build step to enable folks to do
development without Mono. In this case, they will need to continue
to build mscorlib.dll on Windows, targeting Unix.
- Mono stability has been an issue for folks that have buddy tested
this. I've found that recent mono 4.2 builds, when run with the
Boehm GC work well for me. Other folks have other builds they like
instead. The `skipmscorlib` flag can be passed to build.sh if you
want to skip building mscorlib.dll locally.
Commit migrated from https://github.com/dotnet/coreclr/commit/
614d58f99a8385bb54281f2b7fb9d5dd6672a519
Matt Ellis [Mon, 10 Aug 2015 23:45:38 +0000 (16:45 -0700)]
Remove unused resource string
StackTrace_Stack was conditional between Unix and Windows, which is
problematic when building on Unix, since the Mono provided ResGen does
not understand our define directives. It turns out this string is
unused (in both CoreCLR and Desktop) so to make things easier, we can
just remove it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
793558ed5b888b57553df4c8a3e740aa171e51d3
Nick Guerrera [Mon, 17 Aug 2015 23:55:05 +0000 (16:55 -0700)]
Merge pull request dotnet/coreclr#1403 from nguerrera/revert-getfileinfo
Remove GetFileInformation stat wrapper from PAL
Commit migrated from https://github.com/dotnet/coreclr/commit/
b4333eff478fd48292d350f675be2ba916ea8271
Nick Guerrera [Mon, 17 Aug 2015 04:54:49 +0000 (21:54 -0700)]
Remove GetFileInformation stat wrapper from PAL
It has been replaced by stat shims in corefx System.Native.
Reverts commits:
* dotnet/coreclr@
79ebe5605a94d559d2996997aec3cbcf8a4504c3.
* dotnet/coreclr@
0119283384f1bac80da8bb1736453c87d4f8e689.
Commit migrated from https://github.com/dotnet/coreclr/commit/
512ef05db7419352c4630bb2fcf6c5dca94fce4b
Stephen Toub [Sun, 16 Aug 2015 12:19:09 +0000 (08:19 -0400)]
Merge pull request dotnet/coreclr#1391 from AlexGhiondea/fixProject
Remove incorrect msbuild logic for creating relative paths
Commit migrated from https://github.com/dotnet/coreclr/commit/
dc0fca478639add871244ad106500ae0f5ff676c
Stephen Toub [Sun, 16 Aug 2015 12:18:11 +0000 (08:18 -0400)]
Merge pull request dotnet/coreclr#1399 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
57ae05a6c50090382b2054908abf28b82f474c8c
Peter Jas [Sat, 11 Jul 2015 18:58:34 +0000 (18:58 +0000)]
docs: Fixes link in docgen and config knobs.
Commit migrated from https://github.com/dotnet/coreclr/commit/
7b2b246cc55b2494d72230264ad23bda3e6743b5
Alex Ghiondea [Sat, 15 Aug 2015 05:17:29 +0000 (22:17 -0700)]
The newly introduced method PopulateAllSystemTimeZones was copied from a method that had the SecuritySafeCritical attribute but it does not have the attribute itself.
This change adds the attribute to the new method.
[tfs-changeset: 1514941]
Commit migrated from https://github.com/dotnet/coreclr/commit/
96dfddc0491810f8fa6b928911caddeb888ff07e
Aditya Mandaleeka [Sat, 15 Aug 2015 02:15:16 +0000 (19:15 -0700)]
Merge pull request dotnet/coreclr#1398 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
2d024d472a600156af270765864a95b822bcf272
Aditya Mandaleeka [Fri, 14 Aug 2015 23:52:07 +0000 (16:52 -0700)]
Merge pull request dotnet/coreclr#1394 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
2142914db5b3ab1ba475a41c2869d51070a41203
Eric Erhardt [Fri, 14 Aug 2015 22:36:08 +0000 (17:36 -0500)]
Merge pull request dotnet/coreclr#1378 from eerhardt/master
Make use of TimeZoneInfo.CachedData on Linux.
Commit migrated from https://github.com/dotnet/coreclr/commit/
e26b96d4ad57801af4d52294a52a9386e3cb6ca6
Joel Hendrix [Fri, 14 Aug 2015 21:37:25 +0000 (14:37 -0700)]
More xplat binplace clean-up.
Fixed up proj files for CLR and FxCore partitions.
Moved xplat build to phase one coreclr builds.
[tfs-changeset: 1514852]
Commit migrated from https://github.com/dotnet/coreclr/commit/
05065ccfbf8fe4fc559ad024558b76afd85692d7
Aditya Mandaleeka [Tue, 11 Aug 2015 01:32:31 +0000 (18:32 -0700)]
Add build-time check for existence of pthread_sigqueue and fix minor
issues.
Commit migrated from https://github.com/dotnet/coreclr/commit/
6688840db4bdd8b3f9d122f001109918f22a9956
Eric Erhardt [Tue, 11 Aug 2015 22:19:55 +0000 (17:19 -0500)]
Make use of TimeZoneInfo.CachedData on Linux.
Fix https://github.com/dotnet/corefx/issues/2497.
Commit migrated from https://github.com/dotnet/coreclr/commit/
1aacfed602bb116042cb170e4790260714cd3b50
Joel Hendrix [Fri, 14 Aug 2015 18:39:35 +0000 (11:39 -0700)]
Consolidate enabling of xplat binary downloads into GetXPlatBinaries.targets.
Disable xplat build for SSV builds.
[tfs-changeset: 1514806]
Commit migrated from https://github.com/dotnet/coreclr/commit/
e43e64235477ad690cc7a2a957a7bc48d2c7e89c
Aditya Mandaleeka [Fri, 14 Aug 2015 18:35:36 +0000 (11:35 -0700)]
Merge pull request dotnet/coreclr#1393 from ktos/patch-1
Updated to new syntax of dnx run
Commit migrated from https://github.com/dotnet/coreclr/commit/
46bb3fa7c4469c70d07b3a7b43370fe630d4fb69
AlexGhiondea [Fri, 14 Aug 2015 18:31:17 +0000 (11:31 -0700)]
Merge pull request dotnet/coreclr#1390 from AlexGhiondea/fix_1386
Rebuild the resource file when the input file changes
Commit migrated from https://github.com/dotnet/coreclr/commit/
c63ad8dc41b8581efc31c836918dd6e97261a653
Aditya Mandaleeka [Fri, 14 Aug 2015 18:20:53 +0000 (11:20 -0700)]
Merge pull request dotnet/coreclr#1392 from hackcraft/typo_retrive_retrieve
Fix typo "retrive" and "retrieved" to "retrieve" and "retrieved"
Commit migrated from https://github.com/dotnet/coreclr/commit/
4add7616fae2fe83bde5884e11c761d33a20cffe
Marcin Badurowicz [Fri, 14 Aug 2015 17:50:35 +0000 (19:50 +0200)]
Updated to new syntax of dnx run
Syntax for running application changed from `dnx . run` into `dnx run` so last step in docs is always resulting in exception `System.InvalidOperationException: Unable to load application or execute command '.'.` thrown by dnx.
Commit migrated from https://github.com/dotnet/coreclr/commit/
bc1ba758603fda1dec46b005cd9211dbfd4834b0
Jon Hanna [Fri, 14 Aug 2015 17:28:00 +0000 (18:28 +0100)]
Fix typo "retrive" and "retrieved" to "retrieve" and "retrieved"
Mostly just in comments, test case and trace text, but the exception
thrown if you try to GetInterfaceMap on an array type has it in
the description.
Commit migrated from https://github.com/dotnet/coreclr/commit/
b07498db7d68ca9b899c243a108b5d086f6a3b32
Matt Mitchell [Fri, 14 Aug 2015 15:45:22 +0000 (08:45 -0700)]
Merge pull request dotnet/coreclr#1388 from ellismg/add-skip-mscorlib-to-build-sh
Add skipmscorlib option to build.sh
Commit migrated from https://github.com/dotnet/coreclr/commit/
7dfc09b70f883472680a5b94521bcd04b6f019c8
Alex Ghiondea [Fri, 14 Aug 2015 06:42:08 +0000 (23:42 -0700)]
Remove incorrect msbuild logic for creating relative paths
The logic was using Link to try and show mscorlib sources show up in VS.
Turns out the logic was both incorrect and not needed.
Commit migrated from https://github.com/dotnet/coreclr/commit/
3f9f3dc080dbc1670b8e8800ec86f9731f927aea
Alex Ghiondea [Fri, 14 Aug 2015 06:34:18 +0000 (23:34 -0700)]
Rebuild the resource file when the input file changes
When building mscorlib resources we are not taking into account the file
that contains the resource strings when deciding if we need to rebuild the
resources file.
Becasue of this, adding/modifying a resource string will not show up in the
build resource file until you delete the intermediate folder.
Commit migrated from https://github.com/dotnet/coreclr/commit/
87018327bb236a8b98063adb8bad709d07d80d9f
Jan Kotas [Fri, 14 Aug 2015 02:03:13 +0000 (19:03 -0700)]
Merge pull request dotnet/coreclr#1387 from stephentoub/named_primitives
Throw PlatformNotSupported for named sync primitives on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
ed73a1c96d423ff65db91758176343b8d66a137d
Matt Ellis [Fri, 14 Aug 2015 00:21:56 +0000 (17:21 -0700)]
Merge pull request dotnet/coreclr#1385 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
3275a68f04e1ccf571ba2cef2813313a1c3260f0
Matt Ellis [Thu, 13 Aug 2015 21:29:00 +0000 (14:29 -0700)]
Add skipmscorlib option to build.sh
In perperation for supporting mscorlib.dll builds on *NIX, provide a
switch for the CI system to disable building mscorlib as part of the
build, since we pick up the cross compiled Linux version and our mono
seems to crash often in CI.
Once this is checked in we can start having the CI jobs pass this
switch without causing an error, then have a future commit which
enables mscorlib building key off it.
Commit migrated from https://github.com/dotnet/coreclr/commit/
0a23877633f40357605d6e4294ef7df7892996fa
stephentoub [Thu, 13 Aug 2015 23:28:17 +0000 (19:28 -0400)]
Throw PlatformNotSupported for named sync primitives on Unix
libcoreclr's synchronization primitives implementation currently supports names, but those names have process-wide rather than system-wide scope. This is very dangerous for most code that would want names, as they're typically used for cross-process synchronization, and as such the current behavior could lead to bad race conditions difficult to diagnose. Until a better solution is available, we will throw PlatformNotSupportedException when trying to create such named primitives.
Commit migrated from https://github.com/dotnet/coreclr/commit/
2b42725a493e2beb11f70af8c8777891d73b4276
Bryan Arant [Thu, 13 Aug 2015 20:21:22 +0000 (13:21 -0700)]
There was a testcase failing (Interop\WinRT\Exception\ManagedClientNativeServer\ExceptionTest.csproj).
The test checks that the HResult 0x8000000e maps to a System.InvalidOperationException.
What was happening: We returned a System.COMException with the message "A method was called at an unexpected time." (we're just constructing an exception based on an HR message).
What should be happening: We return a System.InvalidOperationException (i.e. we check against the exceptionKind maps for a specific HResult to map to an exception).
The point of failure is in the creation of the EEMessageException. When calling GetKindFromHR(...) we were inverting the boolean that uses the WinRT mappings.
Removing that inversion allows us to check the WinRT Exception Maps for exceptions. When I made this change, we correctly return the correct Exception.
Test coverage: I ran a full DDR, and the whole TOF (both against my build and against the newest build). All passed successfully (i.e. no additional failures).
[tfs-changeset: 1514327]
Commit migrated from https://github.com/dotnet/coreclr/commit/
16fc3005c085212f6e700a0df8ff7f36c1ea535b
Aditya Mandaleeka [Sat, 8 Aug 2015 02:23:47 +0000 (19:23 -0700)]
Remove temporary ifdef and refactor/simplify
Commit migrated from https://github.com/dotnet/coreclr/commit/
7c102f1ff7e3c49bd7d2f8f972ca3dcca3f5b48e
Aditya Mandaleeka [Fri, 7 Aug 2015 23:08:39 +0000 (16:08 -0700)]
Enable FEATURE_HIJACK on 64-bit Linux
Commit migrated from https://github.com/dotnet/coreclr/commit/
d59491c66042cc1746b8a73056c14f4b847fab8c
Aditya Mandaleeka [Tue, 16 Jun 2015 22:25:20 +0000 (15:25 -0700)]
Implement GC Suspension for Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
02b0ce2b432d3e37769c0f46d315a91c83a0db77
Aditya Mandaleeka [Fri, 7 Aug 2015 01:57:11 +0000 (18:57 -0700)]
Add macro for PUSH_CALLEE_SAVED_REGISTERS for System V AMD64
Commit migrated from https://github.com/dotnet/coreclr/commit/
34ca4064d690fbdb5b99647ec7a00ac603808192
Aditya Mandaleeka [Fri, 7 Aug 2015 01:43:43 +0000 (18:43 -0700)]
Add support for injecting activation functions into threads.
Use signals to interrupt the specified thread and have it
call the activation function passed in.
Commit migrated from https://github.com/dotnet/coreclr/commit/
a0bb6f06b2313ee2cae556af4e47139329ac9098
Jan Vorlicek [Thu, 13 Aug 2015 19:13:48 +0000 (21:13 +0200)]
Merge pull request dotnet/coreclr#1384 from janvorli/fix-gc-during-exception-handling
Fix GC issues during exception handling on Unix
Commit migrated from https://github.com/dotnet/coreclr/commit/
6b8d992844994ac5e52344dd6f2eec2074790231
Aditya Mandaleeka [Thu, 13 Aug 2015 19:05:15 +0000 (12:05 -0700)]
Fix a section number in table of contents.
The "Primitive Types" link pointed to 2.9 rather than 2.9.1.
Commit migrated from https://github.com/dotnet/coreclr/commit/
87a6eb66f4b058c8a35c96edbce0e28644880b9f
Aditya Mandaleeka [Thu, 13 Aug 2015 19:00:53 +0000 (12:00 -0700)]
Merge pull request dotnet/coreclr#1137 from hadibrais/patch-1
Add Table of Contents to clr-code-guide.md
Commit migrated from https://github.com/dotnet/coreclr/commit/
4f0eea39b8a7d336489bcbe6dd552c7ca729f229
Jan Kotas [Thu, 13 Aug 2015 14:44:08 +0000 (07:44 -0700)]
Merge pull request dotnet/coreclr#1383 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
2e37fd0a43577b45d65b582e0765c93f3b8bad51
Jan Vorlicek [Thu, 13 Aug 2015 10:27:31 +0000 (12:27 +0200)]
Fix GC issues during exception handling on Unix
This change fixes two issues that happens in some cases when GC scans stack of
a thread that is handling exception at that moment.
First issue was caused by the fact that the stack walker wasn't modified to
take into account the difference in exception handling on Unix. When an exception
is thrown from a catch handler or finally block (a funclet )on Unix, part of the stack
is unwound immediatelly, while on Windows, the stack is not reclaimed until
the exception is fully handled.
The problem was caused by the fact that when GC happens in the funclet before the exception
is processed, but after a point where GC knows that the lifetime of locals in the caller frame
is over, it doesn't update the references in the caller frame for objects that it has relocated.
On Windows, this is detected just from walking the stack, since the funclet frame is still there
and the stack walker can then skip scanning the parent frame GC references.
On Linux, the funclet is not on stack anymore, so this case was not detected and GC attempted to
scan the stale references and crashed.
The fix was to detect that a frame was a caller to a funclet from the chain of previous exception
trackers that is fortunately preserved and the trackers hold the necessary information.
The second issue was more subtle. During interleaved exception handling, when we unwind a native
portion of the stack and switch back to unwinding a managed block of stack frames, we re-create
the exception tracker and carry over just a few members necessary to continue processing the
same exception. The way it was done was that we have first removed the current tracker from
the list of trackers of the current thread, then we have destroyed it, created a new one and
put it back to the front of the list.
The issue happened when GC started walking the stack of the thread in the small time slot when
the current tracker was removed from the list, but the re-created tracker was not added there yet.
Then the detection necessary for handling the previous issue didn't work and we got a crash.
The fix was to make the whole re-creation of the exception tracker atomic w.r.t. the GC.
Commit migrated from https://github.com/dotnet/coreclr/commit/
63653cf406ead63a79ae52920e050c385a8f2e37
Jan Kotas [Thu, 13 Aug 2015 02:44:29 +0000 (19:44 -0700)]
Merge pull request dotnet/coreclr#1382 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
02ec545c9b188bcbf21c0910ee538e572b9fcbf8
Alex Ghiondea [Thu, 13 Aug 2015 00:41:15 +0000 (17:41 -0700)]
We are incorrectly stripping away the Identity method from the EnumHelper type when building mscorlib.
[tfs-changeset: 1513902]
Commit migrated from https://github.com/dotnet/coreclr/commit/
21712a326afeef020f3de9103132cab6929c6f31
Aditya Mandaleeka [Wed, 12 Aug 2015 23:53:30 +0000 (16:53 -0700)]
Merge pull request dotnet/coreclr#1380 from dotnet-bot/from-tfs
Merge changes from TFS
Commit migrated from https://github.com/dotnet/coreclr/commit/
3f756ddc722655ed5d76032b0a98e4dc550c2019
Matt Ellis [Wed, 12 Aug 2015 23:11:43 +0000 (16:11 -0700)]
Build Toolbox\BinaryRewriting as part of the PK product group
We need this so we can get a signed build of BclRewriter.exe which is only produced by the offical build out of the ProjectK branch.
[tfs-changeset: 1513878]
Commit migrated from https://github.com/dotnet/coreclr/commit/
43a052cf5bdc001a38b991efe99613f808525ec9
Tarek Mahmoud Sayed [Wed, 12 Aug 2015 19:50:14 +0000 (12:50 -0700)]
Port the DateTime parser fix from the Desktop
This change is fixing the DateTime parser in cases of date/time strings for cultures which has the date and time separators are same. This happen with Norway, Serbia and Finland cultures
[tfs-changeset: 1513801]
Commit migrated from https://github.com/dotnet/coreclr/commit/
64451083d5bb7204aa6ea46f04c7d0faaf40a260
Matt Mitchell [Wed, 12 Aug 2015 15:34:31 +0000 (08:34 -0700)]
Merge pull request dotnet/coreclr#1329 from AndreyAkinshin/master
Fix a bug with disappeared cast to byte in numeric binary expressions
Commit migrated from https://github.com/dotnet/coreclr/commit/
42cf2d9a2a97a796a5a6c1080e56f15ee648234a