From a7a7369343a8762adfc5402425e3e922fbecaeab Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Wed, 2 Mar 2016 19:39:21 +0000 Subject: [PATCH] Revert "Do not do local unwinds through .oat or .dex maps." This reverts commit 4265ed7cc897c54c55bb18bb341859b5df0f4966. Workaround in libunwind instead: change-id I98be5754cc4de4071616db334dc0c9862d3a2504 Bug: 27391690 (cherry picked from commit 04dcb00ab7ee73c1b6e75fe6d4e02d1f854cd4cd) Change-Id: Id77dc081b655dc0fcb513ad0ee95221d91a301f9 --- libbacktrace/UnwindCurrent.cpp | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/libbacktrace/UnwindCurrent.cpp b/libbacktrace/UnwindCurrent.cpp index f985f528c..67e583f08 100644 --- a/libbacktrace/UnwindCurrent.cpp +++ b/libbacktrace/UnwindCurrent.cpp @@ -23,7 +23,6 @@ #define UNW_LOCAL_ONLY #include -#include #include #include "BacktraceLog.h" @@ -125,16 +124,6 @@ bool UnwindCurrent::UnwindFromContext(size_t num_ignore_frames, ucontext_t* ucon num_ignore_frames--; } } - - // For now, do not attempt to do local unwinds through .dex, or .oat - // maps. We can only unwind through these if there is a compressed - // section available, almost all local unwinds are done by ART - // which will dump the Java frames separately. - // TODO: Come up with a flag to control this. - if (android::base::EndsWith(frame->map.name, ".dex") - || android::base::EndsWith(frame->map.name, ".oat")) { - break; - } ret = unw_step (cursor.get()); } while (ret > 0 && num_frames < MAX_BACKTRACE_FRAMES);