aboutsummaryrefslogtreecommitdiff
path: root/gdb/breakpoint.c
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>1992-03-29 22:33:35 +0000
committerPer Bothner <per@bothner.com>1992-03-29 22:33:35 +0000
commit1eeba68641b9b75e2d780759c39a079d8ddda0fc (patch)
tree53b52dab03341261520ae752bb16576121125bfa /gdb/breakpoint.c
parentbe78a1301f2ab2bb13177d15326fb1aa3e372bf3 (diff)
downloadgdb-1eeba68641b9b75e2d780759c39a079d8ddda0fc.zip
gdb-1eeba68641b9b75e2d780759c39a079d8ddda0fc.tar.gz
gdb-1eeba68641b9b75e2d780759c39a079d8ddda0fc.tar.bz2
Merged in latest RS6000 diffs from Metin G. Ozisik.
Diffstat (limited to 'gdb/breakpoint.c')
-rw-r--r--gdb/breakpoint.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index b9aef04..ab30a67 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -17,9 +17,8 @@ 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 <stdio.h>
-#include <ctype.h>
#include "defs.h"
+#include <ctype.h>
#include "symtab.h"
#include "frame.h"
#include "breakpoint.h"
@@ -2270,8 +2269,12 @@ breakpoint_re_set ()
create_longjmp_breakpoint("siglongjmp");
create_longjmp_breakpoint(NULL);
+#if 0
+ /* Took this out (temporaliy at least), since it produces an extra
+ blank line at startup. This messes up the gdbtests. -PB */
/* Blank line to finish off all those mention() messages we just printed. */
printf_filtered ("\n");
+#endif
}
/* Set ignore-count of breakpoint number BPTNUM to COUNT.
@@ -2693,3 +2696,35 @@ an expression changes.");
"Status of all watchpoints, or watchpoint number NUMBER.\n\
Second column is \"y\" for enabled watchpoints, \"n\" for disabled.");
}
+
+#ifdef IBM6000_HOST
+/* Where should this function go? It is used by AIX only. FIXME. */
+
+/* Breakpoint address relocation used to be done in breakpoint_re_set(). That
+ approach the following problem:
+
+ before running the program, if a file is list, then a breakpoint is
+ set (just the line number), then if we switch into another file and run
+ the program, just a line number as a breakpoint address was not
+ descriptive enough and breakpoint was ending up in a different file's
+ similar line.
+
+ I don't think any other platform has this breakpoint relocation problem, so this
+ is not an issue for other platforms. */
+
+void
+fixup_breakpoints (low, high, delta)
+ CORE_ADDR low;
+ CORE_ADDR high;
+ CORE_ADDR delta;
+{
+ struct breakpoint *b;
+ extern struct breakpoint *breakpoint_chain;
+
+ ALL_BREAKPOINTS (b)
+ {
+ if (b->address >= low && b->address <= high)
+ b->address += delta;
+ }
+}
+#endif