No description
Find a file
Christopher Ferris 9774df6134 Move 32 bit/64 bit check into debuggerd.
On 64 bit systems, calls to dump_backtrace_to_file or dump_tombstone
try and directly contact the correct debuggerd (32 bit vs 64 bit)
by reading the elf information for the executable.
Unfortunately, system_server makes a call to dump_backtrace_to_file
and it doesn't have permissions to read the executable data, so it
defaults to always contacting the 64 bit debuggerd.
This CL changes the code so that all dump requests go to the 64 bit
debuggerd, which reads the elf information and redirects requests for
32 bit processes to the 32 bit debuggerd.

Testing:

- Forced the watchdog code in system_server to dump stacks and
  verified that all native stacks are dumped correctly.
- Verified that dumpstate and bugreport still properly dump the native
  processes on a 64 bit and 32 bit system.
- Intentionally forced the 64 bit to 32 bit redirect to write only a
  byte at a time and verified there are no errors, and no dropped data.
- Used debuggerd and debuggerd64 to dump 32 bit and 64 bit processes
  seemlessly.
- Used debuggerd on a 32 bit system to dump native stacks.

Bug: https://code.google.com/p/android/issues/detail?id=97024
Change-Id: Ie01945153bdc1c4ded696c7334b61d58575314d1
2015-01-20 17:22:07 -08:00
adb Python unit test for adb. 2015-01-13 15:08:56 -08:00
adf libadf: add tests for various failure modes 2014-05-07 15:28:05 -07:00
cpio cpio: Turn on -Werror 2014-05-23 09:48:09 -07:00
debuggerd Move 32 bit/64 bit check into debuggerd. 2015-01-20 17:22:07 -08:00
fastboot kill libunz 2014-12-09 22:24:07 -08:00
fastbootd Fix missing #includes in system/core. 2014-12-29 12:24:25 -08:00
fs_mgr Fix Nick's nits 2014-12-09 19:38:23 -08:00
gpttool gpttool: turn on -Werror 2014-05-05 10:30:04 -07:00
healthd Healthd: Remove unused variables 2014-11-24 18:48:55 -08:00
include Move 32 bit/64 bit check into debuggerd. 2015-01-20 17:22:07 -08:00
init property_service: Added vendor build properties to load_all_props 2015-01-13 18:18:41 -08:00
libbacktrace Cleanup libbacktrace Android.mk 2014-12-12 04:40:06 +00:00
libcutils Move 32 bit/64 bit check into debuggerd. 2015-01-20 17:22:07 -08:00
libdiskconfig am eb075e28: am c8179498: am 2f62edf7: Merge "libdiskconfig: Turn on -Werror" 2014-05-21 21:19:27 +00:00
libion Libion: Remove unused variables 2014-11-25 10:16:06 -08:00
liblog liblog: Add log_time += operator 2015-01-05 16:27:54 +00:00
libmemtrack Fix missing #includes in system/core. 2014-12-29 12:24:25 -08:00
libmincrypt Disable clang optimization that has segmentation fault. 2014-12-17 14:59:53 -08:00
libnativebridge am c6dead70: Merge "maybe fix mac build" 2014-11-02 14:25:08 +00:00
libnetutils Libnetutils: Remove unused functions & variables 2014-11-24 10:43:53 -08:00
libpixelflinger Linux always has POSIX clocks available. 2015-01-09 16:17:46 -08:00
libprocessgroup Fix missing #includes in system/core. 2014-12-29 12:24:25 -08:00
libsparse Cleanup libsparse Android.mk 2014-12-12 04:19:27 +00:00
libsuspend Libsuspend: Remove unused variable 2014-11-24 18:53:44 -08:00
libsync Add gtest conformance tests for libsync. Not complete yet, but substantially more comprehensive than the interactive test that was there before. 2014-06-10 23:33:18 +00:00
libsysutils Extend to receive NFLOG packets. 2015-01-15 12:50:59 -08:00
libusbhost am 0d8943c2: am e4c5b614: Merge "libusbhost: Fix IOCTL call during usb_request_cancel" 2014-08-12 21:05:43 +00:00
libutils Fix references to HAVE_PRCTL. 2014-12-15 12:52:53 -08:00
libziparchive Merge "Reject zip archives whose entry names are not valid UTF-8." 2014-12-08 13:08:34 +00:00
libzipfile Clean up libzipfile Android.mk 2014-12-05 15:59:03 +00:00
lmkd Lmkd: Fix unused variables 2014-11-24 20:32:42 -08:00
logcat logcat: use liblog to determine -b all list 2014-12-05 20:14:30 +00:00
logd logd: Fix pruning 2015-01-14 19:12:47 +00:00
logwrapper Fix "ptsname is not thread-safe; use ptsname_r instead" build break. 2014-07-29 11:06:53 -07:00
mkbootimg mkbootimg: turn on -Werror 2014-05-05 10:30:04 -07:00
netcfg Cleanup: Delete dead code. 2014-07-22 15:00:21 -07:00
reboot reboot: Turn on -Werror 2014-05-21 12:58:38 -07:00
rootdir rootdir: add pstore 2015-01-14 17:15:39 +00:00
run-as run-as: build 1161573 failure 2014-05-08 21:18:23 +00:00
sdcard sdcard : inode numbers must be fully representable as uint32_t. 2015-01-15 11:58:53 +00:00
toolbox Lose cmp to toybox. 2015-01-15 14:59:22 -08:00
.gitignore Don't compile abort_socket.c for host targets. It is only intended to run on Linux targets. 2009-05-26 13:23:23 -07:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk Extend to receive NFLOG packets. 2015-01-15 12:50:59 -08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00