From 932539e3ab93db990ef61c80bbf78a4f2fdcc60b Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Tue, 20 May 2014 18:24:27 +0100 Subject: [GDBserver] Move Z packet defines and type convertion routines to shared code. The Aarch64, MIPS and x86 Linux backends all have Z packet number defines and corresponding protocol number to internal type convertion routines. Factor them all out to gdbserver's core code, so we only have one shared copy. Tested on x86_64 Fedora 20, and also cross built for aarch64-linux-gnu and mips-linux-gnu. gdb/gdbserver/ 2014-05-20 Pedro Alves * mem-break.h: Include break-common.h. (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP) (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): New defines. (Z_packet_to_target_hw_bp_type): New declaration. * mem-break.c (Z_packet_to_target_hw_bp_type): New function. * i386-low.c (Z_PACKET_HW_BP, Z_PACKET_WRITE_WP, Z_PACKET_READ_WP) (Z_PACKET_ACCESS_WP): Delete macros. (Z_packet_to_hw_type): Delete function. * i386-low.h: Don't include break-common.h here. (Z_packet_to_hw_type): Delete declaration. * linux-x86-low.c (x86_insert_point, x86_insert_point): Call Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type. * win32-i386-low.c (i386_insert_point, i386_remove_point): Call Z_packet_to_target_hw_bp_type instead of Z_packet_to_hw_type. * linux-aarch64-low.c: Don't include break-common.h here. (Z_PACKET_SW_BP, Z_PACKET_HW_BP, Z_PACKET_WRITE_WP) (Z_PACKET_READ_WP, Z_PACKET_ACCESS_WP): Delete macros. (Z_packet_to_target_hw_bp_type): Delete function. * linux-mips-low.c (rsp_bp_type_to_target_hw_bp_type): Delete function. (mips_insert_point, mips_remove_point): Use Z_packet_to_target_hw_bp_type. --- gdb/gdbserver/mem-break.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gdb/gdbserver/mem-break.c') diff --git a/gdb/gdbserver/mem-break.c b/gdb/gdbserver/mem-break.c index 680e97f..b19cbc8 100644 --- a/gdb/gdbserver/mem-break.c +++ b/gdb/gdbserver/mem-break.c @@ -138,6 +138,24 @@ struct breakpoint int (*handler) (CORE_ADDR); }; +enum target_hw_bp_type +Z_packet_to_target_hw_bp_type (char type) +{ + switch (type) + { + case Z_PACKET_HW_BP: + return hw_execute; + case Z_PACKET_WRITE_WP: + return hw_write; + case Z_PACKET_READ_WP: + return hw_read; + case Z_PACKET_ACCESS_WP: + return hw_access; + default: + fatal ("bad watchpoint type %c", type); + } +} + int any_persistent_commands () { -- cgit v1.1