diff options
author | Michael Wright <michaelwr@google.com> | 2014-06-20 16:19:58 -0700 |
---|---|---|
committer | Michael Wright <michaelwr@google.com> | 2014-06-24 17:14:26 -0700 |
commit | 80f596984e3a941353a7d179efdf86ff0181d412 (patch) | |
tree | 666af424ddbb98713087c750264add78d103b16b /debuggerd | |
parent | 077033391bf9dc9c73bbcebf011fc63a6501674b (diff) | |
download | system_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.cpp | 3 | ||||
-rwxr-xr-x | debuggerd/tombstone.cpp | 15 | ||||
-rw-r--r-- | debuggerd/utility.h | 16 |
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; |