Go to file
Yabin Cui 9879137720 libBacktraceOffline: improve unwinding callchains.
1. Extend MAX_BACKTRACE_FRAMES to 256, as we can have callchains
   with length near 256 when recording Android applications.

2. .eh_frame and .ARM.exidx doesn't know how to unwind from instructions
   setting up or destroying stack frames. It can lead to wrong callchains,
   which may contain pcs outside executable mapping areas. Stop unwinding
   once this is detected.

3. Some CIE entries in .eh_frame/.debug_frame suggest unwinder reading
   personality routine from memory. However, that is not available in
   offline unwinding, and leads to ACCESS_MEM_FAILED error. Work around
   this by returning all zero data when failed to read data for some
   addresses.

4. Some libraries have empty .eh_frame_hdr but valid .eh_frame.
   Work around this by building eh_frame_hdr manually.

5. Prefer to use .debug_frame than .eh_frame. Because the former
   can unwind instructions setting up and destroying stack frames.

Bug: http://b/69383534
Test: run backtrace_test.
Test: run simpleperf on some apps.

Change-Id: I62dddda3865dd567c6be150ce5527dc2d3516256
2017-12-18 18:20:44 -08:00
adb adb: disable checksum on new versions 2017-12-14 14:18:26 -08:00
adf Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
base Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
bootstat Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd Increased number of Android log lines for tombstones 2017-12-18 09:28:49 +09:00
demangle Add OWNERS. 2017-12-07 13:30:03 -08:00
fastboot Merge "fastboot: support make_f2fs and sload_f2fs for win32" 2017-12-08 00:58:05 +00:00
fs_mgr Merge "first stage mount: support mount points like /vendor/abc" 2017-12-14 06:45:37 +00:00
gatekeeperd resolve merge conflicts of 0dd4b6aa3 to stage-aosp-master 2017-09-15 16:50:34 +09:00
healthd Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
include Move android_filesystem_config.h => fs_config.h 2017-08-03 17:20:27 +00:00
init Reland "Have property_service create a serialized property_contexts file" 2017-12-14 01:58:17 +00:00
libappfuse Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
libasyncio Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libbacktrace libBacktraceOffline: improve unwinding callchains. 2017-12-18 18:20:44 -08:00
libbinderwrapper libbinderwrapper: Android.mk -> Android.bp 2017-04-25 15:55:26 -07:00
libcrypto_utils Mark the modules as VNDK in Android.bp 2017-09-14 08:35:16 +00:00
libcutils Stop defining local "unused" macros now this is C++. 2017-11-30 16:24:36 -08:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libion Merge "libion: Adapt to new ION interface" 2017-09-21 01:06:32 +00:00
libkeyutils Add libkeyutils. 2017-05-10 10:40:11 -07:00
liblog Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
libmemtrack Add OWNERS. 2017-12-07 13:30:03 -08:00
libmemunreachable Add OWNERS. 2017-12-07 13:30:03 -08:00
libmetricslogger Add OWNERS. 2017-12-07 13:30:03 -08:00
libnativebridge Add OWNERS. 2017-12-07 13:30:03 -08:00
libnativeloader Load versioned llndk.libraries.txt and vndksp.libraries.txt 2017-12-13 10:27:28 +09:00
libnetutils Add OWNERS. 2017-12-07 13:30:03 -08:00
libpackagelistparser Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libpixelflinger MIPS[64]: codeflinger: Fix build due to unused variable warnings 2017-11-06 16:38:49 +01:00
libprocessgroup Add memcg related configs to init. 2017-07-18 15:58:40 -07:00
libprocinfo Add OWNERS. 2017-12-07 13:30:03 -08:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse Merge "<stdbool.h> not necessary in C++." 2017-10-17 19:26:53 +00:00
libsuspend Create wrapper function for set_wakeup_callback 2017-12-18 10:22:04 -08:00
libsync Merge "libsync: Add fence info tests" 2017-09-26 23:46:32 +00:00
libsystem Define priority for video threads 2017-09-07 16:14:07 -07:00
libsysutils Don't complain that the DNSSL RA option is "unknown". 2017-11-28 06:42:04 +00:00
libunwindstack Merge "unwindstack: add some perfunctory MemoryOffline tests." 2017-12-18 22:21:45 +00:00
libusbhost usblib: fix race & delay waiting for perms on open 2017-11-07 18:15:49 -08:00
libutils Remove CompileTimeIfElse. 2017-12-18 15:52:50 -08:00
libvndksupport Add OWNERS. 2017-12-07 13:30:03 -08:00
libziparchive BENCHMARK_MAIN now requires a semicolon. 2017-12-13 18:19:18 -08:00
lmkd Merge "Add lmkd/OWNERS." 2017-12-09 18:47:57 +00:00
logcat Add OWNERS. 2017-12-07 13:30:03 -08:00
logd Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
logwrapper Add OWNERS. 2017-12-07 13:30:03 -08:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
property_service Merge "Include what we use." 2017-12-14 23:52:55 +00:00
qemu_pipe Add OWNERS. 2017-12-07 13:30:03 -08:00
reboot reboot: only pause indefinitely for non-shutdown operations 2017-09-29 16:29:52 +00:00
rootdir Do not use versioned VNDK directory in vendor partition 2017-12-14 21:43:04 +09:00
run-as run-as: Keep supplementary groups. 2017-09-29 15:34:23 -04:00
sdcard Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
shell_and_utilities Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
storaged Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
toolbox Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
trusty Merge "Add OWNERS." 2017-12-07 23:21:26 +00:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.clang-format-4 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk Add VNDK version for namespace configuration files 2017-12-13 10:31:04 +09: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
OWNERS Add OWNERS. 2017-12-07 13:30:03 -08:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00
platform_tools_tool_version.mk Fix warning on the build servers 2017-05-25 12:35:40 -07:00