Commit Graph

151 Commits

Author SHA1 Message Date
Mark Salyzyn e49a116657 am d007b59f: am 44bec3ad: am 6f3f7d71: Merge "debuggerd: turn on -Werror"
* commit 'd007b59ffa7800fa12e80fa3a070d6e6fe477ae0':
  debuggerd: turn on -Werror
2014-05-02 22:18:21 +00:00
Mark Salyzyn f1a8dfa0eb debuggerd: turn on -Werror
- Deal with some -Wunused / -Wunused-variable issues

Change-Id: I39849fe30170f69d1cab7d4ad2629b3a49e14ee7
2014-05-02 14:16:00 -07:00
Elliott Hughes 84a445b4f5 am 29941ec8: am f8db4afb: am ab3d49b0: Merge "Use the si_code value bionic passes us."
* commit '29941ec81705bdcad2b43f0059e1288304c523e8':
  Use the si_code value bionic passes us.
2014-04-26 03:33:27 +00:00
Elliott Hughes 855fcc3114 Use the si_code value bionic passes us.
Bionic needs to re-raise various signals, which means the si_code
debuggerd sees has been clobbered. If bionic sends us the original
si_code value, we can use that instead of the one we see when the
ptrace the crashed process' siginfo.

Change-Id: If116a6bc667d55a6fb39b74f96673292af4e4c8c
2014-04-25 20:20:39 -07:00
Elliott Hughes a92330c7e2 am b791f04c: am e5d38ad8: am dc5442c0: Merge "Add missing si_code values to debuggerd."
* commit 'b791f04c02af8ae7058b8d597d601e4e94ceb8e0':
  Add missing si_code values to debuggerd.
2014-04-24 23:22:49 +00:00
Elliott Hughes bd395b9a14 Add missing si_code values to debuggerd.
Also add static_asserts so we'll be notified if any more new ones show up.

Change-Id: I3a502dd4da35354e1ac65865191d31ccdacef298
2014-04-24 13:53:22 -07:00
Elliott Hughes cef3eff0d9 am 6d7a2ee4: am b1bcd9c3: am 6798914b: Merge "Improve liblog\'s fatal logging."
* commit '6d7a2ee4e8b590071042ae424a3e8c951f198a8f':
  Improve liblog's fatal logging.
2014-04-24 20:52:48 +00:00
Elliott Hughes da6b2e2fd7 Improve liblog's fatal logging.
This makes LOG_ALWAYS_FATAL and LOG_ALWAYS_FATAL_IF as good as regular
assert(3).

Change-Id: I0666684d30cae7baf23c64b33d35c1e43f81acf0
2014-04-24 13:28:24 -07:00
Mark Salyzyn 297c19d75f am f7770d59: am 19697f3e: am 3ad0af6d: Merge "logd: liblog: logcat: debuggerd: Add LOG_ID_CRASH"
* commit 'f7770d59dfdc5b3b6fe94f167636b75c1c5d4a81':
  logd: liblog: logcat: debuggerd: Add LOG_ID_CRASH
2014-04-17 23:33:50 +00:00
Mark Salyzyn 99f47a9e7c logd: liblog: logcat: debuggerd: Add LOG_ID_CRASH
Change-Id: Iea453764a1a4fc1661f461f10c641c30150e4d20
2014-04-16 15:38:50 -07:00
Colin Cross 66d4797673 am 47de0060: am bd514144: am 47770b73: Merge "debuggerd: use LOCAL_MULTILIB"
* commit '47de0060757b90737f1a409acd99fa4372efbf07':
  debuggerd: use LOCAL_MULTILIB
2014-03-27 18:29:25 +00:00
Colin Cross 87a6b1d799 debuggerd: use LOCAL_MULTILIB
Use LOCAL_MULTILIB to build multiple versions of executables
instead of manually creating two build rules.

