Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 949bd4c2 authored by Michael Wright's avatar Michael Wright Committed by Gerrit Code Review
Browse files

Merge "Print ABI in backtraces."

parents 07703339 80f59698
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -49,8 +49,9 @@ static void dump_process_header(log_t* log, pid_t pid) {
  struct tm tm;
  struct tm tm;
  localtime_r(&t, &tm);
  localtime_r(&t, &tm);
  char timestr[64];
  char timestr[64];
  _LOG(log, logtype::BACKTRACE, "\n\nABI: '%s'\n", ABI_STRING);
  strftime(timestr, sizeof(timestr), "%F %T", &tm);
  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) {
  if (procname) {
    _LOG(log, logtype::BACKTRACE, "Cmd line: %s\n", procname);
    _LOG(log, logtype::BACKTRACE, "Cmd line: %s\n", procname);
+0 −15
Original line number Original line Diff line number Diff line
@@ -58,21 +58,6 @@
// Must match the path defined in NativeCrashListener.java
// Must match the path defined in NativeCrashListener.java
#define NCRASH_SOCKET_PATH "/data/system/ndebugsocket"
#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) {
static bool signal_has_si_addr(int sig) {
  switch (sig) {
  switch (sig) {
    case SIGBUS:
    case SIGBUS:
+16 −0
Original line number Original line Diff line number Diff line
@@ -21,6 +21,22 @@
#include <stdbool.h>
#include <stdbool.h>
#include <sys/types.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 {
typedef struct {
    /* tombstone file descriptor */
    /* tombstone file descriptor */
    int tfd;
    int tfd;