Loading debuggerd/Android.mk +0 −34 Original line number Diff line number Diff line Loading @@ -22,13 +22,6 @@ LOCAL_CPPFLAGS := \ -Wunused \ -Werror \ ifeq ($(ARCH_ARM_HAVE_VFP),true) LOCAL_CFLAGS_arm += -DWITH_VFP endif # ARCH_ARM_HAVE_VFP ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) LOCAL_CFLAGS_arm += -DWITH_VFP_D32 endif # ARCH_ARM_HAVE_VFP_D32 LOCAL_SHARED_LIBRARIES := \ libbacktrace \ libcutils \ Loading Loading @@ -65,30 +58,3 @@ LOCAL_MODULE_STEM_64 := crasher64 LOCAL_MULTILIB := both include $(BUILD_EXECUTABLE) include $(CLEAR_VARS) ifeq ($(ARCH_ARM_HAVE_VFP),true) LOCAL_MODULE_TARGET_ARCH += arm LOCAL_SRC_FILES_arm := arm/vfp.S LOCAL_CFLAGS_arm += -DWITH_VFP ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) LOCAL_CFLAGS_arm += -DWITH_VFP_D32 endif # ARCH_ARM_HAVE_VFP_D32 endif # ARCH_ARM_HAVE_VFP == true LOCAL_CFLAGS += -Werror LOCAL_SRC_FILES_arm64 := arm64/vfp.S LOCAL_MODULE_TARGET_ARCH += arm64 LOCAL_SRC_FILES := vfp-crasher.c LOCAL_MODULE := vfp-crasher LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) LOCAL_MODULE_TAGS := optional LOCAL_SHARED_LIBRARIES := libcutils liblog libc LOCAL_MODULE_STEM_32 := vfp-crasher LOCAL_MODULE_STEM_64 := vfp-crasher64 LOCAL_MULTILIB := both include $(BUILD_EXECUTABLE) debuggerd/arm/crashglue.S +36 −4 Original line number Diff line number Diff line .globl crash1 .type crash1, %function .globl crashnostack .type crashnostack, %function crash1: ldr r0, =0xa5a50000 ldr r1, =0xa5a50001 Loading @@ -18,11 +15,46 @@ crash1: ldr r11, =0xa5a50011 ldr r12, =0xa5a50012 fconstd d0, #0 fconstd d1, #1 fconstd d2, #2 fconstd d3, #3 fconstd d4, #4 fconstd d5, #5 fconstd d6, #6 fconstd d7, #7 fconstd d8, #8 fconstd d9, #9 fconstd d10, #10 fconstd d11, #11 fconstd d12, #12 fconstd d13, #13 fconstd d14, #14 fconstd d15, #15 fconstd d16, #16 fconstd d17, #17 fconstd d18, #18 fconstd d19, #19 fconstd d20, #20 fconstd d21, #21 fconstd d22, #22 fconstd d23, #23 fconstd d24, #24 fconstd d25, #25 fconstd d26, #26 fconstd d27, #27 fconstd d28, #28 fconstd d29, #29 fconstd d30, #30 fconstd d31, #31 mov lr, #0 ldr lr, [lr] b . .globl crashnostack .type crashnostack, %function crashnostack: mov sp, #0 mov r0, #0 Loading debuggerd/arm/machine.cpp +4 −21 Original line number Diff line number Diff line Loading @@ -27,21 +27,8 @@ #include "../utility.h" #include "../machine.h" // enable to dump memory pointed to by every register #define DUMP_MEMORY_FOR_ALL_REGISTERS 1 #ifdef WITH_VFP #ifdef WITH_VFP_D32 #define NUM_VFP_REGS 32 #else #define NUM_VFP_REGS 16 #endif #endif // If configured to do so, dump memory around *all* registers // for the crashing thread. void dump_memory_and_code(log_t* log, pid_t tid) { struct pt_regs regs; pt_regs regs; if (ptrace(PTRACE_GETREGS, tid, 0, ®s)) { return; } Loading Loading @@ -73,7 +60,7 @@ void dump_memory_and_code(log_t* log, pid_t tid) { } void dump_registers(log_t* log, pid_t tid) { struct pt_regs r; pt_regs r; if (ptrace(PTRACE_GETREGS, tid, 0, &r)) { _LOG(log, logtype::REGISTERS, "cannot get registers: %s\n", strerror(errno)); return; Loading @@ -93,19 +80,15 @@ void dump_registers(log_t* log, pid_t tid) { static_cast<uint32_t>(r.ARM_lr), static_cast<uint32_t>(r.ARM_pc), static_cast<uint32_t>(r.ARM_cpsr)); #ifdef WITH_VFP struct user_vfp vfp_regs; int i; user_vfp vfp_regs; if (ptrace(PTRACE_GETVFPREGS, tid, 0, &vfp_regs)) { _LOG(log, logtype::REGISTERS, "cannot get registers: %s\n", strerror(errno)); return; } for (i = 0; i < NUM_VFP_REGS; i += 2) { for (size_t i = 0; i < 32; i += 2) { _LOG(log, logtype::REGISTERS, " d%-2d %016llx d%-2d %016llx\n", i, vfp_regs.fpregs[i], i+1, vfp_regs.fpregs[i+1]); } _LOG(log, logtype::REGISTERS, " scr %08lx\n", vfp_regs.fpscr); #endif } debuggerd/arm/vfp.Sdeleted 100644 → 0 +0 −43 Original line number Diff line number Diff line .text .align 2 .global crash .type crash, %function crash: fconstd d0, #0 fconstd d1, #1 fconstd d2, #2 fconstd d3, #3 fconstd d4, #4 fconstd d5, #5 fconstd d6, #6 fconstd d7, #7 fconstd d8, #8 fconstd d9, #9 fconstd d10, #10 fconstd d11, #11 fconstd d12, #12 fconstd d13, #13 fconstd d14, #14 fconstd d15, #15 #ifdef WITH_VFP_D32 fconstd d16, #16 fconstd d17, #17 fconstd d18, #18 fconstd d19, #19 fconstd d20, #20 fconstd d21, #21 fconstd d22, #22 fconstd d23, #23 fconstd d24, #24 fconstd d25, #25 fconstd d26, #26 fconstd d27, #27 fconstd d28, #28 fconstd d29, #29 fconstd d30, #30 fconstd d31, #31 #endif mov r0, #0 str r0, [r0] bx lr debuggerd/arm64/crashglue.S +35 −3 Original line number Diff line number Diff line .globl crash1 .type crash1, %function .globl crashnostack .type crashnostack, %function crash1: ldr x0, =0xa5a50000 ldr x1, =0xa5a50001 Loading Loading @@ -35,11 +32,46 @@ crash1: ldr x28, =0xa5a50028 ldr x29, =0xa5a50029 fmov d0, -1.0 // -1 is more convincing than 0. fmov d1, 1.0 fmov d2, 2.0 fmov d3, 3.0 fmov d4, 4.0 fmov d5, 5.0 fmov d6, 6.0 fmov d7, 7.0 fmov d8, 8.0 fmov d9, 9.0 fmov d10, 10.0 fmov d11, 11.0 fmov d12, 12.0 fmov d13, 13.0 fmov d14, 14.0 fmov d15, 15.0 fmov d16, 16.0 fmov d17, 17.0 fmov d18, 18.0 fmov d19, 19.0 fmov d20, 20.0 fmov d21, 21.0 fmov d22, 22.0 fmov d23, 23.0 fmov d24, 24.0 fmov d25, 25.0 fmov d26, 26.0 fmov d27, 27.0 fmov d28, 28.0 fmov d29, 29.0 fmov d30, 30.0 fmov d31, 31.0 mov x30, xzr ldr x30, [x30] b . .globl crashnostack .type crashnostack, %function crashnostack: mov x0, xzr add sp, x0, xzr Loading Loading
debuggerd/Android.mk +0 −34 Original line number Diff line number Diff line Loading @@ -22,13 +22,6 @@ LOCAL_CPPFLAGS := \ -Wunused \ -Werror \ ifeq ($(ARCH_ARM_HAVE_VFP),true) LOCAL_CFLAGS_arm += -DWITH_VFP endif # ARCH_ARM_HAVE_VFP ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) LOCAL_CFLAGS_arm += -DWITH_VFP_D32 endif # ARCH_ARM_HAVE_VFP_D32 LOCAL_SHARED_LIBRARIES := \ libbacktrace \ libcutils \ Loading Loading @@ -65,30 +58,3 @@ LOCAL_MODULE_STEM_64 := crasher64 LOCAL_MULTILIB := both include $(BUILD_EXECUTABLE) include $(CLEAR_VARS) ifeq ($(ARCH_ARM_HAVE_VFP),true) LOCAL_MODULE_TARGET_ARCH += arm LOCAL_SRC_FILES_arm := arm/vfp.S LOCAL_CFLAGS_arm += -DWITH_VFP ifeq ($(ARCH_ARM_HAVE_VFP_D32),true) LOCAL_CFLAGS_arm += -DWITH_VFP_D32 endif # ARCH_ARM_HAVE_VFP_D32 endif # ARCH_ARM_HAVE_VFP == true LOCAL_CFLAGS += -Werror LOCAL_SRC_FILES_arm64 := arm64/vfp.S LOCAL_MODULE_TARGET_ARCH += arm64 LOCAL_SRC_FILES := vfp-crasher.c LOCAL_MODULE := vfp-crasher LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) LOCAL_MODULE_TAGS := optional LOCAL_SHARED_LIBRARIES := libcutils liblog libc LOCAL_MODULE_STEM_32 := vfp-crasher LOCAL_MODULE_STEM_64 := vfp-crasher64 LOCAL_MULTILIB := both include $(BUILD_EXECUTABLE)
debuggerd/arm/crashglue.S +36 −4 Original line number Diff line number Diff line .globl crash1 .type crash1, %function .globl crashnostack .type crashnostack, %function crash1: ldr r0, =0xa5a50000 ldr r1, =0xa5a50001 Loading @@ -18,11 +15,46 @@ crash1: ldr r11, =0xa5a50011 ldr r12, =0xa5a50012 fconstd d0, #0 fconstd d1, #1 fconstd d2, #2 fconstd d3, #3 fconstd d4, #4 fconstd d5, #5 fconstd d6, #6 fconstd d7, #7 fconstd d8, #8 fconstd d9, #9 fconstd d10, #10 fconstd d11, #11 fconstd d12, #12 fconstd d13, #13 fconstd d14, #14 fconstd d15, #15 fconstd d16, #16 fconstd d17, #17 fconstd d18, #18 fconstd d19, #19 fconstd d20, #20 fconstd d21, #21 fconstd d22, #22 fconstd d23, #23 fconstd d24, #24 fconstd d25, #25 fconstd d26, #26 fconstd d27, #27 fconstd d28, #28 fconstd d29, #29 fconstd d30, #30 fconstd d31, #31 mov lr, #0 ldr lr, [lr] b . .globl crashnostack .type crashnostack, %function crashnostack: mov sp, #0 mov r0, #0 Loading
debuggerd/arm/machine.cpp +4 −21 Original line number Diff line number Diff line Loading @@ -27,21 +27,8 @@ #include "../utility.h" #include "../machine.h" // enable to dump memory pointed to by every register #define DUMP_MEMORY_FOR_ALL_REGISTERS 1 #ifdef WITH_VFP #ifdef WITH_VFP_D32 #define NUM_VFP_REGS 32 #else #define NUM_VFP_REGS 16 #endif #endif // If configured to do so, dump memory around *all* registers // for the crashing thread. void dump_memory_and_code(log_t* log, pid_t tid) { struct pt_regs regs; pt_regs regs; if (ptrace(PTRACE_GETREGS, tid, 0, ®s)) { return; } Loading Loading @@ -73,7 +60,7 @@ void dump_memory_and_code(log_t* log, pid_t tid) { } void dump_registers(log_t* log, pid_t tid) { struct pt_regs r; pt_regs r; if (ptrace(PTRACE_GETREGS, tid, 0, &r)) { _LOG(log, logtype::REGISTERS, "cannot get registers: %s\n", strerror(errno)); return; Loading @@ -93,19 +80,15 @@ void dump_registers(log_t* log, pid_t tid) { static_cast<uint32_t>(r.ARM_lr), static_cast<uint32_t>(r.ARM_pc), static_cast<uint32_t>(r.ARM_cpsr)); #ifdef WITH_VFP struct user_vfp vfp_regs; int i; user_vfp vfp_regs; if (ptrace(PTRACE_GETVFPREGS, tid, 0, &vfp_regs)) { _LOG(log, logtype::REGISTERS, "cannot get registers: %s\n", strerror(errno)); return; } for (i = 0; i < NUM_VFP_REGS; i += 2) { for (size_t i = 0; i < 32; i += 2) { _LOG(log, logtype::REGISTERS, " d%-2d %016llx d%-2d %016llx\n", i, vfp_regs.fpregs[i], i+1, vfp_regs.fpregs[i+1]); } _LOG(log, logtype::REGISTERS, " scr %08lx\n", vfp_regs.fpscr); #endif }
debuggerd/arm/vfp.Sdeleted 100644 → 0 +0 −43 Original line number Diff line number Diff line .text .align 2 .global crash .type crash, %function crash: fconstd d0, #0 fconstd d1, #1 fconstd d2, #2 fconstd d3, #3 fconstd d4, #4 fconstd d5, #5 fconstd d6, #6 fconstd d7, #7 fconstd d8, #8 fconstd d9, #9 fconstd d10, #10 fconstd d11, #11 fconstd d12, #12 fconstd d13, #13 fconstd d14, #14 fconstd d15, #15 #ifdef WITH_VFP_D32 fconstd d16, #16 fconstd d17, #17 fconstd d18, #18 fconstd d19, #19 fconstd d20, #20 fconstd d21, #21 fconstd d22, #22 fconstd d23, #23 fconstd d24, #24 fconstd d25, #25 fconstd d26, #26 fconstd d27, #27 fconstd d28, #28 fconstd d29, #29 fconstd d30, #30 fconstd d31, #31 #endif mov r0, #0 str r0, [r0] bx lr
debuggerd/arm64/crashglue.S +35 −3 Original line number Diff line number Diff line .globl crash1 .type crash1, %function .globl crashnostack .type crashnostack, %function crash1: ldr x0, =0xa5a50000 ldr x1, =0xa5a50001 Loading Loading @@ -35,11 +32,46 @@ crash1: ldr x28, =0xa5a50028 ldr x29, =0xa5a50029 fmov d0, -1.0 // -1 is more convincing than 0. fmov d1, 1.0 fmov d2, 2.0 fmov d3, 3.0 fmov d4, 4.0 fmov d5, 5.0 fmov d6, 6.0 fmov d7, 7.0 fmov d8, 8.0 fmov d9, 9.0 fmov d10, 10.0 fmov d11, 11.0 fmov d12, 12.0 fmov d13, 13.0 fmov d14, 14.0 fmov d15, 15.0 fmov d16, 16.0 fmov d17, 17.0 fmov d18, 18.0 fmov d19, 19.0 fmov d20, 20.0 fmov d21, 21.0 fmov d22, 22.0 fmov d23, 23.0 fmov d24, 24.0 fmov d25, 25.0 fmov d26, 26.0 fmov d27, 27.0 fmov d28, 28.0 fmov d29, 29.0 fmov d30, 30.0 fmov d31, 31.0 mov x30, xzr ldr x30, [x30] b . .globl crashnostack .type crashnostack, %function crashnostack: mov x0, xzr add sp, x0, xzr Loading