Change-Id: I1a993ff7b5f527a88735f46eec9822bb97d16490
2014-03-26 15:16:23 -07:00
Colin Cross fb31448b6f am c5f3e0dc: am 594f0917: am a6b77056: Merge "build debuggerd and debuggerd64 on 64-bit architectures"
* commit 'c5f3e0dc092a3132b93d6784103c089ea9cf12ce':
  build debuggerd and debuggerd64 on 64-bit architectures
2014-02-13 20:38:00 +00:00
Colin Cross 579c9bc8a4 build debuggerd and debuggerd64 on 64-bit architectures
Change-Id: I1518d45ae0c5e0fed31d071fdaf19a67bad1bdfc
2014-02-12 22:32:26 -08:00
Nick Kralevich 3049f23915 am e41420bd: am 488b5eaf: am 2e7347d6: Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API."
* commit 'e41420bd8cbaa69f6eaca524b2412cb92a6d18a3':
  Convert all selinux_android_restorecon and _setfilecon calls to new API.
2014-02-13 00:19:47 +00:00
Nick Kralevich 2e7347d617 Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API." 2014-02-12 23:09:28 +00:00
Christopher Ferris 8a54dea42a am 25a619fb: am 48e81834: am 4207df11: Merge "Use stat structure to keep oldest mtime."
* commit '25a619fb30ac04ee534a749ff238900845b64bb6':
  Use stat structure to keep oldest mtime.
2014-02-10 12:51:27 +00:00
Elliott Hughes 54cf89a24b am 00010369: am 3bff7e3e: am 136a9619: Merge "Use socklen_t instead of int in debuggerd."
* commit '00010369a6a4d9b3db58a22dfeca258f328147da':
  Use socklen_t instead of int in debuggerd.
2014-02-10 12:51:25 +00:00
Christopher Ferris 4207df11c5 Merge "Use stat structure to keep oldest mtime." 2014-02-08 02:13:58 +00:00
Christopher Ferris 68bd59f6d2 Use stat structure to keep oldest mtime.
Change-Id: If9496127db28d2dcd09bc5b3144632a43afb8d55
2014-02-07 18:08:38 -08:00
Elliott Hughes 0df8e4f86c Use socklen_t instead of int in debuggerd.
Also other trivial C++ cleanup.

Change-Id: I9b5278c5205e0ea4f9dcbbe3e7b99921dd2436dc
2014-02-07 12:13:30 -08:00
Stephen Smalley 27a93650c0 Convert all selinux_android_restorecon and _setfilecon calls to new API.
libselinux selinux_android_restorecon API is changing to the more
general interface with flags and dropping the older variants.

Also get rid of the old, no longer used selinux_android_setfilecon API
and rename selinux_android_setfilecon2 to it as it is the only API in use.

Change-Id: I1e71ec398ccdc24cac4ec76f1b858d0f680f4925
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-07 09:38:32 -05:00
Elliott Hughes 260d400593 am b30b159f: am 61e92a02: am 68835ee8: Merge "system/core LP64 cleanup."
* commit 'b30b159f709a94a0fb1d62aa1ed7b0da8a51120d':
  system/core LP64 cleanup.
2014-02-06 03:07:48 +00:00
Elliott Hughes 5d9fe779c8 system/core LP64 cleanup.
Fixes -Wint-to-pointer and -Wpointer-to-int warnings, plus various -Wformat
warnings.

Change-Id: I6c5eea6b4273d82d28b8e5d2925f3e5457511b17
2014-02-05 18:02:11 -08:00
Elliott Hughes 32b3697946 am f51bee45: am 784b6181: am cf53e5db: Merge "Fix debuggerd\'s symbol offset output."
* commit 'f51bee45b015730b5f2759e89882c0cb457c22a3':
  Fix debuggerd's symbol offset output.
2014-02-03 16:59:59 +00:00
Elliott Hughes f7b4b519e4 Fix debuggerd's symbol offset output.
Before:
  00007fff33e489d8  00007ff286e4ad94  /system/lib64/libc.so (__libc_init+54u)

