import dotnet-2.1.515-2.el8
This commit is contained in:
parent
71f4cd1424
commit
d26b30904b
@ -1 +1 @@
|
||||
5e682c8e8c5b07db830b324d4c8649e986abc9e8 SOURCES/dotnet-v2.1.13.tar.gz
|
||||
1f0ad270531d7847e9ef604316c7fc52635c2838 SOURCES/dotnet-v2.1.515-SDK.tar.gz
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/dotnet-v2.1.13.tar.gz
|
||||
SOURCES/dotnet-v2.1.515-SDK.tar.gz
|
||||
|
448
SOURCES/build-coreclr-clang10.patch
Normal file
448
SOURCES/build-coreclr-clang10.patch
Normal file
@ -0,0 +1,448 @@
|
||||
commit e73f34074a381891ee92711e496134dce758a969
|
||||
Author: Omair Majid <omajid@redhat.com>
|
||||
Date: Tue Jun 2 12:16:31 2020 -0400
|
||||
|
||||
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 <mikem@microsoft.com>
|
||||
Co-authored-by: Sinan Kaya <sinan.kaya@microsoft.com>
|
||||
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
|
||||
|
||||
diff --git a/src/debug/createdump/createdump.h b/src/debug/createdump/createdump.h
|
||||
index 4892e5464b..3f71b627e6 100644
|
||||
--- a/src/debug/createdump/createdump.h
|
||||
+++ b/src/debug/createdump/createdump.h
|
||||
@@ -54,6 +54,8 @@ typedef int T_CONTEXT;
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <vector>
|
||||
+#include <string>
|
||||
+#include <array>
|
||||
#include "datatarget.h"
|
||||
#include "threadinfo.h"
|
||||
#include "memoryregion.h"
|
||||
diff --git a/src/inc/slist.h b/src/inc/slist.h
|
||||
index 2b81f9ba90..8ea6f9098e 100644
|
||||
--- a/src/inc/slist.h
|
||||
+++ b/src/inc/slist.h
|
||||
@@ -160,13 +160,13 @@ public:
|
||||
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 @@ public:
|
||||
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 f030b7ded2..7021439af2 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 5106c01421..de20524faf 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 a36ac9aa93..81345ea14b 100644
|
||||
--- a/src/pal/src/cruntime/math.cpp
|
||||
+++ b/src/pal/src/cruntime/math.cpp
|
||||
@@ -117,7 +117,7 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 @@ Function:
|
||||
|
||||
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 27aeb79665..a75ec41861 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)
|
||||
{
|
12
SOURCES/build-corefx-disable-werror.patch
Normal file
12
SOURCES/build-corefx-disable-werror.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/src/Native/Unix/CMakeLists.txt b/src/Native/Unix/CMakeLists.txt
|
||||
index 7d804a1e54..717c2718d7 100644
|
||||
--- a/src/Native/Unix/CMakeLists.txt
|
||||
+++ b/src/Native/Unix/CMakeLists.txt
|
||||
@@ -25,7 +25,6 @@ add_compile_options(-fPIC)
|
||||
add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common)
|
||||
add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common)
|
||||
add_compile_options(-g)
|
||||
-add_compile_options(-Werror)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
|
||||
add_compile_options(-Wno-unreachable-code)
|
||||
endif ()
|
@ -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
|
||||
|
@ -1,15 +1,3 @@
|
||||
diff --git a/src/Native/Unix/CMakeLists.txt b/src/Native/Unix/CMakeLists.txt
|
||||
index 7d804a1e54..717c2718d7 100644
|
||||
--- a/src/Native/Unix/CMakeLists.txt
|
||||
+++ b/src/Native/Unix/CMakeLists.txt
|
||||
@@ -25,7 +25,6 @@ add_compile_options(-fPIC)
|
||||
add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common)
|
||||
add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common)
|
||||
add_compile_options(-g)
|
||||
-add_compile_options(-Werror)
|
||||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)
|
||||
add_compile_options(-Wno-unreachable-code)
|
||||
endif ()
|
||||
diff --git a/src/Native/Unix/configure.cmake b/src/Native/Unix/configure.cmake
|
||||
index f4a30ad6cb..f2db68402a 100644
|
||||
--- a/src/Native/Unix/configure.cmake
|
||||
|
@ -28,9 +28,9 @@
|
||||
|
||||
%global simple_name dotnet
|
||||
|
||||
%global host_version 2.1.13
|
||||
%global runtime_version 2.1.13
|
||||
%global sdk_version 2.1.509
|
||||
%global host_version 2.1.19
|
||||
%global runtime_version 2.1.19
|
||||
%global sdk_version 2.1.515
|
||||
|
||||
Name: dotnet
|
||||
Version: %{sdk_version}
|
||||
@ -40,24 +40,24 @@ License: MIT and ASL 2.0 and BSD
|
||||
URL: https://github.com/dotnet/
|
||||
|
||||
# The source is generated on a RHEL box via:
|
||||
# - git clone https://github.com/dotnet/source-build
|
||||
# - git checkout v%%{sdk_version}
|
||||
# - set environment variables + tweak sources to build
|
||||
# - ./build-source-tarball.sh dotnet-%%{sdk_version}
|
||||
# - tar cvzf dotnet-%%{sdk_version}.tar.gz dotnet-%%{sdk_version}
|
||||
# ./build-dotnet-tarball v%%{sdk_version}-SDK
|
||||
|
||||
Source0: dotnet-v%{runtime_version}.tar.gz
|
||||
Source0: dotnet-v%{sdk_version}-SDK.tar.gz
|
||||
Source1: check-debug-symbols.py
|
||||
Source2: dotnet.sh
|
||||
|
||||
Patch10: corefx-optflags-support.patch
|
||||
Patch11: corefx-32956-alpn.patch
|
||||
# This patch is generally applied at tarball-build time, except when we dont build the tarball
|
||||
Patch12: build-corefx-disable-werror.patch
|
||||
|
||||
Patch100: coreclr-build-python3.patch
|
||||
Patch101: coreclr-cmake-python3.patch
|
||||
Patch102: coreclr-mscorlib.patch
|
||||
Patch103: coreclr-pie.patch
|
||||
Patch104: coreclr-assembly-hex-constants.patch
|
||||
Patch102: coreclr-pie.patch
|
||||
# This patch is generally applied at tarball-build time, except when we dont build the tarball
|
||||
Patch103: build-coreclr-mscorlib.patch
|
||||
# This patch is generally applied at tarball-build time, except when we dont build the tarball
|
||||
Patch104: build-coreclr-clang10.patch
|
||||
|
||||
Patch300: core-setup-4510-commit-id.patch
|
||||
Patch301: core-setup-pie.patch
|
||||
@ -197,11 +197,12 @@ applications and micro-services.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n %{simple_name}-v%{runtime_version}
|
||||
%setup -q -n %{simple_name}-v%{sdk_version}-SDK
|
||||
|
||||
pushd src/corefx
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
popd
|
||||
|
||||
pushd src/coreclr
|
||||
@ -227,6 +228,10 @@ sed -i 's|/usr/share/dotnet|%{_libdir}/%{simple_name}|' src/core-setup/src/coreh
|
||||
# Disable warnings
|
||||
sed -i 's|skiptests|skiptests ignorewarnings|' repos/coreclr.proj
|
||||
|
||||
# If CLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE is missing, add it back
|
||||
grep CLR_CMAKE_USE_SYSTEM_LIBUNWIND repos/coreclr.proj || \
|
||||
sed -i 's|\$(BuildArguments) </BuildArguments>|$(BuildArguments) cmakeargs -DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE</BuildArguments>|' repos/coreclr.proj
|
||||
|
||||
%if %{use_bundled_libunwind}
|
||||
# Use bundled libunwind
|
||||
sed -i 's|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=TRUE|-DCLR_CMAKE_USE_SYSTEM_LIBUNWIND=FALSE|' repos/coreclr.proj
|
||||
@ -320,6 +325,26 @@ rm %{buildroot}%{_libdir}/%{simple_name}/dotnet
|
||||
%{_libdir}/%{simple_name}/sdk/%{sdk_version}
|
||||
|
||||
%changelog
|
||||
* Thu Jun 11 2020 Omair Majid <omajid@redhat.com> - 2.1.515-2
|
||||
- Update to .NET Core SDK 2.1.515 and Runtime 2.1.19
|
||||
- Resolves: RHBZ#1843672
|
||||
|
||||
* Mon Jun 01 2020 Omair Majid <omajid@redhat.com> - 2.1.514-3
|
||||
- Update to .NET Core SDK 2.1.514 and Runtime 2.1.18
|
||||
- Resolves: RHBZ#1828392
|
||||
|
||||
* Mon Mar 23 2020 Omair Majid <omajid@redhat.com> - 2.1.513-2
|
||||
- Update to .NET Core SDK 2.1.513 and Runtime 2.1.17
|
||||
- Resolves: RHBZ#1815640
|
||||
|
||||
* Sat Mar 07 2020 Omair Majid <omajid@redhat.com> - 2.1.512-1
|
||||
- Update to .NET Core Runtime 2.1.16 and SDK 2.1.512
|
||||
- Resolves: RHBZ#1799068
|
||||
|
||||
* Fri Jan 17 2020 Omair Majid <omajid@redhat.com> - 2.1.511-2
|
||||
- Update to .NET Core Runtime 2.1.15 and SDK 2.1.511
|
||||
- Resolves: RHBZ#1786190
|
||||
|
||||
* Thu Aug 29 2019 Omair Majid <omajid@redhat.com> - 2.1.509-2
|
||||
- Update to .NET Core Runtime 2.1.13 and SDK 2.1.509
|
||||
- Resolves: RHBZ#1742959
|
||||
|
Loading…
Reference in New Issue
Block a user