Revision 4fab72b272d0dbaa6f9dd658daaa9b3709198c24 authored by Brendan Tracey on 15 September 2015, 04:04:46 UTC, committed by Jiahao Chen (陈家豪) on 19 September 2015, 04:33:52 UTC
Cherry-picked and squashed from commits:

- 992e61d2d4f7f28b9a860b59a1d158325659f568
- 92d6879dfc31e68c724117f28ab6aeb637e85ade
- a2b66acc2ae671556cc012728b9b55a68a178af2

Ref: #13133

Thanks @btracey
1 parent 9a9c723
Raw File
libunwind.patch
From e1d7c78d95e4b73a311f10149d0a54547d307d5d Mon Sep 17 00:00:00 2001
From: Kevin Modzelewski <kmod@dropbox.com>
Date: Tue, 22 Apr 2014 15:50:40 -0700
Subject: [PATCH] Change the RBP-validation heuristic to allow size-0 call frames

---
diff --git a/src/x86_64/Gstep.c b/src/x86_64/Gstep.c
index 9fa0967..809d60b 100644
--- a/src/x86_64/Gstep.c
+++ b/src/x86_64/Gstep.c
@@ -173,7 +173,7 @@ unw_step (unw_cursor_t *cursor)
 		 anything about new RBP (rbp1) since it may not be a frame
 		 pointer in the frame above.  Just check we get the value. */
               if (ret < 0
-		  || rbp <= c->dwarf.cfa
+		  || rbp < c->dwarf.cfa
 		  || (rbp - c->dwarf.cfa) > 0x4000)
 	        {
                   rip_loc = DWARF_NULL_LOC;
-- 
1.7.4.1

back to top