Fix invalid checks for CONTEXT_XSTATE (dotnet/coreclr#6621)
authorJan Vorlicek <janvorli@microsoft.com>
Fri, 5 Aug 2016 10:48:03 +0000 (12:48 +0200)
committerGitHub <noreply@github.com>
Fri, 5 Aug 2016 10:48:03 +0000 (12:48 +0200)
commit9f5ba2ac9d59839a0f2a3b72c44ead28fe3309a1
tree2c0f74beab6138832de3b3e61b617230529a4a03
parentec3741a2ca9ab9f353246ddd3c9839266ea50b09
Fix invalid checks for CONTEXT_XSTATE (dotnet/coreclr#6621)

Checks for context flags containing CONTEXT_XSTATE were incorrect at two places.
The issue was that CONTEXT_XSTATE is not a single bit flag, but contains two
bits set - it is CONTEXT_AMD64 | 0x40. So testing the flag using
(contextFlags & CONTEXT_XSTATE) != 0 was always true, since context flags
on AMD64 always contain CONTEXT_AMD64 and so the `&` result is always non-zero.

Commit migrated from https://github.com/dotnet/coreclr/commit/a95820d7a3b968d25cdfd71266924b39727777e6
src/coreclr/src/pal/src/thread/context.cpp