After:
  00007fff45c6c158  00007f61bc36fd94  /system/lib64/libc.so (__libc_init+84)

Change-Id: I36796c99843a41583824a96793a5a4c81ddb666e
2014-01-31 23:13:55 -08:00
Elliott Hughes 6cfb31d652 am 5cbb68cf: am da9b5dab: am 434edbe6: Merge "LP64 should have debuggerd and debuggerd64."
* commit '5cbb68cf891fa040563c70784363496cf3e05174':
  LP64 should have debuggerd and debuggerd64.
2014-02-01 01:39:18 +00:00
Elliott Hughes e9edf7a0ef LP64 should have debuggerd and debuggerd64.
Change-Id: I4e39c200e6867bb9a5bbcfec1c449b8864028feb
2014-01-31 17:15:10 -08:00
Elliott Hughes 19750a2c30 am f1935b6d: am 2e9dcd21: am 1bc6169f: Merge "Remove dead code that looked like part of debuggerd."
* commit 'f1935b6d933861d6194bf056a844ec0f11765c38':
  Remove dead code that looked like part of debuggerd.
2014-02-01 00:52:06 +00:00
Elliott Hughes 033640c404 am 6beca66f: am 3f94aa5f: am 51c4d4c4: Merge "AArch64: Port debuggerd"
* commit '6beca66f9ceaf5733ff5a4a00f1d272e42e871a2':
  AArch64: Port debuggerd
2014-01-31 23:11:20 +00:00
Elliott Hughes 9361b58330 am fe0d5d42: am 5434bf66: Merge "LP64: Enable debuggerd/libbacktrace/libunwind."
* commit 'fe0d5d42e4ca8b77d6a0657be1b8b6343c21d689':
  LP64: Enable debuggerd/libbacktrace/libunwind.
2014-01-31 22:38:29 +00:00
Elliott Hughes 6694d3e3d5 Remove dead code that looked like part of debuggerd.
Note that these were two different functions. The definition was unused,
and the declaration was undefined.

Change-Id: I2edd10a0ab9422cd5252bdb9ccdd726dc5fad531
2014-01-31 10:37:18 -08:00
Elliott Hughes df4b9e6890 am 480fdd52: am e97dad0d: Merge "debuggerd: a few generic improvements"
* commit '480fdd524da3aa24429e46b81f52651f95c1c59a':
  debuggerd: a few generic improvements
2014-01-31 16:41:15 +00:00
Kévin PETIT abc60c26b7 AArch64: Port debuggerd
Change-Id: Ib18f76f375a1d70c84e0a09d221e17ac43144b96
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-30 18:05:03 -08:00
Pavel Chupin c6c194ced0 LP64: Enable debuggerd/libbacktrace/libunwind.
Change-Id: I2e432839f86c33c2adbaac8cc12ca8961956044b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-01-30 17:15:24 -08:00
Kévin PETIT 4bb477205a debuggerd: a few generic improvements
This one makes dump_memory reasonably architecture-agnostic so it is
possible to share the code between architectures.

It also includes a few small improvements in tombstone.cpp.

Change-Id: Ib8a9599bfa420b41e80207988e87aee1b9d79541
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
2014-01-30 15:55:33 -08:00
Christopher Ferris 96a0bf1e94 am 36a4e408: am aaf89887: am 6fe31b2f: am d391c9b4: Merge "Re-enable libunwind for arm."
* commit '36a4e4085e55048ee2a78c7d5b50f7395e547fa2':
  Re-enable libunwind for arm.
2014-01-29 12:19:59 +00:00
Mark Salyzyn 8e4cdc1e86 resolved conflicts for merge of 3a5f3050 to master
Change-Id: I87f51ba0dcc8187a3e620fab96c078e6614b28a2
2014-01-28 13:51:46 -08:00
Christopher Ferris d391c9b4ac Merge "Re-enable libunwind for arm." 2014-01-28 21:23:50 +00:00
Christopher Ferris df2906186b Re-enable libunwind for arm.
Update to handle the new optimized way that libunwind works.

