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

Commit 95f7dae8 authored by Mitch Phillips's avatar Mitch Phillips Committed by android-build-merger
Browse files

Merge "Add variadic logging to libdebuggerd internal."

am: 82a31b87

Change-Id: I87e71554de11b3ff5cfc5b2a8bbb6882fa5849c2
parents b711442f 82a31b87
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include <inttypes.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <sys/types.h>

@@ -71,6 +72,7 @@ typedef uint32_t word_t;

// Log information onto the tombstone.
void _LOG(log_t* log, logtype ltype, const char* fmt, ...) __attribute__((format(printf, 3, 4)));
void _VLOG(log_t* log, logtype ltype, const char* fmt, va_list ap);

namespace unwindstack {
class Unwinder;
+8 −3
Original line number Diff line number Diff line
@@ -67,6 +67,14 @@ static bool should_write_to_kmsg() {

__attribute__((__weak__, visibility("default")))
void _LOG(log_t* log, enum logtype ltype, const char* fmt, ...) {
  va_list ap;
  va_start(ap, fmt);
  _VLOG(log, ltype, fmt, ap);
  va_end(ap);
}

__attribute__((__weak__, visibility("default")))
void _VLOG(log_t* log, enum logtype ltype, const char* fmt, va_list ap) {
  bool write_to_tombstone = (log->tfd != -1);
  bool write_to_logcat = is_allowed_in_logcat(ltype)
                      && log->crashed_tid != -1
@@ -75,10 +83,7 @@ void _LOG(log_t* log, enum logtype ltype, const char* fmt, ...) {
  static bool write_to_kmsg = should_write_to_kmsg();

  std::string msg;
  va_list ap;
  va_start(ap, fmt);
  android::base::StringAppendV(&msg, fmt, ap);
  va_end(ap);

  if (msg.empty()) return;