pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

coreclr-git: Experiment with stackunwinding



Module Name:	pkgsrc-wip
Committed By:	Kamil Rytarowski <n54%gmx.com@localhost>
Pushed By:	kamil
Date:		Sun Apr 24 10:56:42 2016 +0200
Changeset:	c70cb78051516aee780b92b4ba64738a34ce15bd

Modified Files:
	coreclr-git/distinfo
Added Files:
	coreclr-git/patches/patch-src_pal_src_exception_seh-unwind.cpp

Log Message:
coreclr-git: Experiment with stackunwinding

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=c70cb78051516aee780b92b4ba64738a34ce15bd

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 coreclr-git/distinfo                               |  1 +
 .../patch-src_pal_src_exception_seh-unwind.cpp     | 31 ++++++++++++++++++++++
 2 files changed, 32 insertions(+)

diffs:
diff --git a/coreclr-git/distinfo b/coreclr-git/distinfo
index 32af782..1603f74 100644
--- a/coreclr-git/distinfo
+++ b/coreclr-git/distinfo
@@ -1,3 +1,4 @@
 $NetBSD$
 
+SHA1 (patch-src_pal_src_exception_seh-unwind.cpp) = 29fc9269e8abb5dac244d61f5afb7e6e5f7a4d82
 SHA1 (patch-src_pal_src_thread_process.cpp) = fc73a635a66ef9dbda08ceed71343c70c651893e
diff --git a/coreclr-git/patches/patch-src_pal_src_exception_seh-unwind.cpp b/coreclr-git/patches/patch-src_pal_src_exception_seh-unwind.cpp
new file mode 100644
index 0000000..3b9ebfe
--- /dev/null
+++ b/coreclr-git/patches/patch-src_pal_src_exception_seh-unwind.cpp
@@ -0,0 +1,31 @@
+$NetBSD$
+
+--- src/pal/src/exception/seh-unwind.cpp.orig	2016-04-08 23:29:23.000000000 +0000
++++ src/pal/src/exception/seh-unwind.cpp
+@@ -226,7 +226,7 @@ BOOL PAL_VirtualUnwind(CONTEXT *context,
+     unw_context_t unwContext;
+     unw_cursor_t cursor;
+ 
+-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_ARM64_) || defined(_ARM_)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(_ARM64_) || defined(_ARM_)
+     DWORD64 curPc;
+ #endif
+ 
+@@ -262,7 +262,7 @@ BOOL PAL_VirtualUnwind(CONTEXT *context,
+     WinContextToUnwindCursor(context, &cursor);
+ #endif
+ 
+-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_ARM64_) || defined(_ARM_)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)  || defined(_ARM64_) || defined(_ARM_)
+     // OSX and FreeBSD appear to do two different things when unwinding
+     // 1: If it reaches where it cannot unwind anymore, say a 
+     // managed frame.  It wil return 0, but also update the $pc
+@@ -295,7 +295,7 @@ BOOL PAL_VirtualUnwind(CONTEXT *context,
+     // Update the passed in windows context to reflect the unwind
+     //
+     UnwindContextToWinContext(&cursor, context);
+-#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_ARM64_) || defined(_ARM_)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)  || defined(_ARM64_) || defined(_ARM_)
+     if (st == 0 && CONTEXTGetPC(context) == curPc)
+     {
+         CONTEXTSetPC(context, 0);


Home | Main Index | Thread Index | Old Index