import dotnet-2.1.521-2.el8
This commit is contained in:
parent
d26b30904b
commit
c474a462c5
@ -1 +1 @@
|
||||
1f0ad270531d7847e9ef604316c7fc52635c2838 SOURCES/dotnet-v2.1.515-SDK.tar.gz
|
||||
4b1cef0d4502e0c244f993f3a69093072e6512a1 SOURCES/dotnet-v2.1.521-SDK.tar.gz
|
||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/dotnet-v2.1.515-SDK.tar.gz
|
||||
SOURCES/dotnet-v2.1.521-SDK.tar.gz
|
||||
|
@ -1,448 +0,0 @@
|
||||
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)
|
||||
{
|
@ -1,40 +0,0 @@
|
||||
From 5164e76ce01fc36833a7f5e6fb7b1ec2f55c2262 Mon Sep 17 00:00:00 2001
|
||||
From: Omair Majid <omajid@redhat.com>
|
||||
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 @@
|
||||
<PropertyGroup>
|
||||
<CMakeDefinitionSaveFile>$(IntermediateOutputPath)..\cmake.definitions</CMakeDefinitionSaveFile>
|
||||
</PropertyGroup>
|
||||
- <Exec Command="python $(MSBuildThisFileDirectory)..\scripts\check-definitions.py "$(CMakeDefinitionSaveFile)" "$(DefineConstants)" "$(IgnoreDefineConstants)" " />
|
||||
+ <Exec Command=""$(PYTHON)" $(MSBuildThisFileDirectory)..\scripts\check-definitions.py "$(CMakeDefinitionSaveFile)" "$(DefineConstants)" "$(IgnoreDefineConstants)" " />
|
||||
</Target>
|
||||
<PropertyGroup Condition="'$(BuildOS)' == 'Windows_NT'">
|
||||
<EnableDotnetAnalyzers Condition="'$(EnableDotnetAnalyzers)'==''">true</EnableDotnetAnalyzers>
|
@ -1,38 +0,0 @@
|
||||
From 7e0608fee5cacbf5bf7d0c3886e2fcb1a9d10754 Mon Sep 17 00:00:00 2001
|
||||
From: Omair Majid <omajid@redhat.com>
|
||||
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
|
||||
|
@ -1,26 +0,0 @@
|
||||
From e7c6f87f54be723724a4c996d815d59b515b01a6 Mon Sep 17 00:00:00 2001
|
||||
From: Omair Majid <omajid@redhat.com>
|
||||
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()
|
402
SOURCES/coreclr-libunwind-fno-common.patch
Normal file
402
SOURCES/coreclr-libunwind-fno-common.patch
Normal file
@ -0,0 +1,402 @@
|
||||
From 29e17d8d2ccbca07c423e3089a6d5ae8a1c9cb6e Mon Sep 17 00:00:00 2001
|
||||
From: Yichao Yu <yyc1992@gmail.com>
|
||||
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;
|
||||
}
|
||||
|
@ -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 <omajid@redhat.com> - 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 <omajid@redhat.com> - 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 <omajid@redhat.com> - 2.1.519-2
|
||||
- Bump release
|
||||
- Resolves: RHBZ#1884080
|
||||
|
||||
* Thu Oct 01 2020 Omair Majid <omajid@redhat.com> - 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 <omajid@redhat.com> - 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 <omajid@redhat.com> - 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 <omajid@redhat.com> - 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 <omajid@redhat.com> - 2.1.515-2
|
||||
- Update to .NET Core SDK 2.1.515 and Runtime 2.1.19
|
||||
- Resolves: RHBZ#1843672
|
||||
|
Loading…
Reference in New Issue
Block a user