| Name: Android Platform engineering tools |
| Short Name: android platform development |
| URL: https://android.googlesource.com/platform/development |
| Version: unknown |
| Date: 2014/05/02 |
| Revision: 1b10ec4 |
| License: Apache 2.0 |
| License File: NOT_SHIPPED |
| Security Critical: no |
| |
| Description: |
| Android Platform engineering tools, specifically: |
| 1. stack symbolization scripts |
| 2. A ported copy of the Android relocation packing tool source, along with the |
| files required to build it in the chromium tree. |
| 3. IntelliJ formatting settings. |
| Taken from commit: 622d3d4c5b3bee50fd335f3282d9e9d64ae0f5f7 |
| |
| Local Modifications: |
| Only picked the few components useful to Chromium (as listed above). |
| |
| The scripts have been modified to better suit Chromium development. Changes |
| include, but are not limited to, the following: |
| Added memoization of addr2line and objdump. |
| Added option to change the amount of symbolization done. |
| Updated output directories to be set by environment variable or --flags |
| When calling addr2line, check the symbol is a file that looks like it contains |
| symbols. |
| Added support for parsing LOG(FATAL) and DCHECK errors and their |
| stack traces, as emitted by src/base/debug/stack_trace_android.cc |
| Added support for finding symbols when library is loaded directly from the APK. |
| Changed the toolchain to remove references to 4.6 toolchains. |
| Added support for arch=x64 as an alias to arch=x86_64 |
| Added debug logging and --verbose parameter. |
| Used fast ELF symbolizer for symbols.py and tombstones |
| Used multiprocessing to pre-process logcat before symbolizing it |
| Added code address adjustment for the debuggerd output from pre-M Android |
| where relocations are packed. |
| Added code to capture java stderr for better handling of native->java crashes. |
| Fixed invalid using decl in logging header debug.h |
| Only attempt to symbolize with ELF libraries. |
| |
| Changed the stack script to use llvm symbolizer instead of addr2line, |
| objdump, etc, since llvm symbolizer is more efficient in finding |
| function names, line numbers etc. |
| |
| Speedup symbolization by avoiding unnecessary APK manifest extraction loops. |
| |
| Android relocation packing tool details: |
| Copy sources from AOSP bionic/tools/relocation_packer |
| Remove scripts that regenerate golden test data (not relevant here) |
| Create a nativehelper/ScopedFd.h to satisfy inclusion from main.cc |
| Create gyp build |
| Create gn build (currently packer only; no unit tests) |
| List of bionic changes currently included: |
| Refresh: https://android-review.googlesource.com/#/c/143878/ |
| Refresh: https://android-review.googlesource.com/#/c/147620/ |
| https://android-review.googlesource.com/#/c/147745/ |
| https://android-review.googlesource.com/#/c/148073/ |
| Refresh: https://android-review.googlesource.com/#/c/151901/ |
| https://android-review.googlesource.com/#/c/149300/ |
| https://android-review.googlesource.com/#/c/148822/ |
| https://android-review.googlesource.com/#/c/148492/ |
| https://android-review.googlesource.com/#/c/148175/ |