Automatically dump stack traces in dvmAbort on the host.

Before:

    E(25569) VM aborting  (dalvikvm)

After:

    E( 9806) VM aborting  (dalvikvm)
    W( 9806) Obtained 7 stack frames.  (dalvikvm)
    W( 9806) #0  /usr/local/google/home/enh/dd4/out/host/linux-x86/bin/../lib/libdvm.so(dvmPrintNativeBackTrace+0x3f) [0xf7678f2f]  (dalvikvm)
    W( 9806) #1  /usr/local/google/home/enh/dd4/out/host/linux-x86/bin/../lib/libdvm.so(dvmAbort+0x52) [0xf7679072]  (dalvikvm)
    W( 9806) #2  /usr/local/google/home/enh/dd4/out/host/linux-x86/bin/../lib/libdvm.so(dvmStartup+0x67f) [0xf767a45f]  (dalvikvm)
    W( 9806) #3  /usr/local/google/home/enh/dd4/out/host/linux-x86/bin/../lib/libdvm.so(JNI_CreateJavaVM+0x1ee) [0xf768152e]  (dalvikvm)
    W( 9806) #4  /usr/local/google/home/enh/dd4/out/host/linux-x86/bin/dalvikvm() [0x8048ae3]  (dalvikvm)
    W( 9806) #5  /lib32/libc.so.6(__libc_start_main+0xe6) [0xf6ed5bd6]  (dalvikvm)
    W( 9806) #6  /usr/local/google/home/enh/dd4/out/host/linux-x86/bin/dalvikvm() [0x8048761]  (dalvikvm)

This makes continuous build crashes more directly useful, and saves having to
switch to the device/break out gdb when doing simple debugging.

Bug: 4176271
Change-Id: I49b40fd56e6aa89d1ddc7c7f299314761456fc28
3 files changed