Revert "Do not do local unwinds through .oat or .dex maps."

This reverts commit 4265ed7cc8.

Workaround in libunwind instead: change-id I98be5754cc4de4071616db334dc0c9862d3a2504

Bug: 27391690
Change-Id: Id77dc081b655dc0fcb513ad0ee95221d91a301f9
This commit is contained in:
Andreas Gampe 2016-03-02 19:39:21 +00:00
parent 4265ed7cc8
commit 04dcb00ab7

View file

@ -23,7 +23,6 @@
#define UNW_LOCAL_ONLY
#include <libunwind.h>
#include <android-base/strings.h>
#include <backtrace/Backtrace.h>
#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);