In addition, a small refactor of the BacktraceMap code.

A few new tests of for good measure.

Change-Id: I2f9b4f5ad5a0dfe907b31febee76e4b9b94fb76f
2014-01-28 12:03:36 -08:00
Mark Salyzyn fca0bd1a38 debuggerd: Support newline split in log messages
(cherry picked from commit 706fad2b5f)

Change-Id: I2c19f12ef027ab1e1455ce78824537da1b03edcd
2014-01-27 15:17:13 -08:00
Mark Salyzyn 22b5cef127 debuggerd: Incorporate liblog reading API
(cherry picked from commit a63f927ce1)

Change-Id: Ic26e9dba3b45c827d122b03e34cc4a5bd48f7deb
2014-01-27 15:11:10 -08:00
Christopher Ferris 6c625f6717 resolved conflicts for merge of 47fa9064 to master
Change-Id: I53fb8ff2dfbefe6246385e624c5c3525cc6f4253
2014-01-17 11:56:04 -08:00
Christopher Ferris 46756821c4 Rewrite libbacktrace to be all C++.
This includes removing the map_info.c source and replacing it with the
BacktraceMap class to handle all map related code.

Change all callers of libbacktrace map functionality.

Also modify the corkscrew thread code so that it doesn't need to build
the map twice (once in the corkscrew format and once in the libbacktrace
format).

Change-Id: I32865a39f83a3dd6f958fc03c2759ba47d12382e
2014-01-16 16:12:29 -08:00
Mark Salyzyn 706fad2b5f debuggerd: Support newline split in log messages
Change-Id: I2c19f12ef027ab1e1455ce78824537da1b03edcd
2014-01-16 15:05:29 -08:00
Christopher Ferris 4167d7e5c2 resolved conflicts for merge of 8791ee5c to master
Change-Id: I107bb055941809331c451c1d903f231f07a86ece
2014-01-13 18:14:11 -08:00
Christopher Ferris 20303f856f Next phase of the move, reformat use C++ features.
Use the libbacktrace C++ interface instead of the C interface in debuggerd.

Reformat the debuggerd code to be closer to Google C++ style.

Fix all debuggerd casts to be C++ casts.

Add a frame number to the frame data structure for ease of formatting and
add another FormatFrameData function.

Change the format_test to use the new FormatFrameData function.

Modify all of the backtrace_test to use the C++ interface.

Change-Id: I10e1610861acf7f4a3ad53276b74971cfbfda464
2014-01-13 14:21:52 -08:00
Christopher Ferris 6e9c19906a am c37fec6d: am 715752cd: am a7083e0d: am 8387fc93: Merge "Move to C++ for debuggerd."
* commit 'c37fec6d61dc2650a0a92983dc8d577f9e19520d':
  Move to C++ for debuggerd.
2014-01-11 00:31:46 +00:00
Christopher Ferris d607495b89 Move to C++ for debuggerd.
This is part 1, only including the bare minimum changes because
our diff tool doesn't easily show differences when a file moves. This
also breaks it into a small chunk in case some other changes break things,
as unlikely as I think that will be.

Change-Id: Ib7a3e7a2cc1ac574d15b65fda23813ebcf5d31af
2014-01-10 16:05:12 -08:00
Elliott Hughes 7e6b5e956b am 7fd0ea9b: am c555476e: am 1972955e: am 99775d87: Merge "Use the more portable <elf.h> instead of <sys/exec_elf.h>."
* commit '7fd0ea9bb19dd0136706dab02454f9a642807a07':
  Use the more portable <elf.h> instead of <sys/exec_elf.h>.
2014-01-10 23:06:50 +00:00