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

Commit ea2185ac authored by Elliott Hughes's avatar Elliott Hughes Committed by Android Git Automerger
Browse files

am 91070a5e: am 5503f774: am 2c55b454: Merge "Switch to the new bionic fatal logging interface."

* commit '91070a5e':
  Switch to the new bionic fatal logging interface.
parents 00ff7e06 91070a5e
Loading
Loading
Loading
Loading
+7 −6
Original line number Diff line number Diff line
@@ -323,6 +323,13 @@ int __android_log_write(int prio, const char *tag, const char *msg)
            tag = tmp_tag;
    }

#if __BIONIC__
    if (prio == ANDROID_LOG_FATAL) {
        extern void __android_set_abort_message(const char*);
        __android_set_abort_message(msg);
    }
#endif

    vec[0].iov_base   = (unsigned char *) &prio;
    vec[0].iov_len    = 1;
    vec[1].iov_base   = (void *) tag;
@@ -422,14 +429,8 @@ void __android_log_assert(const char *cond, const char *tag,
            strcpy(buf, "Unspecified assertion failed");
    }

#if __BIONIC__
    // Ensure debuggerd gets to see what went wrong by keeping the C library in the loop.
    extern __noreturn void __android_fatal(const char* tag, const char* format, ...) __printflike(2, 3);
    __android_fatal(tag ? tag : "", "%s", buf);
#else
    __android_log_write(ANDROID_LOG_FATAL, tag, buf);
    __builtin_trap(); /* trap so we have a chance to debug the situation */
#endif
    /* NOTREACHED */
}

+7 −6
Original line number Diff line number Diff line
@@ -173,6 +173,13 @@ int __android_log_write(int prio, const char *tag, const char *msg)
            tag = tmp_tag;
    }

#if __BIONIC__
    if (prio == ANDROID_LOG_FATAL) {
        extern void __android_set_abort_message(const char*);
        __android_set_abort_message(msg);
    }
#endif

    vec[0].iov_base   = (unsigned char *) &prio;
    vec[0].iov_len    = 1;
    vec[1].iov_base   = (void *) tag;
@@ -272,14 +279,8 @@ void __android_log_assert(const char *cond, const char *tag,
            strcpy(buf, "Unspecified assertion failed");
    }

#if __BIONIC__
    // Ensure debuggerd gets to see what went wrong by keeping the C library in the loop.
    extern __noreturn void __android_fatal(const char* tag, const char* format, ...) __printflike(2, 3);
    __android_fatal(tag ? tag : "", "%s", buf);
#else
    __android_log_write(ANDROID_LOG_FATAL, tag, buf);
    __builtin_trap(); /* trap so we have a chance to debug the situation */
#endif
    /* NOTREACHED */
}