Contact proper debuggerd when crashing.
Make the request structure match the new structure found in debuggerd code. On 64 bit systems, make sure that the 32 bit compiled linker is contacted. Bug: https://code.google.com/p/android/issues/detail?id=97024 Change-Id: I675b8ff222fcf836b05de4e9b5976ff91ca929bf
This commit is contained in:
parent
ffad8df672
commit
151da68100
@ -36,6 +36,10 @@ LOCAL_CONLYFLAGS += \
|
|||||||
LOCAL_CPPFLAGS += \
|
LOCAL_CPPFLAGS += \
|
||||||
-std=gnu++11 \
|
-std=gnu++11 \
|
||||||
|
|
||||||
|
ifeq ($(TARGET_IS_64_BIT),true)
|
||||||
|
LOCAL_CPPFLAGS += -DTARGET_IS_64_BIT
|
||||||
|
endif
|
||||||
|
|
||||||
# We need to access Bionic private headers in the linker.
|
# We need to access Bionic private headers in the linker.
|
||||||
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../libc/
|
LOCAL_CFLAGS += -I$(LOCAL_PATH)/../libc/
|
||||||
|
|
||||||
|
@ -41,8 +41,10 @@
|
|||||||
|
|
||||||
extern "C" int tgkill(int tgid, int tid, int sig);
|
extern "C" int tgkill(int tgid, int tid, int sig);
|
||||||
|
|
||||||
#if __LP64__
|
// Crash actions have to be sent to the proper debuggerd.
|
||||||
#define DEBUGGER_SOCKET_NAME "android:debuggerd64"
|
// On 64 bit systems, the 32 bit debuggerd is named differently.
|
||||||
|
#if defined(TARGET_IS_64_BIT) && !defined(__LP64__)
|
||||||
|
#define DEBUGGER_SOCKET_NAME "android:debuggerd32"
|
||||||
#else
|
#else
|
||||||
#define DEBUGGER_SOCKET_NAME "android:debuggerd"
|
#define DEBUGGER_SOCKET_NAME "android:debuggerd"
|
||||||
#endif
|
#endif
|
||||||
@ -57,15 +59,10 @@ enum debugger_action_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* message sent over the socket */
|
/* message sent over the socket */
|
||||||
struct debugger_msg_t {
|
struct __attribute__((packed)) debugger_msg_t {
|
||||||
// version 1 included:
|
int32_t action;
|
||||||
debugger_action_t action;
|
|
||||||
pid_t tid;
|
pid_t tid;
|
||||||
|
uint64_t abort_msg_address;
|
||||||
// version 2 added:
|
|
||||||
uintptr_t abort_msg_address;
|
|
||||||
|
|
||||||
// version 3 added:
|
|
||||||
int32_t original_si_code;
|
int32_t original_si_code;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user