Gaurav Khanna [Fri, 29 Apr 2016 00:19:31 +0000 (17:19 -0700)]
Merge pull request #4643 from gkhanna79/LoadJIT
Load JIT from a custom location
Brian Sullivan [Thu, 28 Apr 2016 21:19:02 +0000 (14:19 -0700)]
Merge pull request #4632 from briansull/multireg-struct-promote
ARM64: Enable Struct Promotion for most Mutireg structs
Bruce Forstall [Thu, 28 Apr 2016 20:32:16 +0000 (13:32 -0700)]
Merge pull request #4646 from BruceForstall/Fix3516
Fix 3516: Change an emitter #ifdef _TARGET_AMD64_ to !LEGACY_BACKEND
Bruce Forstall [Thu, 28 Apr 2016 20:31:17 +0000 (13:31 -0700)]
Merge pull request #4645 from BruceForstall/UpdateRyuJITx86Exclusions
Update RyuJIT/x86 test exclusion list
Bruce Forstall [Thu, 28 Apr 2016 20:30:07 +0000 (13:30 -0700)]
Merge pull request #4644 from BruceForstall/LocallocAndPSPSym
Improve AMD64 PSPSym behavior
Gaurav Khanna [Wed, 27 Apr 2016 23:35:21 +0000 (16:35 -0700)]
Load JIT from a custom location
Brian Sullivan [Thu, 28 Apr 2016 18:49:29 +0000 (11:49 -0700)]
Updated morph.cpp
Bruce Forstall [Thu, 28 Apr 2016 15:24:13 +0000 (08:24 -0700)]
Improve AMD64 PSPSym behavior
The implementation for localloc in a function with EH, and hence with a PSPSym,
currently pops off the outgoing argument space, but not the adjacent PSPSym,
does the localloc allocation, then adjusts the stack pointer again to allocate
space for a PSPSym as well as the outgoing argument space. Finally, it copies
the PSPSym value to the new PSPSym location.
Thus, we end up with multiple copies of the PSPSym on the stack frame.
PSPSym is a RSP-relative local variable, so some users access the lowest
copy on the stack, while other users access the highest (original) copy
on the stack. (Funclets access the original copy because they get the
establisher frame as an argument, and the establisher frame for AMD64 is
the Initial-SP, the copy of RSP before any localloc has occurred.
Specifically, it is a fixed offset from the RBP frame pointer as specified
in the unwind info.)
This change makes several improvements:
1. The PSPSym is never copied during localloc processing. It turns out the
original copy is sufficient, and is always available. To make this work,
the PSPSym local var is changed to be frame pointer relative. We still locate
the PSPSym immediately above the outgoing argument space, lower than any
frame alignment space, so we need to set the PSPSym variable stack offset
specifically after the frame alignment has been calculated. We always have
a frame pointer with either EH or localloc. Thus, localloc will now allocate
the correct, minimal amount of (aligned) space. Note that localloc is commonly
used in IL stubs, so the benefits here are more widespread than might be expected
from just user code.
2. When generating code to call finally clauses, we would load up the PSPSym
as the first argument, as required by the calling convention for finallys.
However, if we are in a function without localloc, and are generating code
for the main function (not a funclet), then the value stored in the PSPSym
slot will be exactly the current value of the stack pointer. So, simply copy
RSP, which is smaller and simpler code.
Each of these changes improves code size. Even for functions without localloc,
accessing PSPSym via RBP instead of RSP is generally smaller.
This fixes #4570.
Bruce Forstall [Thu, 28 Apr 2016 18:15:25 +0000 (11:15 -0700)]
Update RyuJIT/x86 test exclusion list
1. Remove exclusions for #3549, which is now fixed.
2. Add exclusion for new EH test case.
Bruce Forstall [Thu, 28 Apr 2016 18:10:46 +0000 (11:10 -0700)]
Merge pull request #4622 from BruceForstall/FixCobolLegacyX86
Fix regression in internal Cobol test
Bruce Forstall [Thu, 28 Apr 2016 16:48:19 +0000 (09:48 -0700)]
Fix 3516: Change an emitter #ifdef from _TARGET_AMD64_ to !LEGACY_BACKEND
Carol Eidt [Thu, 28 Apr 2016 16:28:35 +0000 (09:28 -0700)]
Merge pull request #4611 from CarolEidt/Fix4412
Mark a multi-reg return type LclVar of GT_RETURN(LclVar) as DoNotEnregister
Michelle McDaniel [Thu, 28 Apr 2016 16:25:49 +0000 (09:25 -0700)]
Merge pull request #4602 from adiaaida/x86Exclude
Add exclusions for RyuJIT x86 and x86 TestEnv
Bruce Forstall [Wed, 27 Apr 2016 18:18:56 +0000 (11:18 -0700)]
Fix regression in internal Cobol test
The x86 (legacy backend) JIT was asserting because an optimization created the wrong size int constant node.
This was a regression introduced with https://github.com/dotnet/coreclr/pull/3385
chunseoklee [Thu, 28 Apr 2016 13:27:07 +0000 (22:27 +0900)]
Linux Mint support for mscorlib.dll (#4610)
Evgeny Pavlov [Thu, 28 Apr 2016 11:38:51 +0000 (15:38 +0400)]
Initial support of lldb-3.8 for libsosplugin (#4473)
Jan Kotas [Thu, 28 Apr 2016 11:35:47 +0000 (04:35 -0700)]
Refuse to compile references to nativecallable methods in R2R images (#4627)
Jan Kotas [Thu, 28 Apr 2016 11:25:40 +0000 (04:25 -0700)]
Merge pull request #4572 from JohnChen0/crossgen-createpdb
Enable crossgen /createpdb command on Windows
Rama krishnan Raghupathy [Thu, 28 Apr 2016 05:38:31 +0000 (22:38 -0700)]
Merge pull request #4614 from ramarag/fragileNIstartup
Arm64:Fxing up VM helper Table in mscorlib NI
Andy Ayers [Thu, 28 Apr 2016 00:30:20 +0000 (17:30 -0700)]
Merge pull request #4625 from AndyAyersMS/FullInliner
Inliner: implement FullPolicy
Jan Kotas [Thu, 28 Apr 2016 00:09:59 +0000 (17:09 -0700)]
Merge pull request #4626 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Thu, 28 Apr 2016 00:08:26 +0000 (17:08 -0700)]
Fix FileLoadException message for CoreCLR (#4624)
Fix FileLoadException message for CoreCLR
Sejong Oh [Thu, 28 Apr 2016 00:06:43 +0000 (17:06 -0700)]
Merge pull request #4578 from sejongoh/vector3_testcase_update
Update Vector3 Interop testcases
Brian Sullivan [Wed, 27 Apr 2016 22:53:15 +0000 (15:53 -0700)]
StructPromote_0428
Enable Struct promotion for 16-byte structs on Arm64
Maoni Stephens [Wed, 27 Apr 2016 22:39:21 +0000 (15:39 -0700)]
Merge pull request #4585 from Maoni0/numa
bug fix in os wrapper
Sejong Oh [Mon, 25 Apr 2016 22:58:50 +0000 (15:58 -0700)]
Update Vector3 Interop testcases
Rama Krishnan Raghupathy [Sat, 16 Apr 2016 01:37:16 +0000 (18:37 -0700)]
Arm64:Fxing up VM helper Table in mscorlib NI
Carol Eidt [Wed, 27 Apr 2016 00:53:51 +0000 (17:53 -0700)]
Mark lvIsMultiRegArgOrRet returned lclVars lvDoNotEnregister
Mark multi-reg returns in Lowering, where there are set to be contained.
This is done in Lowering::TreeNodeInfoInit to confine it to the case
of returns.
Fixes #4412
Lubomir Litchev [Wed, 27 Apr 2016 20:33:34 +0000 (13:33 -0700)]
Merge pull request #4594 from LLITCHEV/EnableGCStressOnx86
Enable use of disassembler for the x86 platform.
Michelle McDaniel [Tue, 26 Apr 2016 18:09:13 +0000 (11:09 -0700)]
Add exclusions for RyuJIT x86 and x86 TestEnv
This change adds exclusions with their issue numbers for the x86 RyuJIT
bring up. Additionally, this change adds the x86 TestEnv script for
running runtests.cmd with protojit.dll.
Aditya Mandaleeka [Wed, 27 Apr 2016 18:49:29 +0000 (11:49 -0700)]
Merge pull request #4309 from adityamandaleeka/sigterm
Add support for handling SIGTERM gracefully [WIP]
Andy Ayers [Wed, 27 Apr 2016 02:54:33 +0000 (19:54 -0700)]
Inliner: implement FullPolicy
The FullPolicy will be used to grow maximal potential inline trees
for methods. It inlines all legal candidates subject to depth and
size limits. Add a config flag to select this as the policy to use.
Also add a config flag so the inline depth limit becomes adjustable,
and rework the code so that checking this limit is now a matter of
policy. Add in an implementation max depth limit of 1000.
Revise names of some statics to make their intent clearer, and add some
missing header comments.
Joseph Tremoulet [Wed, 27 Apr 2016 18:10:02 +0000 (14:10 -0400)]
Merge pull request #4591 from JosephTremoulet/Filter
Separate TryDsc and ExnFlowDsc
Bruce Forstall [Wed, 27 Apr 2016 16:55:29 +0000 (09:55 -0700)]
Merge pull request #4586 from BruceForstall/FixUnreachedAsserts
Fix two "unreached" asserts, and other related cleanups
Jan Kotas [Wed, 27 Apr 2016 16:38:36 +0000 (09:38 -0700)]
Merge pull request #4606 from dotnet-bot/from-tfs
[tfs-changeset: 1599408]
Lubomir Litchev [Wed, 27 Apr 2016 16:38:20 +0000 (09:38 -0700)]
Fix for a badly placed assert in the *unix arg passing classification. (#4608)
There is a badly placed assert in the *nix arg passing classification.
This change moves the assert before incrementing the field count and adds
test for the problem.
Fixes issue #4584.
Bruce Forstall [Wed, 27 Apr 2016 16:34:54 +0000 (09:34 -0700)]
Merge pull request #4587 from BruceForstall/FixCkFinite
Fix ckfinite for doubles for RyuJIT/x86
Jose Perez Rodriguez [Wed, 27 Apr 2016 15:59:04 +0000 (08:59 -0700)]
Fix issue 4367 where file description of native tools is wrong (#4598)
Fix issue 4367 where file description of native tools is wrong
Andy Ayers [Wed, 27 Apr 2016 15:55:39 +0000 (08:55 -0700)]
Merge pull request #4613 from AndyAyersMS/InlineTreeXML
Update inline xml so it's deserializable
Joseph Tremoulet [Mon, 4 Apr 2016 21:25:20 +0000 (17:25 -0400)]
Separate TryDsc and ExnFlowDsc
Supplement the helpers for finding a block's `TryDsc` (the `EHblkDsc` of
the innermost `try` region containing it) and a block's `HndDsc` (the
`EHblkDsc` of the innermost handler it is part of) with helpers for
finding a block's `ExnFlowDsc` (the `EHblkDsc` of the innermost handler to
which control may be transferred if an exception occurs in the given
block).
The `ExnFlowDsc` is the same as the `TryDsc` in most cases, but differs
for blocks in filter expressions -- when an exception escapes a filter,
that new exception is discarded and the search for a handler for the prior
exception is resumed at the next-outer handler, which corresponds to the
next-outer try enclosing the try that the filter protects. This is not
the try enclosing the filter itself for "mutual-protect" clauses such as
are generated for
try {
...
} catch when (E) { // <-- E is not in the 'try' but an exception
... // in it causes flow to go to the 'finally'
} finally {
...
}
This change adds helpers around the `ExnFlowDsc` and updates code that
was using the `TryDsc`/`TryIndex` where appropriate.
This fixes #4044.
Bruce Forstall [Tue, 26 Apr 2016 05:27:40 +0000 (22:27 -0700)]
Fix two "unreached" asserts
The asserts as written would never fire. Replace them with asserts that will.
Bruce Forstall [Tue, 26 Apr 2016 05:31:02 +0000 (22:31 -0700)]
Fix ckfinite for doubles for RyuJIT/x86
On x86, we can't simply load a double from an xmm reg into a
64-bit integer register. It turns out we only need the high
32 bits for the instruction. But there is no SSE2 instruction
to copy just those bits to the integer registers. So, first,
to a shuffle to swap the first 32 and 2nd 32 bits in the xmm
register. Then, do the xmm2i mov and ckfinite check. Then,
swap the bits back into the original locations so we can return
the correct value in the target register.
Fixes #3549.
Andy Ayers [Wed, 27 Apr 2016 01:42:53 +0000 (18:42 -0700)]
Update inline xml so it's deserializable
Add some elements for sequences of children. Make everything
an element for now. Add header and footer.
Aditya Mandaleeka [Mon, 4 Apr 2016 23:11:02 +0000 (16:11 -0700)]
Add SIGTERM handling logic that properly shuts down the EE.
Gaurav Khanna [Wed, 27 Apr 2016 00:57:23 +0000 (17:57 -0700)]
Fix build break introduced by https://github.com/dotnet/coreclr/commit/
140396f479d5d33bca0daef1f072eef4992ed78e
[tfs-changeset: 1599439]
Mike McLaughlin [Tue, 26 Apr 2016 23:56:44 +0000 (16:56 -0700)]
Merge pull request #4502 from seanshpark/arm_sos_with_lldb38
ARM, SOS: Fix libsos.so load fail and changes for SOS to work with ARM-Linux
SaeHie Park [Fri, 22 Apr 2016 06:36:28 +0000 (15:36 +0900)]
ARM, SOS: Fix fail to load libsos.so while debugging with lldb
Related issue: #4428
With minor fix for ARM compile in SOS
ARM: Fix ARM-Linux in SOS with lldb
Fix ARM architecture type in SOS so that it works for ARM-Linux.
Before this patch, lldb stops with architecture not supported.
SOS ARM-Linux works with LLDB-3.8 and higher.
Actual SOS commands for ARM may need testing and fixing.
Lubomir Litchev [Tue, 26 Apr 2016 16:48:39 +0000 (09:48 -0700)]
Enable use of disassembler for the x86 platform.
Initialization of the disassembler for x86 is not ifdef-ed properly.
SaeHie Park [Tue, 26 Apr 2016 23:07:18 +0000 (08:07 +0900)]
ARM: Add Ubuntu Codename vivid, wily for arm-linux image (#4258)
ARM: Add Ubuntu Codename vivid, wily for arm-linux image
Pat Gavlin [Tue, 26 Apr 2016 22:32:08 +0000 (15:32 -0700)]
Fix a build break when FEATURE_CORECLR is disabled.
[tfs-changeset: 1599408]
Sean Gillespie [Tue, 26 Apr 2016 22:11:20 +0000 (15:11 -0700)]
Merge pull request #4576 from swgillespie/longgc-ci
Enable long GC tests to run on a regular basis
Matt Mitchell [Tue, 26 Apr 2016 21:28:14 +0000 (14:28 -0700)]
Merge pull request #4599 from Priya91/ubuntu1604
Add Ubuntu16.04 runs.
William Godbe [Tue, 26 Apr 2016 21:06:37 +0000 (14:06 -0700)]
Merge pull request #4597 from wtgodbe/fxTestFix
Fix run-test.sh invocation in netci.groovy
Lakshmi Priya Sekar [Tue, 26 Apr 2016 20:14:20 +0000 (13:14 -0700)]
Add Ubuntu16.04 runs.
Maoni0 [Tue, 26 Apr 2016 04:59:40 +0000 (21:59 -0700)]
bug fix in os wrapper
wtgodbe [Tue, 26 Apr 2016 19:46:02 +0000 (12:46 -0700)]
Fix run-test.sh invocation in netci.groovy
Aditya Mandaleeka [Tue, 26 Apr 2016 19:45:46 +0000 (12:45 -0700)]
Merge pull request #4580 from seanshpark/doc_coreoverlay
Add coreOverlay option to unix-test-instructions document
Rama krishnan Raghupathy [Tue, 26 Apr 2016 18:32:14 +0000 (11:32 -0700)]
Merge pull request #4535 from ramarag/xplateventsrc
Fixing up FEATURE_EVENTSOURCE_XPLAT
Kyungwoo Lee [Tue, 26 Apr 2016 18:26:28 +0000 (11:26 -0700)]
Merge pull request #4566 from kyulee1/nativecallable
ARM64: Fix NativeCallable
Gaurav Khanna [Tue, 26 Apr 2016 18:22:49 +0000 (11:22 -0700)]
Merge pull request #4528 from gkhanna79/DynamicJITLoad
Refactor FEATURE_MERGE_JIT_AND_ENGINE to allow consuming JIT as a dynamic library
Sean Gillespie [Mon, 25 Apr 2016 18:27:15 +0000 (11:27 -0700)]
Enable long GC tests to run daily
Rahul Kumar [Tue, 26 Apr 2016 17:17:22 +0000 (10:17 -0700)]
Merge pull request #4448 from rahku/arm64toolsetupdate
Update arm64 toolset. Link against ucrt.
This has following changes:
1. Update arm64 toolset to latest.
2. Link against ucrt.
3. Fix tls offsets which have changed due to updated toolset
4. Fix source code in decimal.cpp to avoid integer overflow. Result of signed integer overlfow is undefined in C++.
5. Enable build of sos which can be loaded in arm64 windbg
6. Add nop to empty assembly marker methods as new toolset generates invalid .pdata for them.
I have verified that arm64 runs are clean
Rahul Kumar [Tue, 19 Apr 2016 21:22:23 +0000 (14:22 -0700)]
This has following changes:
1. Update arm64 toolset to latest.
2. Link against ucrt.
3. Fix tls offsets which have changed due to updated toolset
4. Fix source code in decimal.cpp to avoid integer overflow. Result of signed integer overlfow is undefined in C++.
5. Enable build of sos which can be loaded in arm64 windbg
6. Add nop to empty assembly marker methods as new toolset generates invalid .pdata for them.
Gaurav Khanna [Fri, 22 Apr 2016 19:24:51 +0000 (12:24 -0700)]
Keep FEATURE_MERGE_JIT_AND_ENGINE with refactored approach
Jan Kotas [Tue, 26 Apr 2016 13:38:58 +0000 (06:38 -0700)]
Merge pull request #4588 from dotnet-bot/from-tfs
Merge changes from TFS
Jan Kotas [Tue, 26 Apr 2016 06:55:13 +0000 (23:55 -0700)]
Fix razzle build break
[tfs-changeset: 1599244]
SaeHie Park [Mon, 25 Apr 2016 23:37:45 +0000 (08:37 +0900)]
Add coreOverlay option to unix-test-instructions document
Stephen Toub [Tue, 26 Apr 2016 01:09:05 +0000 (21:09 -0400)]
Avoid defensive copy in String.Concat(string[]) (#4559)
* Avoid defensive copy in String.Concat(string[])
Today the String.Concat(params string[]) implementation makes a defensive copy of the input string[] in order to avoid issues where another thread mutates the array concurrently with the concatenation. Such a situation is possible but exceedingly rare, so we can redo the implementation to make it cheaper when there isn't concurrent mutation and more expensive when there is, rather than always having it be more expensive.
This commit changes string.Concat to optimistically assume there won't be such concurrent mutation. It avoids allocating the defensive string[] array copy, and instead just proceeds to allocate a string of the right length and copy the input strings into it. If along the way it discovers that something has changed such that the string lengths no longer add up to exactly what was precomputed, then it falls back to the original implementation.
Example microbenchmark:
```C#
using System;
using System.Diagnostics;
public class Program
{
public static void Main()
{
string result;
string[] inputs = new[] { "abcd", "efgh", "ijkl", "mnop", "qrst", "uvwx", "yz" };
var sw = new Stopwatch();
while (true)
{
int gen0 = GC.CollectionCount(0);
sw.Restart();
for (int i = 0; i <
20000000; i++) result = string.Concat(inputs);
sw.Stop();
Console.WriteLine($"{GC.CollectionCount(0) - gen0}: {sw.Elapsed.TotalSeconds}");
}
}
}
```
Before the change:
```
> corerun test.exe
1525: 2.0733829
1526: 2.0599474
1526: 2.0717786
1526: 2.0318797
^C
```
After the change:
```
> corerun test.exe
763: 1.4700695
762: 1.446919
763: 1.4581139
763: 1.4568889
^C
```
Matt Mitchell [Mon, 25 Apr 2016 23:32:26 +0000 (16:32 -0700)]
Merge pull request #4574 from wtgodbe/affinity
Set machine affinity for flow jobs in CI
Kyungwoo Lee [Mon, 25 Apr 2016 18:11:14 +0000 (11:11 -0700)]
ARM64: Fix NativeCallable
Fixes https://github.com/dotnet/coreclr/issues/4422
The issue is that JIT didn't pass UMEntryThunk for the managed function
entry point which is invoked from the native function.
The fix is to enable NativeCallable attribute check to get the right entry point.
Kyungwoo Lee [Mon, 25 Apr 2016 22:23:46 +0000 (15:23 -0700)]
Merge pull request #4577 from kyulee1/qfix
ARM64: Quick Fix
Kyungwoo Lee [Mon, 25 Apr 2016 22:21:09 +0000 (15:21 -0700)]
ARM64: Quick Fix
I accidently made a wrong copy and paste.
wtgodbe [Mon, 25 Apr 2016 22:12:09 +0000 (15:12 -0700)]
Set machine affinity for flow jobs in CI
Jan Kotas [Mon, 25 Apr 2016 21:11:56 +0000 (14:11 -0700)]
Merge pull request #4561 from dotnet-bot/from-tfs
Merge changes from TFS
Kyungwoo Lee [Mon, 25 Apr 2016 21:00:20 +0000 (14:00 -0700)]
Merge pull request #4560 from kyulee1/fixvarargpinvoke
ARM64: Fix Vararg for PInvoke
Kyungwoo Lee [Fri, 22 Apr 2016 18:27:07 +0000 (11:27 -0700)]
ARM64: Fix Vararg for PInvoke
Fixes https://github.com/dotnet/coreclr/issues/4474
1. Fix entry point to `VarargPInvokeStub_RetBuffArg` instead of
`VarargPInvokeStub` to pass `VASigCookieReg` via `x1` when hasRetBuffArg is
true.
2. The previous fix for varargs SP offset is not correct when both varargs
and callee save regs exist. Fix the SP offset computation from caller's SP.
3. Fix epilog which didn't take varargs into account.
JohnChen0 [Mon, 25 Apr 2016 20:56:54 +0000 (13:56 -0700)]
Enable crossgen /createpdb command on Windows
DDCloud [Mon, 28 Mar 2016 23:55:01 +0000 (16:55 -0700)]
Fixing up FEATURE_EVENTSOURCE_XPLAT
Rahul Kumar [Mon, 25 Apr 2016 18:51:56 +0000 (11:51 -0700)]
Merge pull request #4553 from janvorli/fix-pslog-path
Fix PS version log path
William Godbe [Mon, 25 Apr 2016 18:42:58 +0000 (11:42 -0700)]
Merge pull request #4564 from wtgodbe/coverageFix
fix calls to runtest.sh in code coverage build
Kyungwoo Lee [Mon, 25 Apr 2016 18:08:50 +0000 (11:08 -0700)]
Merge pull request #4542 from kyulee1/nobld
No BuildOnly job for ARM64
Sean Gillespie [Mon, 25 Apr 2016 18:03:39 +0000 (11:03 -0700)]
Merge pull request #4565 from swgillespie/playlists-2
Fix error in invocation of runtests.sh for long GC tests
wtgodbe [Mon, 25 Apr 2016 17:08:04 +0000 (10:08 -0700)]
fix calls to runtest.sh in code coverage build
Sean Gillespie [Mon, 25 Apr 2016 17:11:09 +0000 (10:11 -0700)]
Fix error in invocation of runtests.sh for long GC tests
Matt Mitchell [Mon, 25 Apr 2016 16:58:48 +0000 (09:58 -0700)]
Merge pull request #4141 from prajwal-aithal/devel/native-arm-ci
Add CI support for Linux ARM emulator
Jan Kotas [Mon, 25 Apr 2016 14:29:52 +0000 (07:29 -0700)]
Add back internal FromCancellation methods
System.Runtime.WindowsRuntime implementation depends on them
[tfs-changeset: 1598965]
Jan Vorlicek [Mon, 25 Apr 2016 14:27:02 +0000 (07:27 -0700)]
Merge pull request #4460 from parjong/fix/issue_4404
Uses initialized unw_context_t instead of uninitialized one
Jan Vorlicek [Mon, 25 Apr 2016 04:16:51 +0000 (21:16 -0700)]
Merge pull request #4456 from seanshpark/no-inline-asm
ARM: Fix compile error for unw usage with clang-3.8
Jan Vorlicek [Mon, 25 Apr 2016 03:46:25 +0000 (20:46 -0700)]
Fix PS version log path
The PS version log path is incorrectly set to the root of the current drive when
building for ARM64 with toolset_dir set. In that case, the `%~dp0` doesn't hold
the current drive and directory anymore.
I have fixed it by using `__LogsDir` instead. It it a good practice to put generated
files somewhere under the bin folder and the logs directory seems appropriate.
SaeHie Park [Thu, 21 Apr 2016 02:27:52 +0000 (11:27 +0900)]
ARM: Fix compile error for unw usage with clang-3.8
This fix is also needed when using clang-3.8
Previous related patch is #4260
Jonghyun Park [Sun, 24 Apr 2016 23:12:43 +0000 (08:12 +0900)]
Renames UpdateUnwindContextWithWinContext
Ranames UpdateUnwindContextWithWinContext as WinContextToUnwindContext,
and revises to invoke WinContextToUnwindContext always.
Andy Ayers [Sun, 24 Apr 2016 19:20:27 +0000 (12:20 -0700)]
Merge pull request #4524 from AndyAyersMS/InlineTreeXML
Inliner: enable xml format dump for inlines
Bruce Forstall [Sun, 24 Apr 2016 17:07:54 +0000 (10:07 -0700)]
Merge pull request #4491 from BruceForstall/Fix3561
Fix #3561: assert on RyuJIT x86 when generating shl by 1
Jan Vorlicek [Sun, 24 Apr 2016 05:10:58 +0000 (22:10 -0700)]
Merge pull request #4544 from janvorli/move-test-wrappers-to-bin
Move generated xunit test wrappers to bin folder
James Ko [Sun, 24 Apr 2016 01:44:33 +0000 (21:44 -0400)]
Replace uses of FromCancellation -> FromCanceled in mscorlib (#4537)
Replace uses of FromCancellation -> FromCanceled in mscorlib
Jan Vorlicek [Sun, 24 Apr 2016 01:10:50 +0000 (18:10 -0700)]
Move generated xunit test wrappers to bin folder
This change modifies the build so that the generated xunit test
wrappers are no longer placed into the source tree, but rather to
the bin folder where all files generated by the build should go.
Rama krishnan Raghupathy [Sun, 24 Apr 2016 00:50:50 +0000 (17:50 -0700)]
Merge pull request #4533 from ramarag/GC_Stress
Fixing GC stress test layout and Creating a Sanity Run for it
Kyungwoo Lee [Sun, 24 Apr 2016 00:06:00 +0000 (17:06 -0700)]
No BuildOnly job for ARM64
bld jobs are not interesting. So delete them from the history.
Jan Vorlicek [Sat, 23 Apr 2016 23:18:53 +0000 (16:18 -0700)]
Merge pull request #4541 from janvorli/fix-pe-sections-protection-3
Fix loading of NI images on SELinux
Jan Vorlicek [Sat, 23 Apr 2016 19:15:29 +0000 (12:15 -0700)]
Fix loading of NI images on SELinux
This change fixes a problem that prevents us to load crossgen-ed managed
assemblies on SELinux when running in confined mode.
The problem was that when we load these images, we also apply relocations
to their sections and so we temporarily switch section protection from
RX to RW and then back. And the switching back (RW -> RX) is something
that SELinux doesn't allow.
The fix is to switch to RWX before applying to relocations for sections
that are RX, since it is allowed then to switch them back to RX.
One more change was needed to get the original protection of the section
before relocation so that we can set it back later. The PE files are
not mapped using VirtualXXXX functions in the PAL and so VirtualProtect
doesn't return the proper original protection, but a fixed value instead.
So for PAL, we derive the original protection from the section attributes.