summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchunseok lee <chunseok.lee@samsung.com>2017-10-12 02:06:58 (GMT)
committerchunseok lee <chunseok.lee@samsung.com>2017-10-12 02:07:39 (GMT)
commitabec0a29ea5d57a608b3b1e06057456716bdc85f (patch)
tree6bdb1c0dc563cf98883b2a9ea44a0999ea93fd44
parent7a8814009a8a48c4e4cbc1c775aba8893fa841c3 (diff)
downloadcoreclr-abec0a29ea5d57a608b3b1e06057456716bdc85f.zip
coreclr-abec0a29ea5d57a608b3b1e06057456716bdc85f.tar.gz
coreclr-abec0a29ea5d57a608b3b1e06057456716bdc85f.tar.bz2
Change-Id: Idd7e76bd1ff63c93fcef960f4ae373c2815d615e Signed-off-by: chunseok lee <chunseok.lee@samsung.com>
-rw-r--r--packaging/0001-Fix-assert-in-HelperMethodFrame-UpdateRegDisplay-142.patch51
-rw-r--r--packaging/0001-Fix-clrstack-command-of-lldb-sosplugin-on-x86-13973.patch287
-rw-r--r--packaging/0001-Fix-typo-in-SetDebuggerREGDISPLAYFromREGDISPLAY-1422.patch26
-rw-r--r--packaging/0001-Use-addresses-without-sign-extension-in-lldb-plugin-.patch100
-rw-r--r--packaging/coreclr.spec10
5 files changed, 473 insertions, 1 deletions
diff --git a/packaging/0001-Fix-assert-in-HelperMethodFrame-UpdateRegDisplay-142.patch b/packaging/0001-Fix-assert-in-HelperMethodFrame-UpdateRegDisplay-142.patch
new file mode 100644
index 0000000..a5af80e
--- /dev/null
+++ b/packaging/0001-Fix-assert-in-HelperMethodFrame-UpdateRegDisplay-142.patch
@@ -0,0 +1,51 @@
+From 1c963b8694365c7e31605fda0939fe7564c38716 Mon Sep 17 00:00:00 2001
+From: Konstantin Baladurin <k.baladurin@partner.samsung.com>
+Date: Fri, 29 Sep 2017 11:08:01 +0300
+Subject: [PATCH] Fix assert in HelperMethodFrame::UpdateRegDisplay (#14235)
+
+In some cases during execution of the SOS command 'clrstack -i'
+portability assert in HelperMethodFrame::UpdateRegDisplay occurs.
+This patch removes this assert and adds corresponding implementation.
+---
+ src/vm/i386/cgenx86.cpp | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+diff --git a/src/vm/i386/cgenx86.cpp b/src/vm/i386/cgenx86.cpp
+index ca81bb7..b4277db 100644
+--- a/src/vm/i386/cgenx86.cpp
++++ b/src/vm/i386/cgenx86.cpp
+@@ -379,7 +379,30 @@ void HelperMethodFrame::UpdateRegDisplay(const PREGDISPLAY pRD)
+ pRD->IsCallerSPValid = FALSE; // Don't add usage of this field. This is only temporary.
+
+ #ifdef DACCESS_COMPILE
+- PORTABILITY_ASSERT("HelperMethodFrame::UpdateRegDisplay");
++ // For DAC, we may get here when the HMF is still uninitialized.
++ // So we may need to unwind here.
++ if (!m_MachState.isValid())
++ {
++ // This allocation throws on OOM.
++ MachState* pUnwoundState = (MachState*)DacAllocHostOnlyInstance(sizeof(*pUnwoundState), true);
++
++ InsureInit(false, pUnwoundState);
++
++ pRD->pCurrentContext->Eip = pRD->ControlPC = pUnwoundState->GetRetAddr();
++ pRD->pCurrentContext->Esp = pRD->SP = pUnwoundState->esp();
++
++#define CALLEE_SAVED_REGISTER(regname) pRD->pCurrentContext->regname = *((DWORD*) pUnwoundState->p##regname());
++ ENUM_CALLEE_SAVED_REGISTERS();
++#undef CALLEE_SAVED_REGISTER
++
++#define CALLEE_SAVED_REGISTER(regname) pRD->pCurrentContextPointers->regname = (DWORD*) pUnwoundState->p##regname();
++ ENUM_CALLEE_SAVED_REGISTERS();
++#undef CALLEE_SAVED_REGISTER
++
++ ClearRegDisplayArgumentAndScratchRegisters(pRD);
++
++ return;
++ }
+ #endif // DACCESS_COMPILE
+
+ pRD->pCurrentContext->Eip = pRD->ControlPC = m_MachState.GetRetAddr();
+--
+2.7.4
+
diff --git a/packaging/0001-Fix-clrstack-command-of-lldb-sosplugin-on-x86-13973.patch b/packaging/0001-Fix-clrstack-command-of-lldb-sosplugin-on-x86-13973.patch
new file mode 100644
index 0000000..3e78100
--- /dev/null
+++ b/packaging/0001-Fix-clrstack-command-of-lldb-sosplugin-on-x86-13973.patch
@@ -0,0 +1,287 @@
+From e287cde7c10795853e1c5504ef0bdffd62d696dc Mon Sep 17 00:00:00 2001
+From: Konstantin Baladurin <k.baladurin@partner.samsung.com>
+Date: Thu, 5 Oct 2017 11:31:44 +0300
+Subject: [PATCH] Fix clrstack command of lldb sosplugin on x86 (#13973)
+
+* [x86/Linux][SOS] Add support for x86 in GetContextFromFrame
+
+It's need for 'clrstack -f' command of SOS plugin on x86.
+
+* [x86/Linux] Fix RtlpGetFunctionEndAddress function
+
+We should use PTR_UNWIND_INFO instead of PUNWIND_INFO for pointer to
+UNWIND_INFO structure because it's pointer from other process and
+we need to use DAC to read data using it.
+
+* [x86/Linux][SOS] Define DEBUG_STACK_CONTEXT for x86
+
+It's needed for 'clrstack -f' command in libsosplugin.
+
+* [x86/Linux] Fix undefined references in libmscordbi.so on x86
+
+Asm block like following:
+__asm fnsave currentFPUState
+
+where currentFPUState is structure works with MSVC but leads to
+undefined reference currentFPUState in the binary with other
+compilers. So rewrite such asm blocks for them.
+
+This patch fixes error "Unable to load 'libmscordbi.so'" during
+execution of 'clrstack -f' command of SOS plugin on x86.
+
+* [x86/Linux] Fix calling convention inconsistency
+
+WINAPI and STDAPI are defined as __cdecl but in some cases functions
+with these attributes are called using stdcall calling convention.
+
+It leads to crashes during execution of 'clrstack -i' command of
+SOS plugin on x86.
+---
+ src/ToolBox/SOS/Strike/strike.cpp | 4 +++-
+ src/ToolBox/SOS/lldbplugin/services.cpp | 19 +++++++++++++++++
+ src/debug/di/rsthread.cpp | 30 ++++++++++++++++++++++++++-
+ src/debug/di/valuehome.cpp | 36 +++++++++++++++++++++++++++++++++
+ src/debug/shim/debugshim.cpp | 4 ++--
+ src/dlls/mscordbi/mscordbi.cpp | 2 +-
+ src/inc/clrnt.h | 2 +-
+ 7 files changed, 91 insertions(+), 6 deletions(-)
+
+diff --git a/src/ToolBox/SOS/Strike/strike.cpp b/src/ToolBox/SOS/Strike/strike.cpp
+index 2e20b28..6d659f9 100644
+--- a/src/ToolBox/SOS/Strike/strike.cpp
++++ b/src/ToolBox/SOS/Strike/strike.cpp
+@@ -324,7 +324,9 @@ DECLARE_API(IP2MD)
+ #define DEBUG_STACK_CONTEXT AMD64_CONTEXT
+ #elif defined(_TARGET_ARM_) // _TARGET_WIN64_
+ #define DEBUG_STACK_CONTEXT ARM_CONTEXT
+-#endif // _TARGET_ARM_
++#elif defined(_TARGET_X86_) // _TARGET_ARM_
++#define DEBUG_STACK_CONTEXT X86_CONTEXT
++#endif // _TARGET_X86_
+
+ #ifdef DEBUG_STACK_CONTEXT
+ // I use a global set of frames for stack walking on win64 because the debugger's
+diff --git a/src/ToolBox/SOS/lldbplugin/services.cpp b/src/ToolBox/SOS/lldbplugin/services.cpp
+index e3eee4f..262f814 100644
+--- a/src/ToolBox/SOS/lldbplugin/services.cpp
++++ b/src/ToolBox/SOS/lldbplugin/services.cpp
+@@ -1554,6 +1554,25 @@ LLDBServices::GetContextFromFrame(
+ dtcontext->R10 = GetRegister(frame, "r10");
+ dtcontext->R11 = GetRegister(frame, "r11");
+ dtcontext->R12 = GetRegister(frame, "r12");
++#elif DBG_TARGET_X86
++ dtcontext->Eip = frame.GetPC();
++ dtcontext->Esp = frame.GetSP();
++ dtcontext->Ebp = frame.GetFP();
++ dtcontext->EFlags = GetRegister(frame, "eflags");
++
++ dtcontext->Edi = GetRegister(frame, "edi");
++ dtcontext->Esi = GetRegister(frame, "esi");
++ dtcontext->Ebx = GetRegister(frame, "ebx");
++ dtcontext->Edx = GetRegister(frame, "edx");
++ dtcontext->Ecx = GetRegister(frame, "ecx");
++ dtcontext->Eax = GetRegister(frame, "eax");
++
++ dtcontext->SegCs = GetRegister(frame, "cs");
++ dtcontext->SegSs = GetRegister(frame, "ss");
++ dtcontext->SegDs = GetRegister(frame, "ds");
++ dtcontext->SegEs = GetRegister(frame, "es");
++ dtcontext->SegFs = GetRegister(frame, "fs");
++ dtcontext->SegGs = GetRegister(frame, "gs");
+ #endif
+ }
+
+diff --git a/src/debug/di/rsthread.cpp b/src/debug/di/rsthread.cpp
+index 02fae00..aa85de8 100644
+--- a/src/debug/di/rsthread.cpp
++++ b/src/debug/di/rsthread.cpp
+@@ -1471,7 +1471,15 @@ void CordbThread::Get32bitFPRegisters(CONTEXT * pContext)
+
+ FLOATING_SAVE_AREA currentFPUState;
+
++#ifdef _MSC_VER
+ __asm fnsave currentFPUState // save the current FPU state.
++#else
++ __asm__ __volatile__
++ (
++ " fnsave %0\n" \
++ : "=m"(currentFPUState)
++ );
++#endif
+
+ floatarea.StatusWord &= 0xFF00; // remove any error codes.
+ floatarea.ControlWord |= 0x3F; // mask all exceptions.
+@@ -1482,12 +1490,22 @@ void CordbThread::Get32bitFPRegisters(CONTEXT * pContext)
+ // @dbgtodo Microsoft crossplat: the conversion from a series of bytes to a floating
+ // point value will need to be done with an explicit conversion routine to unpack
+ // the IEEE format and compute the real number value represented.
+-
++
++#ifdef _MSC_VER
+ __asm
+ {
+ fninit
+ frstor floatarea ;; reload the threads FPU state.
+ }
++#else
++ __asm__
++ (
++ " fninit\n" \
++ " frstor %0\n" \
++ : /* no outputs */
++ : "m"(floatarea)
++ );
++#endif
+
+ unsigned int i;
+
+@@ -1498,11 +1516,21 @@ void CordbThread::Get32bitFPRegisters(CONTEXT * pContext)
+ m_floatValues[i] = td;
+ }
+
++#ifdef _MSC_VER
+ __asm
+ {
+ fninit
+ frstor currentFPUState ;; restore our saved FPU state.
+ }
++#else
++ __asm__
++ (
++ " fninit\n" \
++ " frstor %0\n" \
++ : /* no outputs */
++ : "m"(currentFPUState)
++ );
++#endif
+
+ m_fFloatStateValid = true;
+ m_floatStackTop = floatStackTop;
+diff --git a/src/debug/di/valuehome.cpp b/src/debug/di/valuehome.cpp
+index 837afd5..6cae8c1 100644
+--- a/src/debug/di/valuehome.cpp
++++ b/src/debug/di/valuehome.cpp
+@@ -481,18 +481,36 @@ void FloatRegValueHome::SetEnregisteredValue(MemoryRange newValue,
+ // restore our original state.
+ DT_FLOATING_SAVE_AREA currentFPUState;
+
++ #ifdef _MSC_VER
+ __asm fnsave currentFPUState // save the current FPU state.
++ #else
++ __asm__ __volatile__
++ (
++ " fnsave %0\n" \
++ : "=m"(currentFPUState)
++ );
++ #endif
+
+ // Copy the state out of the context.
+ DT_FLOATING_SAVE_AREA floatarea = pContext->FloatSave;
+ floatarea.StatusWord &= 0xFF00; // remove any error codes.
+ floatarea.ControlWord |= 0x3F; // mask all exceptions.
+
++ #ifdef _MSC_VER
+ __asm
+ {
+ fninit
+ frstor floatarea ;; reload the threads FPU state.
+ }
++ #else
++ __asm__
++ (
++ " fninit\n" \
++ " frstor %0\n" \
++ : /* no outputs */
++ : "m"(floatarea)
++ );
++ #endif
+
+ double td; // temp double
+ double popArea[DebuggerIPCE_FloatCount];
+@@ -519,17 +537,35 @@ void FloatRegValueHome::SetEnregisteredValue(MemoryRange newValue,
+ }
+
+ // Save out the modified float area.
++ #ifdef _MSC_VER
+ __asm fnsave floatarea
++ #else
++ __asm__ __volatile__
++ (
++ " fnsave %0\n" \
++ : "=m"(floatarea)
++ );
++ #endif
+
+ // Put it into the context.
+ pContext->FloatSave= floatarea;
+
+ // Restore our FPU state
++ #ifdef _MSC_VER
+ __asm
+ {
+ fninit
+ frstor currentFPUState ;; restore our saved FPU state.
+ }
++ #else
++ __asm__
++ (
++ " fninit\n" \
++ " frstor %0\n" \
++ : /* no outputs */
++ : "m"(currentFPUState)
++ );
++ #endif
+ #endif // DBG_TARGET_X86
+
+ // update the thread's floating point stack
+diff --git a/src/debug/shim/debugshim.cpp b/src/debug/shim/debugshim.cpp
+index 03b9c5f..08f1ec5 100644
+--- a/src/debug/shim/debugshim.cpp
++++ b/src/debug/shim/debugshim.cpp
+@@ -38,7 +38,7 @@
+ // CLRDebuggingImpl implementation (ICLRDebugging)
+ //*****************************************************************************
+
+-typedef HRESULT (__stdcall *OpenVirtualProcessImplFnPtr)(ULONG64 clrInstanceId,
++typedef HRESULT (STDAPICALLTYPE *OpenVirtualProcessImplFnPtr)(ULONG64 clrInstanceId,
+ IUnknown * pDataTarget,
+ HMODULE hDacDll,
+ CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion,
+@@ -46,7 +46,7 @@ typedef HRESULT (__stdcall *OpenVirtualProcessImplFnPtr)(ULONG64 clrInstanceId,
+ IUnknown ** ppInstance,
+ CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);
+
+-typedef HRESULT (__stdcall *OpenVirtualProcess2FnPtr)(ULONG64 clrInstanceId,
++typedef HRESULT (STDAPICALLTYPE *OpenVirtualProcess2FnPtr)(ULONG64 clrInstanceId,
+ IUnknown * pDataTarget,
+ HMODULE hDacDll,
+ REFIID riid,
+diff --git a/src/dlls/mscordbi/mscordbi.cpp b/src/dlls/mscordbi/mscordbi.cpp
+index 4ef92c7..0197d13 100644
+--- a/src/dlls/mscordbi/mscordbi.cpp
++++ b/src/dlls/mscordbi/mscordbi.cpp
+@@ -11,7 +11,7 @@
+ //*****************************************************************************
+ #include "stdafx.h"
+
+-extern BOOL STDMETHODCALLTYPE DbgDllMain(HINSTANCE hInstance, DWORD dwReason,
++extern BOOL WINAPI DbgDllMain(HINSTANCE hInstance, DWORD dwReason,
+ LPVOID lpReserved);
+
+ //*****************************************************************************
+diff --git a/src/inc/clrnt.h b/src/inc/clrnt.h
+index ebea066..487a370 100644
+--- a/src/inc/clrnt.h
++++ b/src/inc/clrnt.h
+@@ -862,7 +862,7 @@ RtlpGetFunctionEndAddress (
+ __in TADDR ImageBase
+ )
+ {
+- PUNWIND_INFO pUnwindInfo = (PUNWIND_INFO)(ImageBase + FunctionEntry->UnwindData);
++ PTR_UNWIND_INFO pUnwindInfo = (PTR_UNWIND_INFO)(ImageBase + FunctionEntry->UnwindData);
+
+ return FunctionEntry->BeginAddress + pUnwindInfo->FunctionLength;
+ }
+--
+2.7.4
+
diff --git a/packaging/0001-Fix-typo-in-SetDebuggerREGDISPLAYFromREGDISPLAY-1422.patch b/packaging/0001-Fix-typo-in-SetDebuggerREGDISPLAYFromREGDISPLAY-1422.patch
new file mode 100644
index 0000000..e592492
--- /dev/null
+++ b/packaging/0001-Fix-typo-in-SetDebuggerREGDISPLAYFromREGDISPLAY-1422.patch
@@ -0,0 +1,26 @@
+From 3d68d13de3e2bb0a2a8f4a97d2874b0bd0ffc210 Mon Sep 17 00:00:00 2001
+From: Konstantin Baladurin <k.baladurin@partner.samsung.com>
+Date: Thu, 28 Sep 2017 19:26:39 +0300
+Subject: [PATCH] Fix typo in SetDebuggerREGDISPLAYFromREGDISPLAY (#14221)
+
+Fix typo in SetDebuggerREGDISPLAYFromREGDISPLAY: Esi -> Eax.
+---
+ src/debug/shared/i386/primitives.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/debug/shared/i386/primitives.cpp b/src/debug/shared/i386/primitives.cpp
+index ab22a5d..6152aa2 100644
+--- a/src/debug/shared/i386/primitives.cpp
++++ b/src/debug/shared/i386/primitives.cpp
+@@ -93,7 +93,7 @@ void SetDebuggerREGDISPLAYFromREGDISPLAY(DebuggerREGDISPLAY* pDRD, REGDISPLAY* p
+ pDRD->Ebx = (pRD->GetEbxLocation() == NULL ? 0 : *pRD->GetEbxLocation());
+ pDRD->Edx = (pRD->GetEdxLocation() == NULL ? 0 : *pRD->GetEdxLocation());
+ pDRD->Ecx = (pRD->GetEcxLocation() == NULL ? 0 : *pRD->GetEcxLocation());
+- pDRD->Eax = (pRD->GetEsiLocation() == NULL ? 0 : *pRD->GetEaxLocation());
++ pDRD->Eax = (pRD->GetEaxLocation() == NULL ? 0 : *pRD->GetEaxLocation());
+
+ #if defined(USE_REMOTE_REGISTER_ADDRESS)
+ pDRD->pFP = PushedRegAddr(pRD, FPAddress);
+--
+2.7.4
+
diff --git a/packaging/0001-Use-addresses-without-sign-extension-in-lldb-plugin-.patch b/packaging/0001-Use-addresses-without-sign-extension-in-lldb-plugin-.patch
new file mode 100644
index 0000000..e6dbc5d
--- /dev/null
+++ b/packaging/0001-Use-addresses-without-sign-extension-in-lldb-plugin-.patch
@@ -0,0 +1,100 @@
+From 388e7b4e98367cbdf03858817da7d756ea4247a3 Mon Sep 17 00:00:00 2001
+From: Konstantin Baladurin <k.baladurin@partner.samsung.com>
+Date: Tue, 3 Oct 2017 21:28:06 +0300
+Subject: [PATCH] Use addresses without sign extension in lldb plugin (#14009)
+
+lldb doesn't expect sign-extended addresses so we need to convert
+them before using with lldb API.
+
+This patch allows to use SOS plugin for core files in lldb on 32-bit
+platforms and also fixes output of the 'clrstack -f' command.
+---
+ src/ToolBox/SOS/lldbplugin/services.cpp | 23 +++++++++++++++++++++++
+ 1 file changed, 23 insertions(+)
+
+diff --git a/src/ToolBox/SOS/lldbplugin/services.cpp b/src/ToolBox/SOS/lldbplugin/services.cpp
+index 262f814..3186920 100644
+--- a/src/ToolBox/SOS/lldbplugin/services.cpp
++++ b/src/ToolBox/SOS/lldbplugin/services.cpp
+@@ -8,6 +8,8 @@
+ #include <string.h>
+ #include <string>
+
++#define CONVERT_FROM_SIGN_EXTENDED(offset) ((ULONG_PTR)(offset))
++
+ ULONG g_currentThreadIndex = -1;
+ ULONG g_currentThreadSystemId = -1;
+ char *g_coreclrDirectory;
+@@ -545,6 +547,9 @@ LLDBServices::Disassemble(
+ uint8_t byte;
+ int cch;
+
++ // lldb doesn't expect sign-extended address
++ offset = CONVERT_FROM_SIGN_EXTENDED(offset);
++
+ if (buffer == NULL)
+ {
+ hr = E_INVALIDARG;
+@@ -750,6 +755,9 @@ LLDBServices::ReadVirtual(
+ lldb::SBError error;
+ size_t read = 0;
+
++ // lldb doesn't expect sign-extended address
++ offset = CONVERT_FROM_SIGN_EXTENDED(offset);
++
+ lldb::SBProcess process = GetCurrentProcess();
+ if (!process.IsValid())
+ {
+@@ -776,6 +784,9 @@ LLDBServices::WriteVirtual(
+ lldb::SBError error;
+ size_t written = 0;
+
++ // lldb doesn't expect sign-extended address
++ offset = CONVERT_FROM_SIGN_EXTENDED(offset);
++
+ lldb::SBProcess process = GetCurrentProcess();
+ if (!process.IsValid())
+ {
+@@ -822,6 +833,9 @@ LLDBServices::GetNameByOffset(
+ lldb::SBSymbol symbol;
+ std::string str;
+
++ // lldb doesn't expect sign-extended address
++ offset = CONVERT_FROM_SIGN_EXTENDED(offset);
++
+ target = m_debugger.GetSelectedTarget();
+ if (!target.IsValid())
+ {
+@@ -1012,6 +1026,9 @@ LLDBServices::GetModuleByOffset(
+ lldb::SBTarget target;
+ int numModules;
+
++ // lldb doesn't expect sign-extended address
++ offset = CONVERT_FROM_SIGN_EXTENDED(offset);
++
+ target = m_debugger.GetSelectedTarget();
+ if (!target.IsValid())
+ {
+@@ -1076,6 +1093,9 @@ LLDBServices::GetModuleNames(
+ lldb::SBFileSpec fileSpec;
+ HRESULT hr = S_OK;
+
++ // lldb doesn't expect sign-extended address
++ base = CONVERT_FROM_SIGN_EXTENDED(base);
++
+ target = m_debugger.GetSelectedTarget();
+ if (!target.IsValid())
+ {
+@@ -1167,6 +1187,9 @@ LLDBServices::GetLineByOffset(
+ lldb::SBLineEntry lineEntry;
+ std::string str;
+
++ // lldb doesn't expect sign-extended address
++ offset = CONVERT_FROM_SIGN_EXTENDED(offset);
++
+ target = m_debugger.GetSelectedTarget();
+ if (!target.IsValid())
+ {
+--
+2.7.4
+
diff --git a/packaging/coreclr.spec b/packaging/coreclr.spec
index 18de9a8..acebdf8 100644
--- a/packaging/coreclr.spec
+++ b/packaging/coreclr.spec
@@ -23,7 +23,7 @@ Source1000: downloaded_files.tar.gz
Source1001: %{name}.manifest
Source1002: libicu.tar.gz
Source1003: dep_libs.tar.gz
-# Gbp-Ignore-Patches: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
+# Gbp-Ignore-Patches: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
Patch0: 0001-Add-project.assets.json-files.patch
Patch1: 0001-ARM-Linux-Support-unaligned-struct-read-write-11290.patch
Patch2: 0002-x86-Linux-Thread-safe-UMThunkMarshInfo-RunTimeInit-1.patch
@@ -58,6 +58,10 @@ Patch30: 0029-Fix-calculation-of-debuginfo-s-size.-13899.patch
Patch31: 0030-Force-O3-build-with-clang3.8.patch
Patch32: 0031-Port-to-2.0.0-Fix-ARM32-secure-delegate-bug.patch
Patch33: 0032-Disable-VSD-Stub-Kind-Prediction-on-H-W-Exception-14.patch
+Patch34: 0001-Fix-assert-in-HelperMethodFrame-UpdateRegDisplay-142.patch
+Patch35: 0001-Fix-clrstack-command-of-lldb-sosplugin-on-x86-13973.patch
+Patch36: 0001-Fix-typo-in-SetDebuggerREGDISPLAYFromREGDISPLAY-1422.patch
+Patch37: 0001-Use-addresses-without-sign-extension-in-lldb-plugin-.patch
ExcludeArch: aarch64
@@ -191,6 +195,10 @@ cp %{SOURCE1001} .
%patch31 -p1
%patch32 -p1
%patch33 -p1
+%patch34 -p1
+%patch35 -p1
+%patch36 -p1
+%patch37 -p1
%if 0%{skipmscorlib}
%else