diff options
Diffstat (limited to 'gdb/gdbserver/win32-arm-low.c')
-rw-r--r-- | gdb/gdbserver/win32-arm-low.c | 132 |
1 files changed, 0 insertions, 132 deletions
diff --git a/gdb/gdbserver/win32-arm-low.c b/gdb/gdbserver/win32-arm-low.c deleted file mode 100644 index a8e3f0640fb..00000000000 --- a/gdb/gdbserver/win32-arm-low.c +++ /dev/null @@ -1,132 +0,0 @@ -/* Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. - - This file is part of GDB. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ - -#include "server.h" -#include "win32-low.h" - -#ifndef CONTEXT_FLOATING_POINT -#define CONTEXT_FLOATING_POINT 0 -#endif - -/* Defined in auto-generated file reg-arm.c. */ -void init_registers_arm (void); - - -static void -arm_get_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event) -{ - th->context.ContextFlags = \ - CONTEXT_FULL | \ - CONTEXT_FLOATING_POINT; - - GetThreadContext (th->h, &th->context); -} - -static void -arm_set_thread_context (win32_thread_info *th, DEBUG_EVENT* current_event) -{ - SetThreadContext (th->h, &th->context); -} - -#define context_offset(x) ((int)&(((CONTEXT *)NULL)->x)) -static const int mappings[] = { - context_offset (R0), - context_offset (R1), - context_offset (R2), - context_offset (R3), - context_offset (R4), - context_offset (R5), - context_offset (R6), - context_offset (R7), - context_offset (R8), - context_offset (R9), - context_offset (R10), - context_offset (R11), - context_offset (R12), - context_offset (Sp), - context_offset (Lr), - context_offset (Pc), - -1, /* f0 */ - -1, /* f1 */ - -1, /* f2 */ - -1, /* f3 */ - -1, /* f4 */ - -1, /* f5 */ - -1, /* f6 */ - -1, /* f7 */ - -1, /* fps */ - context_offset (Psr), -}; -#undef context_offset - -/* Return a pointer into a CONTEXT field indexed by gdb register number. - Return a pointer to an dummy register holding zero if there is no - corresponding CONTEXT field for the given register number. */ -static char * -regptr (CONTEXT* c, int r) -{ - if (mappings[r] < 0) - { - static ULONG zero; - /* Always force value to zero, in case the user tried to write - to this register before. */ - zero = 0; - return (char *) &zero; - } - else - return (char *) c + mappings[r]; -} - -/* Fetch register from gdbserver regcache data. */ -static void -arm_fetch_inferior_register (struct regcache *regcache, - win32_thread_info *th, int r) -{ - char *context_offset = regptr (&th->context, r); - supply_register (regcache, r, context_offset); -} - -/* Store a new register value into the thread context of TH. */ -static void -arm_store_inferior_register (struct regcache *regcache, - win32_thread_info *th, int r) -{ - collect_register (regcache, r, regptr (&th->context, r)); -} - -/* Correct in either endianness. We do not support Thumb yet. */ -static const unsigned long arm_wince_breakpoint = 0xe6000010; -#define arm_wince_breakpoint_len 4 - -struct win32_target_ops the_low_target = { - init_registers_arm, - sizeof (mappings) / sizeof (mappings[0]), - NULL, /* initial_stuff */ - arm_get_thread_context, - arm_set_thread_context, - NULL, /* thread_added */ - arm_fetch_inferior_register, - arm_store_inferior_register, - NULL, /* single_step */ - (const unsigned char *) &arm_wince_breakpoint, - arm_wince_breakpoint_len, - /* Watchpoint related functions. See target.h for comments. */ - NULL, /* insert_point */ - NULL, /* remove_point */ - NULL, /* stopped_by_watchpoint */ - NULL /* stopped_data_address */ -}; |