diff options
author | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
---|---|---|
committer | Stan Shebs <shebs@codesourcery.com> | 1999-04-16 01:34:07 +0000 |
commit | 071ea11e85eb9d529cc5eb3d35f6247466a21b99 (patch) | |
tree | 5deda65b8d7b04d1f4cbc534c3206d328e1267ec /gdb/mem-break.c | |
parent | 1730ec6b1848f0f32154277f788fb29f88d8475b (diff) | |
download | gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.zip gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.gz gdb-071ea11e85eb9d529cc5eb3d35f6247466a21b99.tar.bz2 |
Initial creation of sourceware repository
Diffstat (limited to 'gdb/mem-break.c')
-rw-r--r-- | gdb/mem-break.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/gdb/mem-break.c b/gdb/mem-break.c deleted file mode 100644 index 7e55233..0000000 --- a/gdb/mem-break.c +++ /dev/null @@ -1,102 +0,0 @@ -/* Simulate breakpoints by patching locations in the target system, for GDB. - Copyright 1990, 1991 Free Software Foundation, Inc. - Contributed by Cygnus Support. Written by John Gilmore. - -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 2 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, write to the Free Software -Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -#include "defs.h" - -#ifdef BREAKPOINT -/* This file is only useful if BREAKPOINT is set. If not, we punt. */ - -#include <stdio.h> -#include "breakpoint.h" -#include "inferior.h" -#include "target.h" - -/* This is the sequence of bytes we insert for a breakpoint. On some - machines, breakpoints are handled by the target environment and we - don't have to worry about them here. */ - -static char break_insn[] = BREAKPOINT; - -/* This is only to check that BREAKPOINT fits in BREAKPOINT_MAX bytes. */ - -static char check_break_insn_size[BREAKPOINT_MAX] = BREAKPOINT; - -/* Insert a breakpoint on machines that don't have any better breakpoint - support. We read the contents of the target location and stash it, - then overwrite it with a breakpoint instruction. ADDR is the target - location in the target machine. CONTENTS_CACHE is a pointer to - memory allocated for saving the target contents. It is guaranteed - by the caller to be long enough to save sizeof BREAKPOINT bytes. - FIXME: This size is target_arch dependent and should be available in - the target_arch transfer vector, if we ever have one... */ - -int -memory_insert_breakpoint (addr, contents_cache) - CORE_ADDR addr; - char *contents_cache; -{ - int val; - - val = target_read_memory (addr, contents_cache, sizeof break_insn); - - if (val == 0) - val = target_write_memory (addr, break_insn, sizeof break_insn); - - return val; -} - - -int -memory_remove_breakpoint (addr, contents_cache) - CORE_ADDR addr; - char *contents_cache; -{ - return target_write_memory (addr, contents_cache, sizeof break_insn); -} - - -int memory_breakpoint_size = sizeof (break_insn); - - -#else /* BREAKPOINT */ - -char nogo[] = "Breakpoints not implemented for this target."; - -int -memory_insert_breakpoint (addr, contents_cache) - CORE_ADDR addr; - char *contents_cache; -{ - error (nogo); - return 0; /* lint */ -} - -int -memory_remove_breakpoint (addr, contents_cache) - CORE_ADDR addr; - char *contents_cache; -{ - error (nogo); - return 0; /* lint */ -} - -int memory_breakpoint_size = -1; - -#endif /* BREAKPOINT */ |