summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChristopher Ferris <cferris@google.com>2017-03-23 00:53:18 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-03-23 00:53:18 +0000
commitcc99ba7ff55c734662703a7453bdd34adb37434c (patch)
tree86a56cfc38c9c0bd6dc9f49ad5f73172b9d8a55a /include
parentc0405200b80711a4d6be214e00f51e472ae08b36 (diff)
parenta06e1c9eefb50791f65fa9d68e5000f5ab9370a6 (diff)
downloadcore-cc99ba7ff55c734662703a7453bdd34adb37434c.tar.gz
Merge "Do not access device maps."
am: a06e1c9eef Change-Id: Id30b71a301953d8450bd66552a020437c5e91b94
Diffstat (limited to 'include')
-rw-r--r--include/backtrace/Backtrace.h6
-rw-r--r--include/backtrace/BacktraceMap.h4
2 files changed, 8 insertions, 2 deletions
diff --git a/include/backtrace/Backtrace.h b/include/backtrace/Backtrace.h
index c896ab806..4f73a658c 100644
--- a/include/backtrace/Backtrace.h
+++ b/include/backtrace/Backtrace.h
@@ -104,8 +104,10 @@ public:
virtual bool Unwind(size_t num_ignore_frames, ucontext_t* context = NULL) = 0;
// Get the function name and offset into the function given the pc.
- // If the string is empty, then no valid function name was found.
- virtual std::string GetFunctionName(uintptr_t pc, uintptr_t* offset);
+ // If the string is empty, then no valid function name was found,
+ // or the pc is not in any valid map.
+ virtual std::string GetFunctionName(uintptr_t pc, uintptr_t* offset,
+ const backtrace_map_t* map = NULL);
// Fill in the map data associated with the given pc.
virtual void FillInMap(uintptr_t pc, backtrace_map_t* map);
diff --git a/include/backtrace/BacktraceMap.h b/include/backtrace/BacktraceMap.h
index df48dfe2b..8ab0dfabb 100644
--- a/include/backtrace/BacktraceMap.h
+++ b/include/backtrace/BacktraceMap.h
@@ -33,6 +33,10 @@
#include <string>
#include <vector>
+// Special flag to indicate a map is in /dev/. However, a map in
+// /dev/ashmem/... does not set this flag.
+static constexpr int PROT_DEVICE_MAP = 0x8000;
+
struct backtrace_map_t {
uintptr_t start = 0;
uintptr_t end = 0;