summaryrefslogtreecommitdiffstats
path: root/debuggerd
diff options
context:
space:
mode:
authorMichael Wright <michaelwr@google.com>2014-06-20 16:19:58 -0700
committerMichael Wright <michaelwr@google.com>2014-06-24 17:14:26 -0700
commit80f596984e3a941353a7d179efdf86ff0181d412 (patch)
tree666af424ddbb98713087c750264add78d103b16b /debuggerd
parent077033391bf9dc9c73bbcebf011fc63a6501674b (diff)
downloadsystem_core-80f596984e3a941353a7d179efdf86ff0181d412.zip
system_core-80f596984e3a941353a7d179efdf86ff0181d412.tar.gz
system_core-80f596984e3a941353a7d179efdf86ff0181d412.tar.bz2
Print ABI in backtraces.
This lets the stack tool figure out which toolchain to use automatically. Change-Id: Ia235d6904622423fe6fbc7b0315a1861e52a41ad
Diffstat (limited to 'debuggerd')
-rw-r--r--debuggerd/backtrace.cpp3
-rwxr-xr-xdebuggerd/tombstone.cpp15
-rw-r--r--debuggerd/utility.h16
3 files changed, 18 insertions, 16 deletions
diff --git a/debuggerd/backtrace.cpp b/debuggerd/backtrace.cpp
index 50bc167..c4a2143 100644
--- a/debuggerd/backtrace.cpp
+++ b/debuggerd/backtrace.cpp
@@ -49,8 +49,9 @@ static void dump_process_header(log_t* log, pid_t pid) {
struct tm tm;
localtime_r(&t, &tm);
char timestr[64];
+ _LOG(log, logtype::BACKTRACE, "\n\nABI: '%s'\n", ABI_STRING);
strftime(timestr, sizeof(timestr), "%F %T", &tm);
- _LOG(log, logtype::BACKTRACE, "\n\n----- pid %d at %s -----\n", pid, timestr);
+ _LOG(log, logtype::BACKTRACE, "\n----- pid %d at %s -----\n", pid, timestr);
if (procname) {
_LOG(log, logtype::BACKTRACE, "Cmd line: %s\n", procname);
diff --git a/debuggerd/tombstone.cpp b/debuggerd/tombstone.cpp
index 7482886..a58d9e5 100755
--- a/debuggerd/tombstone.cpp
+++ b/debuggerd/tombstone.cpp
@@ -58,21 +58,6 @@
// Must match the path defined in NativeCrashListener.java
#define NCRASH_SOCKET_PATH "/data/system/ndebugsocket"
-// Figure out the abi based on defined macros.
-#if defined(__arm__)
-#define ABI_STRING "arm"
-#elif defined(__aarch64__)
-#define ABI_STRING "arm64"
-#elif defined(__mips__)
-#define ABI_STRING "mips"
-#elif defined(__i386__)
-#define ABI_STRING "x86"
-#elif defined(__x86_64__)
-#define ABI_STRING "x86_64"
-#else
-#error "Unsupported ABI"
-#endif
-
static bool signal_has_si_addr(int sig) {
switch (sig) {
case SIGBUS:
diff --git a/debuggerd/utility.h b/debuggerd/utility.h
index ee4f035..f2e2d29 100644
--- a/debuggerd/utility.h
+++ b/debuggerd/utility.h
@@ -21,6 +21,22 @@
#include <stdbool.h>
#include <sys/types.h>
+// Figure out the abi based on defined macros.
+#if defined(__arm__)
+#define ABI_STRING "arm"
+#elif defined(__aarch64__)
+#define ABI_STRING "arm64"
+#elif defined(__mips__)
+#define ABI_STRING "mips"
+#elif defined(__i386__)
+#define ABI_STRING "x86"
+#elif defined(__x86_64__)
+#define ABI_STRING "x86_64"
+#else
+#error "Unsupported ABI"
+#endif
+
+
typedef struct {
/* tombstone file descriptor */
int tfd;