From eb36e9574c3ae5a78e4631bb7e494cd06246e164 Mon Sep 17 00:00:00 2001 From: Omair Majid Date: Jun 15 2020 19:08:11 +0000 Subject: Update to .NET Core SDK 2.1.515 and Runtime 2.1.19 --- diff --git a/build-dotnet-tarball b/build-dotnet-tarball index 76b47f6..1e22fd6 100755 --- a/build-dotnet-tarball +++ b/build-dotnet-tarball @@ -3,10 +3,12 @@ # Usage: # build-dotnet-tarball # -# Creates a source archive from a tag at github.com/dotnet/source-build +# Creates a source archive from a tag (or commit) at github.com/dotnet/source-build -# Source-build is a little strange, we need to clone it, check out the tag, -# build it and then create a tarball from the archive directory it creates. +# Source-build is a little strange, we need to clone it, check out the +# tag, build it and then create a tarball from the archive directory +# it creates. Also, it is likely that the source archive is only +# buildable on the OS it was initially created in. set -euo pipefail IFS=$'\n\t' @@ -20,7 +22,7 @@ print_usage() { clean_dotnet_cache() { rm -rf ~/.aspnet ~/.dotnet/ ~/.nuget/ ~/.local/share/NuGet ~/.templateengine - rm -rf /tmp/NuGet /tmp/NuGetScratch /tmp/.NETCore* /tmp/.NETStandard* /tmp/.dotnet /tmp/clr-debug-pipe* /tmp/Razor-Server /tmp/CoreFxPipe* /tmp/VBCSCompiler /tmp/.NETFramework* + rm -rf /tmp/NuGet /tmp/NuGetScratch /tmp/.NETCore* /tmp/.NETStandard* /tmp/.dotnet /tmp/dotnet.* /tmp/clr-debug-pipe* /tmp/Razor-Server /tmp/CoreFxPipe* /tmp/VBCSCompiler /tmp/.NETFramework* } positional_args=() @@ -47,18 +49,34 @@ fi set -x -temp_dir=$(mktemp -d -p "$HOME/temp") dir_name="dotnet-${tag}" -pushd "${temp_dir}" -git clone https://github.com/dotnet/source-build -pushd source-build -git checkout "${tag}" -git submodule update --init --recursive -clean_dotnet_cache -./build-source-tarball.sh "${dir_name}" -popd -popd - -tar czf "${dir_name}.tar.gz" -C "${temp_dir}/source-build" "${dir_name}" - -rm -rf "${temp_dir}" +unmodified_tarball_name="${dir_name}-original" +tarball_name="${dir_name}" + +if [ -f "${tarball_name}.tar.gz" ]; then + echo "error: ${tarball_name}.tar.gz already exists" + exit 1 +fi + +if [ ! -f "${unmodified_tarball_name}.tar.gz" ]; then + temp_dir=$(mktemp -d -p "$(pwd)") + pushd "${temp_dir}" + git clone https://github.com/dotnet/source-build + pushd source-build + git checkout "${tag}" + git submodule update --init --recursive + clean_dotnet_cache + ./build-source-tarball.sh "${unmodified_tarball_name}" + popd + popd + + tar czf "${unmodified_tarball_name}.tar.gz" -C "${temp_dir}/source-build" "${unmodified_tarball_name}" + + rm -rf "${temp_dir}" +fi + +rm -rf "${tarball_name}" +tar xf "${unmodified_tarball_name}.tar.gz" +mv "${unmodified_tarball_name}" "${tarball_name}" + +tar czf "${tarball_name}.tar.gz" "${tarball_name}" diff --git a/coreclr-28045-clang10.patch b/coreclr-28045-clang10.patch new file mode 100644 index 0000000..2726bc4 --- /dev/null +++ b/coreclr-28045-clang10.patch @@ -0,0 +1,455 @@ +From e73f34074a381891ee92711e496134dce758a969 Mon Sep 17 00:00:00 2001 +From: Omair Majid +Date: Tue, 2 Jun 2020 12:16:31 -0400 +Subject: [PATCH] Fix build with clang 10 + +This contains a grab bag of fixes to fix the build with clang 10. + +- https://github.com/dotnet/coreclr/pull/23075 + + Fix missing includes in coreclr/src/debug/createdump/ + +- https://github.com/dotnet/runtime/pull/33096 + + SList::Init: add missing constructor + +- A subset of https://github.com/dotnet/coreclr/pull/22129 + + Just the parts that introduce the THROW_DECL macro in pal.h + +- https://github.com/dotnet/runtime/pull/32837 + + This fixes THROW_DECL introduce in the previous PR to work with clang, which + is required in clang 10. + +- One new change: + + In a significant divergance, this commits adds more THROW_DECL macros + to all the math functions to address a ton of errors pointed out when + building SOS: + + In file included from /home/omajid/devel/dotnet/coreclr/src/ToolBox/SOS/Strike/strike.cpp:116: + In file included from /home/omajid/devel/dotnet/coreclr/src/vm/hillclimbing.h:19: + In file included from /home/omajid/devel/dotnet/coreclr/src/inc/complex.h:16: + In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/math.h:36: + In file included from /usr/bin/../lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/cmath:45: + In file included from /usr/include/math.h:290: + /usr/include/bits/mathcalls.h:53:13: error: exception specification in declaration does not match previous declaration + __MATHCALL (acos,, (_Mdouble_ __x)); + ^ + /home/omajid/devel/dotnet/coreclr/src/pal/inc/pal.h:4395:26: note: previous declaration is here + PALIMPORT double __cdecl acos(double); + ^ + + Then, to make sure the declarations and implementations match, it adds + THROW_DECL to the definitions in src/pal/src/cruntime/math.cpp + +Co-authored-by: Mike McLaughlin +Co-authored-by: Sinan Kaya +Co-authored-by: Tom Deseyn +--- + src/debug/createdump/createdump.h | 2 + + src/inc/slist.h | 6 +- + src/pal/inc/mbusafecrt.h | 8 ++- + src/pal/inc/pal.h | 107 ++++++++++++++++-------------- + src/pal/src/cruntime/math.cpp | 36 +++++----- + src/pal/src/safecrt/memcpy_s.cpp | 2 +- + 6 files changed, 87 insertions(+), 74 deletions(-) + +diff --git a/src/debug/createdump/createdump.h b/src/debug/createdump/createdump.h +index 4892e5464b1f..3f71b627e642 100644 +--- a/src/debug/createdump/createdump.h ++++ b/src/debug/createdump/createdump.h +@@ -54,6 +54,8 @@ typedef int T_CONTEXT; + #include + #include + #include ++#include ++#include + #include "datatarget.h" + #include "threadinfo.h" + #include "memoryregion.h" +diff --git a/src/inc/slist.h b/src/inc/slist.h +index 2b81f9ba902b..8ea6f9098e2e 100644 +--- a/src/inc/slist.h ++++ b/src/inc/slist.h +@@ -160,13 +160,13 @@ class SList + void Init() + { + LIMITED_METHOD_CONTRACT; +- m_pHead = &m_link; ++ m_pHead = PTR_SLink(&m_link); + // NOTE :: fHead variable is template argument + // the following code is a compiled in, only if the fHead flag + // is set to false, + if (!fHead) + { +- m_pTail = &m_link; ++ m_pTail = PTR_SLink(&m_link); + } + } + +@@ -274,7 +274,7 @@ class SList + SLink *ret = SLink::FindAndRemove(m_pHead, GetLink(pObj), &prior); + + if (ret == m_pTail) +- m_pTail = prior; ++ m_pTail = PTR_SLink(prior); + + return GetObject(ret); + } +diff --git a/src/pal/inc/mbusafecrt.h b/src/pal/inc/mbusafecrt.h +index f030b7ded20c..7021439af2d1 100644 +--- a/src/pal/inc/mbusafecrt.h ++++ b/src/pal/inc/mbusafecrt.h +@@ -31,6 +31,12 @@ typedef int errno_t; + // define the return value for success + #define SAFECRT_SUCCESS 0 + ++#if defined(_MSC_VER) ++#define THROW_DECL ++#else ++#define THROW_DECL throw() ++#endif ++ + #ifdef __cplusplus + extern "C" { + #endif +@@ -98,7 +104,7 @@ extern int swscanf_s( const WCHAR *string, const WCHAR *format, ... ); + extern int _snscanf_s( const char *string, size_t count, const char *format, ... ); + extern int _snwscanf_s( const WCHAR *string, size_t count, const WCHAR *format, ... ); + +-extern errno_t memcpy_s( void * dst, size_t sizeInBytes, const void * src, size_t count ); ++extern errno_t memcpy_s( void * dst, size_t sizeInBytes, const void * src, size_t count ) THROW_DECL; + extern errno_t memmove_s( void * dst, size_t sizeInBytes, const void * src, size_t count ); + + #ifdef __cplusplus +diff --git a/src/pal/inc/pal.h b/src/pal/inc/pal.h +index 5106c0142118..de20524faf12 100644 +--- a/src/pal/inc/pal.h ++++ b/src/pal/inc/pal.h +@@ -137,6 +137,11 @@ extern "C" { + #define LANG_THAI 0x1e + + /******************* Compiler-specific glue *******************************/ ++#if defined(_MSC_VER) || !defined(__cplusplus) ++#define THROW_DECL ++#else ++#define THROW_DECL throw() ++#endif + + #ifndef _MSC_VER + #if defined(CORECLR) +@@ -4207,7 +4212,7 @@ EXTERN_C + PALIMPORT + void *PAL_memcpy (void *dest, const void *src, size_t count); + +-PALIMPORT void * __cdecl memcpy(void *, const void *, size_t); ++PALIMPORT void * __cdecl memcpy(void *, const void *, size_t) THROW_DECL; + + #define memcpy PAL_memcpy + #define IS_PAL_memcpy 1 +@@ -4220,7 +4225,7 @@ PALIMPORT int __cdecl memcmp(const void *, const void *, size_t); + PALIMPORT void * __cdecl memset(void *, int, size_t); + PALIMPORT void * __cdecl memmove(void *, const void *, size_t); + PALIMPORT void * __cdecl memchr(const void *, int, size_t); +-PALIMPORT long long int __cdecl atoll(const char *); ++PALIMPORT long long int __cdecl atoll(const char *) THROW_DECL; + PALIMPORT size_t __cdecl strlen(const char *); + PALIMPORT int __cdecl strcmp(const char*, const char *); + PALIMPORT int __cdecl strncmp(const char*, const char *, size_t); +@@ -4259,7 +4264,7 @@ PALIMPORT int __cdecl toupper(int); + #define _TRUNCATE ((size_t)-1) + #endif + +-PALIMPORT errno_t __cdecl memcpy_s(void *, size_t, const void *, size_t); ++PALIMPORT errno_t __cdecl memcpy_s(void *, size_t, const void *, size_t) THROW_DECL; + PALIMPORT errno_t __cdecl memmove_s(void *, size_t, const void *, size_t); + PALIMPORT char * __cdecl _strlwr(char *); + PALIMPORT int __cdecl _stricmp(const char *, const char *); +@@ -4387,58 +4392,58 @@ PALIMPORT long long __cdecl llabs(long long); + PALIMPORT int __cdecl _finite(double); + PALIMPORT int __cdecl _isnan(double); + PALIMPORT double __cdecl _copysign(double, double); +-PALIMPORT double __cdecl acos(double); +-PALIMPORT double __cdecl acosh(double); +-PALIMPORT double __cdecl asin(double); +-PALIMPORT double __cdecl asinh(double); +-PALIMPORT double __cdecl atan(double); +-PALIMPORT double __cdecl atanh(double); +-PALIMPORT double __cdecl atan2(double, double); +-PALIMPORT double __cdecl cbrt(double); +-PALIMPORT double __cdecl ceil(double); +-PALIMPORT double __cdecl cos(double); +-PALIMPORT double __cdecl cosh(double); +-PALIMPORT double __cdecl exp(double); +-PALIMPORT double __cdecl fabs(double); +-PALIMPORT double __cdecl floor(double); +-PALIMPORT double __cdecl fmod(double, double); +-PALIMPORT double __cdecl log(double); +-PALIMPORT double __cdecl log10(double); +-PALIMPORT double __cdecl modf(double, double*); +-PALIMPORT double __cdecl pow(double, double); +-PALIMPORT double __cdecl sin(double); +-PALIMPORT double __cdecl sinh(double); +-PALIMPORT double __cdecl sqrt(double); +-PALIMPORT double __cdecl tan(double); +-PALIMPORT double __cdecl tanh(double); ++PALIMPORT double __cdecl acos(double) THROW_DECL; ++PALIMPORT double __cdecl acosh(double) THROW_DECL; ++PALIMPORT double __cdecl asin(double) THROW_DECL; ++PALIMPORT double __cdecl asinh(double) THROW_DECL; ++PALIMPORT double __cdecl atan(double) THROW_DECL; ++PALIMPORT double __cdecl atanh(double) THROW_DECL; ++PALIMPORT double __cdecl atan2(double, double) THROW_DECL; ++PALIMPORT double __cdecl cbrt(double) THROW_DECL; ++PALIMPORT double __cdecl ceil(double) THROW_DECL; ++PALIMPORT double __cdecl cos(double) THROW_DECL; ++PALIMPORT double __cdecl cosh(double) THROW_DECL; ++PALIMPORT double __cdecl exp(double) THROW_DECL; ++PALIMPORT double __cdecl fabs(double) THROW_DECL; ++PALIMPORT double __cdecl floor(double) THROW_DECL; ++PALIMPORT double __cdecl fmod(double, double) THROW_DECL; ++PALIMPORT double __cdecl log(double) THROW_DECL; ++PALIMPORT double __cdecl log10(double) THROW_DECL; ++PALIMPORT double __cdecl modf(double, double*) THROW_DECL; ++PALIMPORT double __cdecl pow(double, double) THROW_DECL; ++PALIMPORT double __cdecl sin(double) THROW_DECL; ++PALIMPORT double __cdecl sinh(double) THROW_DECL; ++PALIMPORT double __cdecl sqrt(double) THROW_DECL; ++PALIMPORT double __cdecl tan(double) THROW_DECL; ++PALIMPORT double __cdecl tanh(double) THROW_DECL; + + PALIMPORT int __cdecl _finitef(float); + PALIMPORT int __cdecl _isnanf(float); + PALIMPORT float __cdecl _copysignf(float, float); +-PALIMPORT float __cdecl acosf(float); +-PALIMPORT float __cdecl acoshf(float); +-PALIMPORT float __cdecl asinf(float); +-PALIMPORT float __cdecl asinhf(float); +-PALIMPORT float __cdecl atanf(float); +-PALIMPORT float __cdecl atanhf(float); +-PALIMPORT float __cdecl atan2f(float, float); +-PALIMPORT float __cdecl cbrtf(float); +-PALIMPORT float __cdecl ceilf(float); +-PALIMPORT float __cdecl cosf(float); +-PALIMPORT float __cdecl coshf(float); +-PALIMPORT float __cdecl expf(float); +-PALIMPORT float __cdecl fabsf(float); +-PALIMPORT float __cdecl floorf(float); +-PALIMPORT float __cdecl fmodf(float, float); +-PALIMPORT float __cdecl logf(float); +-PALIMPORT float __cdecl log10f(float); +-PALIMPORT float __cdecl modff(float, float*); +-PALIMPORT float __cdecl powf(float, float); +-PALIMPORT float __cdecl sinf(float); +-PALIMPORT float __cdecl sinhf(float); +-PALIMPORT float __cdecl sqrtf(float); +-PALIMPORT float __cdecl tanf(float); +-PALIMPORT float __cdecl tanhf(float); ++PALIMPORT float __cdecl acosf(float) THROW_DECL; ++PALIMPORT float __cdecl acoshf(float) THROW_DECL; ++PALIMPORT float __cdecl asinf(float) THROW_DECL; ++PALIMPORT float __cdecl asinhf(float) THROW_DECL; ++PALIMPORT float __cdecl atanf(float) THROW_DECL; ++PALIMPORT float __cdecl atanhf(float) THROW_DECL; ++PALIMPORT float __cdecl atan2f(float, float) THROW_DECL; ++PALIMPORT float __cdecl cbrtf(float) THROW_DECL; ++PALIMPORT float __cdecl ceilf(float) THROW_DECL; ++PALIMPORT float __cdecl cosf(float) THROW_DECL; ++PALIMPORT float __cdecl coshf(float) THROW_DECL; ++PALIMPORT float __cdecl expf(float) THROW_DECL; ++PALIMPORT float __cdecl fabsf(float) THROW_DECL; ++PALIMPORT float __cdecl floorf(float) THROW_DECL; ++PALIMPORT float __cdecl fmodf(float, float) THROW_DECL; ++PALIMPORT float __cdecl logf(float) THROW_DECL; ++PALIMPORT float __cdecl log10f(float) THROW_DECL; ++PALIMPORT float __cdecl modff(float, float*) THROW_DECL; ++PALIMPORT float __cdecl powf(float, float) THROW_DECL; ++PALIMPORT float __cdecl sinf(float) THROW_DECL; ++PALIMPORT float __cdecl sinhf(float) THROW_DECL; ++PALIMPORT float __cdecl sqrtf(float) THROW_DECL; ++PALIMPORT float __cdecl tanf(float) THROW_DECL; ++PALIMPORT float __cdecl tanhf(float) THROW_DECL; + + #ifndef PAL_STDCPP_COMPAT + +diff --git a/src/pal/src/cruntime/math.cpp b/src/pal/src/cruntime/math.cpp +index a36ac9aa9333..81345ea14bbb 100644 +--- a/src/pal/src/cruntime/math.cpp ++++ b/src/pal/src/cruntime/math.cpp +@@ -117,7 +117,7 @@ double __cdecl _copysign(double x, double y) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_acos(double x) ++PALIMPORT double __cdecl PAL_acos(double x) THROW_DECL + { + double ret; + PERF_ENTRY(acos); +@@ -147,7 +147,7 @@ PALIMPORT double __cdecl PAL_acos(double x) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_acosh(double x) ++PALIMPORT double __cdecl PAL_acosh(double x) THROW_DECL + { + double ret; + PERF_ENTRY(acosh); +@@ -166,7 +166,7 @@ PALIMPORT double __cdecl PAL_acosh(double x) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_asin(double x) ++PALIMPORT double __cdecl PAL_asin(double x) THROW_DECL + { + double ret; + PERF_ENTRY(asin); +@@ -196,7 +196,7 @@ PALIMPORT double __cdecl PAL_asin(double x) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_asinh(double x) ++PALIMPORT double __cdecl PAL_asinh(double x) THROW_DECL + { + double ret; + PERF_ENTRY(asinh); +@@ -215,7 +215,7 @@ PALIMPORT double __cdecl PAL_asinh(double x) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_atan2(double y, double x) ++PALIMPORT double __cdecl PAL_atan2(double y, double x) THROW_DECL + { + double ret; + PERF_ENTRY(atan2); +@@ -255,7 +255,7 @@ PALIMPORT double __cdecl PAL_atan2(double y, double x) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_exp(double x) ++PALIMPORT double __cdecl PAL_exp(double x) THROW_DECL + { + double ret; + PERF_ENTRY(exp); +@@ -306,7 +306,7 @@ PALIMPORT LONG __cdecl PAL_labs(LONG l) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_log(double x) ++PALIMPORT double __cdecl PAL_log(double x) THROW_DECL + { + double ret; + PERF_ENTRY(log); +@@ -336,7 +336,7 @@ PALIMPORT double __cdecl PAL_log(double x) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_log10(double x) ++PALIMPORT double __cdecl PAL_log10(double x) THROW_DECL + { + double ret; + PERF_ENTRY(log10); +@@ -366,7 +366,7 @@ PALIMPORT double __cdecl PAL_log10(double x) + + See MSDN. + --*/ +-PALIMPORT double __cdecl PAL_pow(double x, double y) ++PALIMPORT double __cdecl PAL_pow(double x, double y) THROW_DECL + { + double ret; + PERF_ENTRY(pow); +@@ -527,7 +527,7 @@ float __cdecl _copysignf(float x, float y) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_acosf(float x) ++PALIMPORT float __cdecl PAL_acosf(float x) THROW_DECL + { + float ret; + PERF_ENTRY(acosf); +@@ -557,7 +557,7 @@ PALIMPORT float __cdecl PAL_acosf(float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_acoshf(float x) ++PALIMPORT float __cdecl PAL_acoshf(float x) THROW_DECL + { + float ret; + PERF_ENTRY(acoshf); +@@ -576,7 +576,7 @@ PALIMPORT float __cdecl PAL_acoshf(float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_asinf(float x) ++PALIMPORT float __cdecl PAL_asinf(float x) THROW_DECL + { + float ret; + PERF_ENTRY(asinf); +@@ -606,7 +606,7 @@ PALIMPORT float __cdecl PAL_asinf(float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_asinhf(float x) ++PALIMPORT float __cdecl PAL_asinhf(float x) THROW_DECL + { + float ret; + PERF_ENTRY(asinhf); +@@ -626,7 +626,7 @@ PALIMPORT float __cdecl PAL_asinhf(float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_atan2f(float y, float x) ++PALIMPORT float __cdecl PAL_atan2f(float y, float x) THROW_DECL + { + float ret; + PERF_ENTRY(atan2f); +@@ -666,7 +666,7 @@ PALIMPORT float __cdecl PAL_atan2f(float y, float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_expf(float x) ++PALIMPORT float __cdecl PAL_expf(float x) THROW_DECL + { + float ret; + PERF_ENTRY(expf); +@@ -698,7 +698,7 @@ PALIMPORT float __cdecl PAL_expf(float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_logf(float x) ++PALIMPORT float __cdecl PAL_logf(float x) THROW_DECL + { + float ret; + PERF_ENTRY(logf); +@@ -728,7 +728,7 @@ PALIMPORT float __cdecl PAL_logf(float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_log10f(float x) ++PALIMPORT float __cdecl PAL_log10f(float x) THROW_DECL + { + float ret; + PERF_ENTRY(log10f); +@@ -758,7 +758,7 @@ PALIMPORT float __cdecl PAL_log10f(float x) + + See MSDN. + --*/ +-PALIMPORT float __cdecl PAL_powf(float x, float y) ++PALIMPORT float __cdecl PAL_powf(float x, float y) THROW_DECL + { + float ret; + PERF_ENTRY(powf); +diff --git a/src/pal/src/safecrt/memcpy_s.cpp b/src/pal/src/safecrt/memcpy_s.cpp +index 27aeb7966593..a75ec4186140 100644 +--- a/src/pal/src/safecrt/memcpy_s.cpp ++++ b/src/pal/src/safecrt/memcpy_s.cpp +@@ -54,7 +54,7 @@ errno_t __cdecl memcpy_s( + size_t sizeInBytes, + const void * src, + size_t count +-) ++) THROW_DECL + { + if (count == 0) + { diff --git a/coreclr-assembly-hex-constants.patch b/coreclr-assembly-hex-constants.patch deleted file mode 100644 index 00428fb..0000000 --- a/coreclr-assembly-hex-constants.patch +++ /dev/null @@ -1,584 +0,0 @@ -diff --git a/src/debug/ee/amd64/dbghelpers.S b/src/debug/ee/amd64/dbghelpers.S -index 85ec80c701..864c4dc943 100644 ---- a/src/debug/ee/amd64/dbghelpers.S -+++ b/src/debug/ee/amd64/dbghelpers.S -@@ -29,7 +29,7 @@ NESTED_ENTRY FuncEvalHijack, _TEXT, UnhandledExceptionHandlerUnix - // - // epilogue - // -- add rsp, 20h -+ add rsp, 0x20 - TAILJMP_RAX - NESTED_END FuncEvalHijack, _TEXT - -@@ -65,14 +65,14 @@ NESTED_ENTRY ExceptionHijack, _TEXT, UnhandledExceptionHandlerUnix - // its arguments on the stack. In x64, it gets its arguments in - // registers (set up for us by DacDbiInterfaceImpl::Hijack), - // and this stack space may be reused. -- mov rax, [rsp + 20h] -+ mov rax, [rsp + 0x20] - mov [rsp], rax -- mov rax, [rsp + 28h] -- mov [rsp + 8h], rax -- mov rax, [rsp + 30h] -- mov [rsp + 10h], rax -- mov rax, [rsp + 38h] -- mov [rsp + 18h], rax -+ mov rax, [rsp + 0x28] -+ mov [rsp + 0x8], rax -+ mov rax, [rsp + 0x30] -+ mov [rsp + 0x10], rax -+ mov rax, [rsp + 0x38] -+ mov [rsp + 0x18], rax - - // DD Hijack primitive already set the stack. So just make the call now. - call C_FUNC(ExceptionHijackWorker) -@@ -93,7 +93,7 @@ NESTED_ENTRY ExceptionHijack, _TEXT, UnhandledExceptionHandlerUnix - // - // epilogue - // -- add rsp, 20h -+ add rsp, 0x20 - TAILJMP_RAX - - // Put a label here to tell the debugger where the end of this function is. -diff --git a/src/pal/inc/unixasmmacros.inc b/src/pal/inc/unixasmmacros.inc -index e7a5eba898..8a74e3f266 100644 ---- a/src/pal/inc/unixasmmacros.inc -+++ b/src/pal/inc/unixasmmacros.inc -@@ -2,7 +2,7 @@ - // The .NET Foundation licenses this file to you under the MIT license. - // See the LICENSE file in the project root for more information. - --#define INVALIDGCVALUE 0CCCCCCCDh -+#define INVALIDGCVALUE 0xCCCCCCCD - - #if defined(__APPLE__) - #define C_FUNC(name) _##name -diff --git a/src/vm/amd64/JitHelpers_Fast.asm b/src/vm/amd64/JitHelpers_Fast.asm -index 83f7132688..5251387408 100644 ---- a/src/vm/amd64/JitHelpers_Fast.asm -+++ b/src/vm/amd64/JitHelpers_Fast.asm -@@ -40,7 +40,7 @@ EXTERN g_GCShadow:QWORD - EXTERN g_GCShadowEnd:QWORD - endif - --INVALIDGCVALUE equ 0CCCCCCCDh -+INVALIDGCVALUE equ 0xCCCCCCCD - - ifdef _DEBUG - extern JIT_WriteBarrier_Debug:proc -diff --git a/src/vm/amd64/JitHelpers_Slow.asm b/src/vm/amd64/JitHelpers_Slow.asm -index 0e26ae6dfd..80b7453d4f 100644 ---- a/src/vm/amd64/JitHelpers_Slow.asm -+++ b/src/vm/amd64/JitHelpers_Slow.asm -@@ -48,7 +48,7 @@ g_pStringClass equ ?g_pStringClass@@3PEAVMethodTable@@EA - FramedAllocateString equ ?FramedAllocateString@@YAPEAVStringObject@@K@Z - JIT_NewArr1 equ ?JIT_NewArr1@@YAPEAVObject@@PEAUCORINFO_CLASS_STRUCT_@@_J@Z - --INVALIDGCVALUE equ 0CCCCCCCDh -+INVALIDGCVALUE equ 0xCCCCCCCD - - extern JIT_NEW:proc - extern CopyValueClassUnchecked:proc -diff --git a/src/vm/amd64/jithelpers_fast.S b/src/vm/amd64/jithelpers_fast.S -index 6f955b0bee..5f68fc0ebf 100644 ---- a/src/vm/amd64/jithelpers_fast.S -+++ b/src/vm/amd64/jithelpers_fast.S -@@ -81,14 +81,14 @@ LEAF_ENTRY JIT_WriteBarrier, _TEXT - // Update the write watch table if necessary - mov rax, rdi - movabs r10, 0xF0F0F0F0F0F0F0F0 -- shr rax, 0Ch // SoftwareWriteWatch::AddressToTableByteIndexShift -+ shr rax, 0xC // SoftwareWriteWatch::AddressToTableByteIndexShift - NOP_2_BYTE // padding for alignment of constant - movabs r11, 0xF0F0F0F0F0F0F0F0 - add rax, r10 -- cmp byte ptr [rax], 0h -+ cmp byte ptr [rax], 0x0 - .byte 0x75, 0x06 - // jne CheckCardTable -- mov byte ptr [rax], 0FFh -+ mov byte ptr [rax], 0xFF - - NOP_3_BYTE // padding for alignment of constant - -@@ -112,27 +112,27 @@ LEAF_ENTRY JIT_WriteBarrier, _TEXT - - // Touch the card table entry, if not already dirty. - shr rdi, 0x0B -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable - REPRET - - UpdateCardTable: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP_2_BYTE // padding for alignment of constant - shr rdi, 0x0A - - movabs rax, 0xF0F0F0F0F0F0F0F0 -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - - .byte 0x75, 0x02 - // jne UpdateCardBundle_WriteWatch_PostGrow64 - REPRET - - UpdateCardBundle_WriteWatch_PostGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - #endif - - ret -@@ -177,14 +177,14 @@ LEAF_ENTRY JIT_WriteBarrier, _TEXT - movabs rax, 0xF0F0F0F0F0F0F0F0 - - // Touch the card table entry, if not already dirty. -- shr rdi, 0Bh -- cmp byte ptr [rdi + rax], 0FFh -+ shr rdi, 0x0B -+ cmp byte ptr [rdi + rax], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable - REPRET - - UpdateCardTable: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0x0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP_6_BYTE // padding for alignment of constant -@@ -194,14 +194,14 @@ LEAF_ENTRY JIT_WriteBarrier, _TEXT - // Touch the card bundle, if not already dirty. - // rdi is already shifted by 0xB, so shift by 0xA more - shr rdi, 0x0A -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - - .byte 0x75, 0x02 - // jne UpdateCardBundle - REPRET - - UpdateCardBundle: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - #endif - - ret -@@ -312,15 +312,15 @@ LEAF_ENTRY JIT_ByRefWriteBarrier, _TEXT - #ifdef FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP - // Update the write watch table if necessary - PREPARE_EXTERNAL_VAR g_sw_ww_enabled_for_gc_heap, rax -- cmp byte ptr [rax], 0h -+ cmp byte ptr [rax], 0x0 - je CheckCardTable_ByRefWriteBarrier - mov rax, rdi -- shr rax, 0Ch // SoftwareWriteWatch::AddressToTableByteIndexShift -+ shr rax, 0xC // SoftwareWriteWatch::AddressToTableByteIndexShift - PREPARE_EXTERNAL_VAR g_sw_ww_table, r10 - add rax, qword ptr [r10] -- cmp byte ptr [rax], 0h -+ cmp byte ptr [rax], 0x0 - jne CheckCardTable_ByRefWriteBarrier -- mov byte ptr [rax], 0FFh -+ mov byte ptr [rax], 0xFF - #endif - - CheckCardTable_ByRefWriteBarrier: -@@ -334,8 +334,8 @@ LEAF_ENTRY JIT_ByRefWriteBarrier, _TEXT - - // move current rdi value into rcx and then increment the pointers - mov rcx, rdi -- add rsi, 8h -- add rdi, 8h -+ add rsi, 0x8 -+ add rdi, 0x8 - - // Check if we need to update the card table - // Calc pCardByte -@@ -345,13 +345,13 @@ LEAF_ENTRY JIT_ByRefWriteBarrier, _TEXT - mov rax, [rax] - - // Check if this card is dirty -- cmp byte ptr [rcx + rax], 0FFh -+ cmp byte ptr [rcx + rax], 0xFF - - jne UpdateCardTable_ByRefWriteBarrier - REPRET - - UpdateCardTable_ByRefWriteBarrier: -- mov byte ptr [rcx + rax], 0FFh -+ mov byte ptr [rcx + rax], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - // Shift rcx by 0x0A more to get the card bundle byte (we shifted by 0x0B already) -@@ -361,13 +361,13 @@ LEAF_ENTRY JIT_ByRefWriteBarrier, _TEXT - add rcx, [rax] - - // Check if this bundle byte is dirty -- cmp byte ptr [rcx], 0FFh -+ cmp byte ptr [rcx], 0xFF - - jne UpdateCardBundle_ByRefWriteBarrier - REPRET - - UpdateCardBundle_ByRefWriteBarrier: -- mov byte ptr [rcx], 0FFh -+ mov byte ptr [rcx], 0xFF - #endif - - ret -@@ -383,8 +383,8 @@ LEAF_ENTRY JIT_ByRefWriteBarrier, _TEXT - #endif - Exit_ByRefWriteBarrier: - // Increment the pointers before leaving -- add rdi, 8h -- add rsi, 8h -+ add rdi, 0x8 -+ add rsi, 0x8 - ret - LEAF_END JIT_ByRefWriteBarrier, _TEXT - -diff --git a/src/vm/amd64/jithelpers_fastwritebarriers.S b/src/vm/amd64/jithelpers_fastwritebarriers.S -index 23c1115165..0fe0e57472 100644 ---- a/src/vm/amd64/jithelpers_fastwritebarriers.S -+++ b/src/vm/amd64/jithelpers_fastwritebarriers.S -@@ -38,13 +38,13 @@ PATCH_LABEL JIT_WriteBarrier_PreGrow64_Patch_Label_CardTable - - // Touch the card table entry, if not already dirty. - shr rdi, 0x0B -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable_PreGrow64 - REPRET - - UpdateCardTable_PreGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP_6_BYTE // padding for alignment of constant -@@ -55,14 +55,14 @@ PATCH_LABEL JIT_WriteBarrier_PreGrow64_Patch_Label_CardBundleTable - // Touch the card bundle, if not already dirty. - // rdi is already shifted by 0xB, so shift by 0xA more - shr rdi, 0x0A -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - - .byte 0x75, 0x02 - // jne UpdateCardBundle_PreGrow64 - REPRET - - UpdateCardBundle_PreGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - #endif - - ret -@@ -123,13 +123,13 @@ PATCH_LABEL JIT_WriteBarrier_PostGrow64_Patch_Label_CardTable - - // Touch the card table entry, if not already dirty. - shr rdi, 0x0B -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable_PostGrow64 - REPRET - - UpdateCardTable_PostGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP_6_BYTE // padding for alignment of constant -@@ -140,14 +140,14 @@ PATCH_LABEL JIT_WriteBarrier_PostGrow64_Patch_Label_CardBundleTable - // Touch the card bundle, if not already dirty. - // rdi is already shifted by 0xB, so shift by 0xA more - shr rdi, 0x0A -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - - .byte 0x75, 0x02 - // jne UpdateCardBundle_PostGrow64 - REPRET - - UpdateCardBundle_PostGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - #endif - - ret -@@ -182,13 +182,13 @@ PATCH_LABEL JIT_WriteBarrier_SVR64_PatchLabel_CardTable - - shr rdi, 0x0B - -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable_SVR64 - REPRET - - UpdateCardTable_SVR64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP_6_BYTE // padding for alignment of constant -@@ -198,14 +198,14 @@ PATCH_LABEL JIT_WriteBarrier_SVR64_PatchLabel_CardBundleTable - - // Shift the address by 0xA more since already shifted by 0xB - shr rdi, 0x0A -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - - .byte 0x75, 0x02 - // jne UpdateCardBundle_SVR64 - REPRET - - UpdateCardBundle_SVR64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - #endif - - ret -@@ -236,15 +236,15 @@ LEAF_ENTRY JIT_WriteBarrier_WriteWatch_PreGrow64, _TEXT - mov rax, rdi - PATCH_LABEL JIT_WriteBarrier_WriteWatch_PreGrow64_Patch_Label_WriteWatchTable - movabs r10, 0xF0F0F0F0F0F0F0F0 -- shr rax, 0Ch // SoftwareWriteWatch::AddressToTableByteIndexShift -+ shr rax, 0xC // SoftwareWriteWatch::AddressToTableByteIndexShift - NOP_2_BYTE // padding for alignment of constant - PATCH_LABEL JIT_WriteBarrier_WriteWatch_PreGrow64_Patch_Label_Lower - movabs r11, 0xF0F0F0F0F0F0F0F0 - add rax, r10 -- cmp byte ptr [rax], 0h -+ cmp byte ptr [rax], 0x0 - .byte 0x75, 0x03 - // jne CheckCardTable_WriteWatch_PreGrow64 -- mov byte ptr [rax], 0FFh -+ mov byte ptr [rax], 0xFF - - CheckCardTable_WriteWatch_PreGrow64: - // Check the lower ephemeral region bound. -@@ -263,13 +263,13 @@ PATCH_LABEL JIT_WriteBarrier_WriteWatch_PreGrow64_Patch_Label_Lower - NOP_2_BYTE // padding for alignment of constant - PATCH_LABEL JIT_WriteBarrier_WriteWatch_PreGrow64_Patch_Label_CardTable - movabs rax, 0xF0F0F0F0F0F0F0F0 -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable_WriteWatch_PreGrow64 - REPRET - - UpdateCardTable_WriteWatch_PreGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP_2_BYTE // padding for alignment of constant -@@ -277,14 +277,14 @@ PATCH_LABEL JIT_WriteBarrier_WriteWatch_PreGrow64_Patch_Label_CardBundleTable - movabs rax, 0xF0F0F0F0F0F0F0F0 - - shr rdi, 0x0A -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - - .byte 0x75, 0x02 - // jne UpdateCardBundle_WriteWatch_PreGrow64 - REPRET - - UpdateCardBundle_WriteWatch_PreGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - #endif - - ret -@@ -314,15 +314,15 @@ LEAF_ENTRY JIT_WriteBarrier_WriteWatch_PostGrow64, _TEXT - mov rax, rdi - PATCH_LABEL JIT_WriteBarrier_WriteWatch_PostGrow64_Patch_Label_WriteWatchTable - movabs r10, 0xF0F0F0F0F0F0F0F0 -- shr rax, 0Ch // SoftwareWriteWatch::AddressToTableByteIndexShift -+ shr rax, 0xC // SoftwareWriteWatch::AddressToTableByteIndexShift - NOP_2_BYTE // padding for alignment of constant - PATCH_LABEL JIT_WriteBarrier_WriteWatch_PostGrow64_Patch_Label_Lower - movabs r11, 0xF0F0F0F0F0F0F0F0 - add rax, r10 -- cmp byte ptr [rax], 0h -+ cmp byte ptr [rax], 0x0 - .byte 0x75, 0x06 - // jne CheckCardTable_WriteWatch_PostGrow64 -- mov byte ptr [rax], 0FFh -+ mov byte ptr [rax], 0xFF - - NOP_3_BYTE // padding for alignment of constant - -@@ -358,13 +358,13 @@ PATCH_LABEL JIT_WriteBarrier_WriteWatch_PostGrow64_Patch_Label_CardTable - - // Touch the card table entry, if not already dirty. - shr rdi, 0x0B -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable_WriteWatch_PostGrow64 - REPRET - - UpdateCardTable_WriteWatch_PostGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP_2_BYTE // padding for alignment of constant -@@ -372,14 +372,14 @@ PATCH_LABEL JIT_WriteBarrier_WriteWatch_PostGrow64_Patch_Label_CardTable - - PATCH_LABEL JIT_WriteBarrier_WriteWatch_PostGrow64_Patch_Label_CardBundleTable - movabs rax, 0xF0F0F0F0F0F0F0F0 -- cmp byte ptr [rdi + rax], 0FFh -+ cmp byte ptr [rdi + rax], 0xFF - - .byte 0x75, 0x02 - // jne UpdateCardBundle_WriteWatch_PostGrow64 - REPRET - - UpdateCardBundle_WriteWatch_PostGrow64: -- mov byte ptr [rdi + rax], 0FFh -+ mov byte ptr [rdi + rax], 0xFF - #endif - - ret -@@ -417,25 +417,25 @@ LEAF_ENTRY JIT_WriteBarrier_WriteWatch_SVR64, _TEXT - mov rax, rdi - PATCH_LABEL JIT_WriteBarrier_WriteWatch_SVR64_PatchLabel_WriteWatchTable - movabs r10, 0xF0F0F0F0F0F0F0F0 -- shr rax, 0Ch // SoftwareWriteWatch::AddressToTableByteIndexShift -+ shr rax, 0xC // SoftwareWriteWatch::AddressToTableByteIndexShift - NOP_2_BYTE // padding for alignment of constant - PATCH_LABEL JIT_WriteBarrier_WriteWatch_SVR64_PatchLabel_CardTable - movabs r11, 0xF0F0F0F0F0F0F0F0 - add rax, r10 -- cmp byte ptr [rax], 0h -+ cmp byte ptr [rax], 0x0 - .byte 0x75, 0x03 - // jne CheckCardTable_WriteWatch_SVR64 -- mov byte ptr [rax], 0FFh -+ mov byte ptr [rax], 0xFF - - CheckCardTable_WriteWatch_SVR64: - shr rdi, 0x0B -- cmp byte ptr [rdi + r11], 0FFh -+ cmp byte ptr [rdi + r11], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardTable_WriteWatch_SVR64 - REPRET - - UpdateCardTable_WriteWatch_SVR64: -- mov byte ptr [rdi + r11], 0FFh -+ mov byte ptr [rdi + r11], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - NOP // padding for alignment of constant -@@ -444,13 +444,13 @@ PATCH_LABEL JIT_WriteBarrier_WriteWatch_SVR64_PatchLabel_CardBundleTable - movabs r11, 0xF0F0F0F0F0F0F0F0 - - shr rdi, 0x0A -- cmp byte ptr [rdi + r11], 0FFh -+ cmp byte ptr [rdi + r11], 0xFF - .byte 0x75, 0x02 - // jne UpdateCardBundle_WriteWatch_SVR64 - REPRET - - UpdateCardBundle_WriteWatch_SVR64: -- mov byte ptr [rdi + r11], 0FFh -+ mov byte ptr [rdi + r11], 0xFF - #endif - - ret -diff --git a/src/vm/amd64/jithelpers_slow.S b/src/vm/amd64/jithelpers_slow.S -index f61b42afc7..aa2e8cc064 100644 ---- a/src/vm/amd64/jithelpers_slow.S -+++ b/src/vm/amd64/jithelpers_slow.S -@@ -71,15 +71,15 @@ LEAF_ENTRY JIT_WriteBarrier_Debug, _TEXT - #ifdef FEATURE_USE_SOFTWARE_WRITE_WATCH_FOR_GC_HEAP - // Update the write watch table if necessary - PREPARE_EXTERNAL_VAR g_sw_ww_enabled_for_gc_heap, r10 -- cmp byte ptr [r10], 0h -+ cmp byte ptr [r10], 0x0 - je CheckCardTable_Debug - mov r10, rdi -- shr r10, 0Ch // SoftwareWriteWatch::AddressToTableByteIndexShift -+ shr r10, 0xC // SoftwareWriteWatch::AddressToTableByteIndexShift - PREPARE_EXTERNAL_VAR g_sw_ww_table, r11 - add r10, qword ptr [r11] -- cmp byte ptr [r10], 0h -+ cmp byte ptr [r10], 0x0 - jne CheckCardTable_Debug -- mov byte ptr [r10], 0FFh -+ mov byte ptr [r10], 0xFF - #endif - - CheckCardTable_Debug: -@@ -99,13 +99,13 @@ LEAF_ENTRY JIT_WriteBarrier_Debug, _TEXT - mov r10, [r10] - - // Check if this card is dirty -- cmp byte ptr [rdi + r10], 0FFh -+ cmp byte ptr [rdi + r10], 0xFF - - jne UpdateCardTable_Debug - REPRET - - UpdateCardTable_Debug: -- mov byte ptr [rdi + r10], 0FFh -+ mov byte ptr [rdi + r10], 0xFF - - #ifdef FEATURE_MANUALLY_MANAGED_CARD_BUNDLES - // Shift rdi by 0x0A more to get the card bundle byte (we shifted by 0x0B already) -@@ -115,13 +115,13 @@ LEAF_ENTRY JIT_WriteBarrier_Debug, _TEXT - add rdi, [r10] - - // Check if this bundle byte is dirty -- cmp byte ptr [rdi], 0FFh -+ cmp byte ptr [rdi], 0xFF - - jne UpdateCardBundle_Debug - REPRET - - UpdateCardBundle_Debug: -- mov byte ptr [rdi], 0FFh -+ mov byte ptr [rdi], 0xFF - #endif - - ret -diff --git a/src/vm/amd64/virtualcallstubamd64.S b/src/vm/amd64/virtualcallstubamd64.S -index 59b5b77dba..38c33d498e 100644 ---- a/src/vm/amd64/virtualcallstubamd64.S -+++ b/src/vm/amd64/virtualcallstubamd64.S -@@ -59,19 +59,19 @@ LEAF_ENTRY ResolveWorkerChainLookupAsmStub, _TEXT - jnz Fail_RWCLAS // If the BACKPATCH_FLAGS is set we will go directly to the ResolveWorkerAsmStub - - MainLoop_RWCLAS: -- mov rax, [rax+18h] // get the next entry in the chain (don't bother checking the first entry again) -+ mov rax, [rax+0x18] // get the next entry in the chain (don't bother checking the first entry again) - test rax,rax // test if we hit a terminating NULL - jz Fail_RWCLAS - -- cmp rdx, [rax+00h] // compare our MT with the one in the ResolveCacheElem -+ cmp rdx, [rax+0x0] // compare our MT with the one in the ResolveCacheElem - jne MainLoop_RWCLAS -- cmp r10, [rax+08h] // compare our DispatchToken with one in the ResolveCacheElem -+ cmp r10, [rax+0x8] // compare our DispatchToken with one in the ResolveCacheElem - jne MainLoop_RWCLAS - Success_RWCLAS: - PREPARE_EXTERNAL_VAR CHAIN_SUCCESS_COUNTER, rdx - sub qword ptr [rdx],1 // decrement success counter - jl Promote_RWCLAS -- mov rax, [rax+10h] // get the ImplTarget -+ mov rax, [rax+0x10] // get the ImplTarget - pop rdx - jmp rax - diff --git a/dotnet2.1.spec b/dotnet2.1.spec index a320c2a..d70c0da 100644 --- a/dotnet2.1.spec +++ b/dotnet2.1.spec @@ -27,9 +27,9 @@ %global simple_name dotnet -%global host_version 2.1.13 -%global sdk_version 2.1.509 -%global runtime_version 2.1.13 +%global host_version 2.1.19 +%global sdk_version 2.1.515 +%global runtime_version 2.1.19 Name: %{simple_name}2.1 Version: %{sdk_version} @@ -40,7 +40,7 @@ URL: https://github.com/dotnet/ # The source is generated on a Fedora box via: # ./build-dotnet-tarball dotnet-v%%{runtime_version} -Source0: dotnet-v%{runtime_version}.tar.gz +Source0: dotnet-v%{sdk_version}-SDK.tar.gz Source1: check-debug-symbols.py Source2: dotnet.sh @@ -51,7 +51,7 @@ Patch200: coreclr-build-python3.patch Patch201: coreclr-cmake-python3.patch Patch202: coreclr-mscorlib.patch Patch203: coreclr-pie.patch -Patch204: coreclr-assembly-hex-constants.patch +Patch204: coreclr-28045-clang10.patch Patch300: core-setup-4510-commit-id.patch Patch301: core-setup-pie.patch @@ -83,6 +83,7 @@ BuildRequires: lttng-ust-devel BuildRequires: openssl-devel BuildRequires: python3 BuildRequires: strace +BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel %if %{use_bundled_libunwind} @@ -215,7 +216,7 @@ applications and micro-services. %prep -%setup -q -n %{simple_name}-v%{runtime_version} +%setup -q -n %{simple_name}-v%{sdk_version}-SDK # Fix bad hardcoded path in build sed -i 's|/usr/share/dotnet|%{_libdir}/%{simple_name}|' src/core-setup/src/corehost/common/pal.unix.cpp @@ -333,6 +334,15 @@ echo "Testing build results for debug symbols..." %{_libdir}/%{simple_name}/sdk/%{sdk_version} %changelog +* Wed Jun 10 2020 Omair Majid - 2.1.515-1 +- Update to .NET Core Runtime 2.1.19 and SDK 2.1.515 + +* Fri Apr 17 2020 Omair Majid - 2.1.513-1 +- Update to .NET Core Runtime 2.1.17 and SDK 2.1.513 + +* Wed Jan 22 2020 Omair Majid - 2.1.511-1 +- Update to .NET Core Runtime 2.1.15 and SDK 2.1.511 + * Tue Sep 10 2019 Omair Majid - 2.1.509-1 - Update to .NET Core Runtime 2.1.13 and SDK 2.1.509 diff --git a/update-release b/update-release index bbcdb48..21f4b6f 100755 --- a/update-release +++ b/update-release @@ -8,7 +8,7 @@ IFS=$'\n\t' print_usage() { echo " Usage:" - echo " ./update-release runtime-version sdk-version" + echo " ./update-release sdk-version runtime-version" } positional_args=() @@ -28,25 +28,25 @@ done spec_file=dotnet2.1.spec -runtime_version=${positional_args[0]:-} -if [[ -z ${runtime_version} ]]; then - echo "error: missing runtime version" +sdk_version=${positional_args[0]:-} +if [[ -z ${sdk_version} ]]; then + echo "error: missing sdk version" exit 1 fi -host_version="$runtime_version" -sdk_version=${positional_args[1]:-} -if [[ -z ${sdk_version} ]]; then - echo "error: missing sdk version" +runtime_version=${positional_args[1]:-} +if [[ -z ${runtime_version} ]]; then + echo "error: missing runtime version" exit 1 fi +host_version="$runtime_version" -if [[ ! -f "dotnet-v${runtime_version}.tar.gz" ]] && [[ -f "dotnet-${runtime_version}.tar.gz" ]]; then - ./rename-tarball "dotnet-${runtime_version}.tar.gz" "dotnet-v${runtime_version}.tar.gz" +if [[ ! -f "dotnet-v${sdk_version}-SDK.tar.gz" ]] && [[ -f "dotnet-${runtime_version}.tar.gz" ]]; then + ./rename-tarball "dotnet-${runtime_version}.tar.gz" "dotnet-v${sdk_version}-SDK.tar.gz" fi -if [[ ! -f "dotnet-v${runtime_version}.tar.gz" ]]; then - ./build-dotnet-tarball "v${runtime_version}" +if [[ ! -f "dotnet-v${sdk_version}-SDK.tar.gz" ]]; then + ./build-dotnet-tarball "v${sdk_version}-SDK" fi set -x @@ -55,7 +55,7 @@ sed -i -E "s|^%global host_version [[:digit:]]\.[[:digit:]]\.[[:digit:]]+|%globa sed -i -E "s|^%global runtime_version [[:digit:]]\.[[:digit:]]\.[[:digit:]]+|%global runtime_version ${runtime_version}|" "$spec_file" sed -i -E "s|^%global sdk_version [[:digit:]]\.[[:digit:]]\.[[:digit:]][[:digit:]][[:digit:]]|%global sdk_version ${sdk_version}|" "$spec_file" -comment="Update to .NET Core Runtime ${runtime_version} and SDK ${sdk_version}" +comment="Update to .NET Core SDK ${sdk_version} and Runtime ${runtime_version}" rpmdev-bumpspec --comment="$comment" $spec_file