No description
This adds some additional output to native crashes. For example, if something tried to access a bit of mmap(/dev/zero) memory that had been mprotect()ed, you might see output like this: I DEBUG : memory map around addr 4015a00c: I DEBUG : 40159000-4015a000 /system/lib/libstdc++.so I DEBUG : 4015a000-40162000 /dev/zero I DEBUG : b0001000-b0009000 /system/bin/linker The idea is to see what's in and around the fault address to make it easier to identify bus errors due to file truncation and segmentation faults caused by buffer over/underruns. No output is generated for accesses below 0x1000 (which are likely NULL pointer dereferences) or for signals that don't set si_addr. Also, suppress the fault address for signals that don't set si_addr: I DEBUG : signal 6 (SIGABRT), code 0 (?), fault addr -------- We still print "fault addr" followed by 8 characters for anything that is parsing the contents. The "address" shown for signals like SIGABRT was meaningless and possibly confusing. Bug 5358516 Change-Id: Icae8ef309ea2d89b129f68d30f96b2ca8a69cc6c |
||
|---|---|---|
| adb | ||
| charger | ||
| cpio | ||
| debuggerd | ||
| fastboot | ||
| gpttool | ||
| include | ||
| init | ||
| libctest | ||
| libcutils | ||
| libdiskconfig | ||
| liblinenoise | ||
| liblog | ||
| libmincrypt | ||
| libnetutils | ||
| libnl_2 | ||
| libpixelflinger | ||
| libsysutils | ||
| libusbhost | ||
| libzipfile | ||
| logcat | ||
| logwrapper | ||
| mkbootimg | ||
| netcfg | ||
| nexus | ||
| rootdir | ||
| run-as | ||
| sdcard | ||
| sh | ||
| toolbox | ||
| .gitignore | ||
| Android.mk | ||
| CleanSpec.mk | ||
| README | ||
| ThirdPartyProject.prop | ||
The system/ directory is intended for pieces of the world that are the core of the embedded linux platform at the heart of Android. These essential bits are required for basic booting, operation, and debugging. They should not depend on libraries outside of system/... (some of them do currently -- they need to be updated or changed) and they should not be required for the simulator build. The license for all these pieces should be clean (Apache2, BSD, or MIT). Currently system/bluetooth/... and system/extra/... have some pieces with GPL/LGPL licensed code. Assorted Issues: - pppd depends on libutils for logging - pppd depends on libcrypt/libcrypto - init, linker, debuggerd, toolbox, usbd depend on libcutils - should probably rename bionic to libc