From cf73feeca7e0fe1523607bdd2bfb68b60ebc4263 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 30 2021 18:22:48 +0000 Subject: import dotnet-2.1.521-2.el8 --- diff --git a/.dotnet.metadata b/.dotnet.metadata index 114ca75..3dec58c 100644 --- a/.dotnet.metadata +++ b/.dotnet.metadata @@ -1 +1 @@ -1f0ad270531d7847e9ef604316c7fc52635c2838 SOURCES/dotnet-v2.1.515-SDK.tar.gz +4b1cef0d4502e0c244f993f3a69093072e6512a1 SOURCES/dotnet-v2.1.521-SDK.tar.gz diff --git a/.gitignore b/.gitignore index bca90e7..f2b4794 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/dotnet-v2.1.515-SDK.tar.gz +SOURCES/dotnet-v2.1.521-SDK.tar.gz diff --git a/SOURCES/build-coreclr-clang10.patch b/SOURCES/build-coreclr-clang10.patch deleted file mode 100644 index 96d0a46..0000000 --- a/SOURCES/build-coreclr-clang10.patch +++ /dev/null @@ -1,448 +0,0 @@ -commit e73f34074a381891ee92711e496134dce758a969 -Author: Omair Majid -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 - Co-authored-by: Sinan Kaya - Co-authored-by: Tom Deseyn - -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 - #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 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) - { diff --git a/SOURCES/build-coreclr-mscorlib.patch b/SOURCES/build-coreclr-mscorlib.patch deleted file mode 100644 index ca59e77..0000000 --- a/SOURCES/build-coreclr-mscorlib.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 5164e76ce01fc36833a7f5e6fb7b1ec2f55c2262 Mon Sep 17 00:00:00 2001 -From: Omair Majid -Date: Wed, 1 Aug 2018 12:02:53 -0400 -Subject: [PATCH] Use the identified python when building - System.Private.CoreLib (#19043) - -build.sh and build.cmd contain logic to identify a working version of -python to use. System.Private.CoreLib ignores that and directly invokes -'python', which may not work, or even execute a different program. ---- - build.sh | 2 ++ - src/System.Private.CoreLib/System.Private.CoreLib.csproj | 2 +- - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/build.sh b/build.sh -index 091d6227caf..4002f2744c2 100755 ---- a/build.sh -+++ b/build.sh -@@ -22,6 +22,8 @@ then - exit 1 - fi - -+export PYTHON -+ - usage() - { - echo "Usage: $0 [BuildArch] [BuildType] [-verbose] [-coverage] [-cross] [-clangx.y] [-ninja] [-configureonly] [-skipconfigure] [-skipnative] [-skipmscorlib] [-skiptests] [-stripsymbols] [-ignorewarnings] [-cmakeargs] [-bindir]" -diff --git a/src/mscorlib/System.Private.CoreLib.csproj b/src/mscorlib/System.Private.CoreLib.csproj -index 9a2fc681703..0a02d3cffdf 100644 ---- a/src/mscorlib/System.Private.CoreLib.csproj -+++ b/src/mscorlib/System.Private.CoreLib.csproj -@@ -543,7 +543,7 @@ - - $(IntermediateOutputPath)..\cmake.definitions - -- -+ - - - true diff --git a/SOURCES/coreclr-build-python3.patch b/SOURCES/coreclr-build-python3.patch deleted file mode 100644 index 1090a12..0000000 --- a/SOURCES/coreclr-build-python3.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7e0608fee5cacbf5bf7d0c3886e2fcb1a9d10754 Mon Sep 17 00:00:00 2001 -From: Omair Majid -Date: Wed, 9 Jan 2019 12:28:48 -0500 -Subject: [PATCH] Support building with python3 on unix (#19356) - -The windows build scripts try finding python in order of python3, -python2 and then python. The unix build scripts dont. They just try -python2 variants and then fail. This change makes brings them closer -together by letting users build using only python3. ---- - build.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/build.sh b/build.sh -index a0b1742effb..14452ad5ac5 100755 ---- a/build.sh -+++ b/build.sh -@@ -7,9 +7,9 @@ export ghprbCommentBody= - - # resolve python-version to use - if [ "$PYTHON" == "" ] ; then -- if ! PYTHON=$(command -v python2.7 || command -v python2 || command -v python) -+ if ! PYTHON=$(command -v python3 || command -v python2 || command -v python) - then -- echo "Unable to locate build-dependency python2.x!" 1>&2 -+ echo "Unable to locate build-dependency python!" 1>&2 - exit 1 - fi - fi -@@ -17,7 +17,7 @@ fi - # useful in case of explicitly set option. - if ! command -v $PYTHON > /dev/null - then -- echo "Unable to locate build-dependency python2.x ($PYTHON)!" 1>&2 -+ echo "Unable to locate build-dependency python ($PYTHON)!" 1>&2 - exit 1 - fi - diff --git a/SOURCES/coreclr-cmake-python3.patch b/SOURCES/coreclr-cmake-python3.patch deleted file mode 100644 index 285cdc4..0000000 --- a/SOURCES/coreclr-cmake-python3.patch +++ /dev/null @@ -1,26 +0,0 @@ -From e7c6f87f54be723724a4c996d815d59b515b01a6 Mon Sep 17 00:00:00 2001 -From: Omair Majid -Date: Thu, 31 Jan 2019 16:09:35 -0500 -Subject: [PATCH] Update python lookup in CMakeLists.txt to match - build.(sh|cmd) (#22145) - -Use the same logic that's used in build.sh/build.cmd to lookup python: -first search for `python3`, then fall back to `python2` and finally to -`python`. ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 82c19a9cbaa..31b814f118d 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -37,7 +37,7 @@ OPTION(CLR_CMAKE_ENABLE_CODE_COVERAGE "Enable code coverage" OFF) - OPTION(CLR_CMAKE_WARNINGS_ARE_ERRORS "Warnings are errors" ON) - - # Ensure that python is present --find_program(PYTHON NAMES python2.7 python2 python) -+find_program(PYTHON NAMES python3 python2 python) - if (PYTHON STREQUAL "PYTHON-NOTFOUND") - message(FATAL_ERROR "PYTHON not found: Please install Python 2.7.9 or later from https://www.python.org/downloads/") - endif() diff --git a/SOURCES/coreclr-libunwind-fno-common.patch b/SOURCES/coreclr-libunwind-fno-common.patch new file mode 100644 index 0000000..5a1d407 --- /dev/null +++ b/SOURCES/coreclr-libunwind-fno-common.patch @@ -0,0 +1,402 @@ +From 29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e Mon Sep 17 00:00:00 2001 +From: Yichao Yu +Date: Tue, 31 Mar 2020 00:43:32 -0400 +Subject: [PATCH] Fix compilation with -fno-common. + +Making all other archs consistent with IA64 which should not have this problem. +Also move the FIXME to the correct place. + +Also add some minimum comments about this... +--- + src/aarch64/Ginit.c | 15 +++++++-------- + src/arm/Ginit.c | 15 +++++++-------- + src/coredump/_UPT_get_dyn_info_list_addr.c | 5 +++++ + src/hppa/Ginit.c | 15 +++++++-------- + src/ia64/Ginit.c | 1 + + src/mi/Gfind_dynamic_proc_info.c | 1 + + src/mips/Ginit.c | 15 +++++++-------- + src/ppc32/Ginit.c | 11 +++++++---- + src/ppc64/Ginit.c | 11 +++++++---- + src/ptrace/_UPT_get_dyn_info_list_addr.c | 5 +++++ + src/s390x/Ginit.c | 15 +++++++-------- + src/sh/Ginit.c | 15 +++++++-------- + src/tilegx/Ginit.c | 15 +++++++-------- + src/x86/Ginit.c | 15 +++++++-------- + src/x86_64/Ginit.c | 15 +++++++-------- + 15 files changed, 89 insertions(+), 80 deletions(-) + +diff --git a/src/pal/src/libunwind/src/aarch64/Ginit.c b/src/pal/src/libunwind/src/aarch64/Ginit.c +index dec235c82..35389762f 100644 +--- a/src/pal/src/libunwind/src/aarch64/Ginit.c ++++ b/src/pal/src/libunwind/src/aarch64/Ginit.c +@@ -61,13 +61,6 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -78,7 +71,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/arm/Ginit.c b/ssrc/pal/src/libunwind/src/arm/Ginit.c +index 2720d063a..0bac0d72d 100644 +--- a/src/pal/src/libunwind/src/arm/Ginit.c ++++ b/src/pal/src/libunwind/src/arm/Ginit.c +@@ -57,18 +57,17 @@ tdep_uc_addr (unw_tdep_context_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/coredump/_UPT_get_dyn_info_list_addr.c b/src/pal/src/libunwind/src/coredump/_UPT_get_dyn_info_list_addr.c +index 0d1190556..739ed0569 100644 +--- a/src/pal/src/libunwind/src/coredump/_UPT_get_dyn_info_list_addr.c ++++ b/src/pal/src/libunwind/src/coredump/_UPT_get_dyn_info_list_addr.c +@@ -74,6 +74,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + + #else + ++/* XXX fix me: there is currently no way to locate the dyn-info list ++ by a remote unwinder. On ia64, this is done via a special ++ unwind-table entry. Perhaps something similar can be done with ++ DWARF2 unwind info. */ ++ + static inline int + get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + int *countp) +diff --git a/src/pal/src/libunwind/src/hppa/Ginit.c b/src/pal/src/libunwind/src/hppa/Ginit.c +index 461e4b93d..265455a68 100644 +--- a/src/pal/src/libunwind/src/hppa/Ginit.c ++++ b/src/pal/src/libunwind/src/hppa/Ginit.c +@@ -64,13 +64,6 @@ _Uhppa_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -81,7 +74,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/ia64/Ginit.c b/src/pal/src/libunwind/src/ia64/Ginit.c +index b09a2ad57..8601bb3ca 100644 +--- a/src/pal/src/libunwind/src/ia64/Ginit.c ++++ b/src/pal/src/libunwind/src/ia64/Ginit.c +@@ -68,6 +68,7 @@ get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + if (!_U_dyn_info_list_addr) + return -UNW_ENOINFO; + #endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. + *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } +diff --git a/src/pal/src/libunwind/src/mi/Gfind_dynamic_proc_info.c b/src/pal/src/libunwind/src/mi/Gfind_dynamic_proc_info.c +index 98d350128..2e7c62e5e 100644 +--- a/src/pal/src/libunwind/src/mi/Gfind_dynamic_proc_info.c ++++ b/src/pal/src/libunwind/src/mi/Gfind_dynamic_proc_info.c +@@ -49,6 +49,7 @@ local_find_proc_info (unw_addr_space_t as, unw_word_t ip, unw_proc_info_t *pi, + return -UNW_ENOINFO; + #endif + ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. + list = (unw_dyn_info_list_t *) (uintptr_t) _U_dyn_info_list_addr (); + for (di = list->first; di; di = di->next) + if (ip >= di->start_ip && ip < di->end_ip) +diff --git a/src/pal/src/libunwind/src/mips/Ginit.c b/src/pal/src/libunwind/src/mips/Ginit.c +index 3df170c75..bf7a8f5a8 100644 +--- a/src/pal/src/libunwind/src/mips/Ginit.c ++++ b/src/pal/src/libunwind/src/mips/Ginit.c +@@ -69,13 +69,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -86,7 +79,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/ppc32/Ginit.c b/src/pal/src/libunwind/src/ppc32/Ginit.c +index ba302448a..7b4545580 100644 +--- a/src/pal/src/libunwind/src/ppc32/Ginit.c ++++ b/src/pal/src/libunwind/src/ppc32/Ginit.c +@@ -91,9 +91,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -104,7 +101,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/ppc64/Ginit.c b/src/pal/src/libunwind/src/ppc64/Ginit.c +index 4c88cd6e7..7bfb395a7 100644 +--- a/src/pal/src/libunwind/src/ppc64/Ginit.c ++++ b/src/pal/src/libunwind/src/ppc64/Ginit.c +@@ -95,9 +95,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -108,7 +105,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/ptrace/_UPT_get_dyn_info_list_addr.c b/src/pal/src/libunwind/src/ptrace/_UPT_get_dyn_info_list_addr.c +index cc5ed0441..16671d453 100644 +--- a/src/pal/src/libunwind/src/ptrace/_UPT_get_dyn_info_list_addr.c ++++ b/src/pal/src/libunwind/src/ptrace/_UPT_get_dyn_info_list_addr.c +@@ -71,6 +71,11 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + + #else + ++/* XXX fix me: there is currently no way to locate the dyn-info list ++ by a remote unwinder. On ia64, this is done via a special ++ unwind-table entry. Perhaps something similar can be done with ++ DWARF2 unwind info. */ ++ + static inline int + get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg, + int *countp) +diff --git a/src/pal/src/libunwind/src/sh/Ginit.c b/src/pal/src/libunwind/src/sh/Ginit.c +index 52988a721..9fe96d2bd 100644 +--- a/src/pal/src/libunwind/src/sh/Ginit.c ++++ b/src/pal/src/libunwind/src/sh/Ginit.c +@@ -58,13 +58,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -75,7 +68,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/tilegx/Ginit.c b/src/pal/src/libunwind/src/tilegx/Ginit.c +index 7564a558b..925e64132 100644 +--- a/src/pal/src/libunwind/src/tilegx/Ginit.c ++++ b/src/pal/src/libunwind/src/tilegx/Ginit.c +@@ -64,13 +64,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -81,7 +74,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) (intptr_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/x86/Ginit.c b/src/pal/src/libunwind/src/x86/Ginit.c +index f6b8dc27d..3cec74a21 100644 +--- a/src/pal/src/libunwind/src/x86/Ginit.c ++++ b/src/pal/src/libunwind/src/x86/Ginit.c +@@ -54,13 +54,6 @@ tdep_uc_addr (ucontext_t *uc, int reg) + + # endif /* UNW_LOCAL_ONLY */ + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -71,7 +64,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + +diff --git a/src/pal/src/libunwind/src/x86_64/Ginit.c b/src/pal/src/libunwind/src/x86_64/Ginit.c +index a865d3385..fd8d418b1 100644 +--- a/src/pal/src/libunwind/src/x86_64/Ginit.c ++++ b/src/pal/src/libunwind/src/x86_64/Ginit.c +@@ -49,13 +49,6 @@ static struct unw_addr_space local_addr_space; + + unw_addr_space_t unw_local_addr_space = &local_addr_space; + +-HIDDEN unw_dyn_info_list_t _U_dyn_info_list; +- +-/* XXX fix me: there is currently no way to locate the dyn-info list +- by a remote unwinder. On ia64, this is done via a special +- unwind-table entry. Perhaps something similar can be done with +- DWARF2 unwind info. */ +- + static void + put_unwind_info (unw_addr_space_t as, unw_proc_info_t *proc_info, void *arg) + { +@@ -66,7 +59,13 @@ static int + get_dyn_info_list_addr (unw_addr_space_t as, unw_word_t *dyn_info_list_addr, + void *arg) + { +- *dyn_info_list_addr = (unw_word_t) &_U_dyn_info_list; ++#ifndef UNW_LOCAL_ONLY ++# pragma weak _U_dyn_info_list_addr ++ if (!_U_dyn_info_list_addr) ++ return -UNW_ENOINFO; ++#endif ++ // Access the `_U_dyn_info_list` from `LOCAL_ONLY` library, i.e. libunwind.so. ++ *dyn_info_list_addr = _U_dyn_info_list_addr (); + return 0; + } + diff --git a/SPECS/dotnet.spec b/SPECS/dotnet.spec index 30f8052..0c348df 100644 --- a/SPECS/dotnet.spec +++ b/SPECS/dotnet.spec @@ -28,9 +28,9 @@ %global simple_name dotnet -%global host_version 2.1.19 -%global runtime_version 2.1.19 -%global sdk_version 2.1.515 +%global host_version 2.1.25 +%global runtime_version 2.1.25 +%global sdk_version 2.1.521 Name: dotnet Version: %{sdk_version} @@ -51,13 +51,8 @@ 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-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 +Patch100: coreclr-pie.patch +Patch101: coreclr-libunwind-fno-common.patch Patch300: core-setup-4510-commit-id.patch Patch301: core-setup-pie.patch @@ -208,9 +203,6 @@ popd pushd src/coreclr %patch100 -p1 %patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 popd pushd src/core-setup @@ -325,6 +317,36 @@ rm %{buildroot}%{_libdir}/%{simple_name}/dotnet %{_libdir}/%{simple_name}/sdk/%{sdk_version} %changelog +* Wed Feb 10 2021 Omair Majid - 2.1.521-2 +- Update to .NET Core SDK 2.1.521 and Runtime 2.1.25 +- Resolves: RHBZ#1921939 + +* Tue Jan 12 14:41:40 EST 2021 Omair Majid - 2.1.520-1 +- Update to .NET Core SDK 2.1.520 and Runtime 2.1.24 +- Resolves: RHBZ#1905575 + +* Tue Oct 06 2020 Omair Majid - 2.1.519-2 +- Bump release +- Resolves: RHBZ#1884080 + +* Thu Oct 01 2020 Omair Majid - 2.1.519-1 +- Update to .NET Core SDK 2.1.519 and Runtime 2.1.23 +- Drop patches merged upstream +- Resolves: RHBZ#1884080 + +* Fri Sep 04 2020 Omair Majid - 2.1.518-1 +- Update to .NET Core SDK 2.1.518 and Runtime 2.1.22 +- Resolves: RHBZ#1874064 + +* Mon Aug 17 2020 Omair Majid - 2.1.517-1 +- Update to .NET Core SDK 2.1.517 and Runtime 2.1.21 +- Resolves: RHBZ#1866119 + +* Fri Jul 17 2020 Omair Majid - 2.1.516-1 +- Update to .NET Core SDK 2.1.516 and Runtime 2.1.20 +- Resolves: RHBZ#1851971 +- Resolves: RHBZ#1856937 + * Thu Jun 11 2020 Omair Majid - 2.1.515-2 - Update to .NET Core SDK 2.1.515 and Runtime 2.1.19 - Resolves: RHBZ#1843672