84114c8dd5b17efecf7988f263ce431208d7be5a |
|
17-Jul-2013 |
Elliott Hughes <enh@google.com> |
Improve stack overflow diagnostics (take 2). This reverts commits eb1b07469f2b5a392dc1bfd8adc211aea8c72bc5 and d14dc3b87fbf80553f1cafa453816b7f11366627, and fixes the bug where we were calling mmap (which might cause errno to be set) before __set_tls (which is required to implement errno). Bug: 8557703 Change-Id: I2c36d00240c56e156e1bb430d8c22a73a068b70c
|
d14dc3b87fbf80553f1cafa453816b7f11366627 |
|
17-Jul-2013 |
Guang Zhu <guangzhu@google.com> |
Revert "Improve stack overflow diagnostics." This reverts commit aa754dca90487356cabf07ade0e8d88c2630b784. Change-Id: Ifa76eee31f7f44075eb3a48554315b2693062f44
|
aa754dca90487356cabf07ade0e8d88c2630b784 |
|
16-Jul-2013 |
Elliott Hughes <enh@google.com> |
Improve stack overflow diagnostics. We notify debuggerd of problems by installing signal handlers. That's fine except for when the signal is caused by us running off the end of a thread's stack and into the guard page. Bug: 8557703 Change-Id: I1ef65b4bb3bbca7e9a9743056177094921e60ed3
|
7b4d77e400d321ccc7cdadd1cd225ebb1a69d358 |
|
04-Apr-2013 |
Elliott Hughes <enh@google.com> |
Make abort messages available to debuggerd. This adds __libc_fatal, cleans up the internal logging code a bit more, and switches suitable callers over to __libc_fatal. In addition to logging, __libc_fatal stashes the message somewhere that the debuggerd signal handler can find it before calling abort. In the debuggerd signal handler, we pass this address to debuggerd so that it can come back with ptrace to read the message and present it to the user. Bug: 8531731 (cherry picked from commit 0d787c1fa18c6a1f29ef9840e28a68cf077be1de) Change-Id: I5daeeaa36c1fc23f7f437d73a19808d9d558dd4d
|
0d787c1fa18c6a1f29ef9840e28a68cf077be1de |
|
04-Apr-2013 |
Elliott Hughes <enh@google.com> |
Make abort messages available to debuggerd. This adds __libc_fatal, cleans up the internal logging code a bit more, and switches suitable callers over to __libc_fatal. In addition to logging, __libc_fatal stashes the message somewhere that the debuggerd signal handler can find it before calling abort. In the debuggerd signal handler, we pass this address to debuggerd so that it can come back with ptrace to read the message and present it to the user. Bug: 8531731 Change-Id: I416ec1da38a8a1b0d0a582ccd7c8aaa681ed4a29
|
8f2a5a0b40fc82126c691d5c30131d908772aab7 |
|
15-Mar-2013 |
Elliott Hughes <enh@google.com> |
Clean up internal libc logging. We only need one logging API, and I prefer the one that does no allocation and is thus safe to use in any context. Also use O_CLOEXEC when opening the /dev/log files. Move everything logging-related into one header file. Change-Id: Ic1e3ea8e9b910dc29df351bff6c0aa4db26fbb58
|
d4ee82dfa3ba01baa10e3ca48fcb31a27b8a4e81 |
|
01-Mar-2013 |
Brian Carlstrom <bdc@google.com> |
Minor linker cleanup, primarily to use Elf32_Dyn Change-Id: Ifa9408e9859c6f79444715bed4808b7c13fdced5
|
6b8e321e610c0683062c0e8d8deabb64565c7403 |
|
22-Jan-2013 |
Elliott Hughes <enh@google.com> |
Clean up debuggerd-related logging. Bug: 7291287 Change-Id: Ia7aa386e8b75b8058d7d9e707e11b1da7dc62f00
|
1e980b6bc8315d00a07312b25486531247abd98c |
|
18-Jan-2013 |
Elliott Hughes <enh@google.com> |
Fix the duplication in the debugging code. We had two copies of the backtrace code, and two copies of the libcorkscrew /proc/pid/maps code. This patch gets us down to one. We also had hacks so we could log in the malloc debugging code. This patch pulls the non-allocating "printf" code out of the dynamic linker so everyone can share. This patch also makes the leak diagnostics easier to read, and makes it possible to paste them directly into the 'stack' tool (by using relative PCs). This patch also fixes the stdio standard stream leak that was causing a leak warning every time tf_daemon ran. Bug: 7291287 Change-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8
|
61a9ccb41eba8c35cae6e21318aca7160a402c5b |
|
02-Nov-2012 |
Elliott Hughes <enh@google.com> |
Make dynamic linker debugging always available. If you need to build your own linker to get debugging, the debugging is never available when you need it. Change-Id: I5ff7e55753459d49a2990f25d9aa155e0b8602e0
|
d23736e4f228e46304b7cbc674a1d0094d73e0f5 |
|
01-Nov-2012 |
Elliott Hughes <enh@google.com> |
Keep the dynamic linker's soinfo pools mostly read-only. We'll need a lot more refactoring of this code before we can reduce the granularity, but this is a step forward. Change-Id: I07061720e734b571a8399c1d5b4f2f35cd681307
|
18a206c81d9743481e364384affd43306911283d |
|
30-Oct-2012 |
Elliott Hughes <enh@google.com> |
More dynamic linker cleanup. I still want to break linker_format out into its own library so we can reuse it for malloc debugging and so forth. (There are many similar pieces of code in bionic, but the linker's one seems to be the most complete/functional.) Change-Id: If3721853d28937c8e821ca1d23cf200e228a409a
|