aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/rs6000-nat.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4852d1f..c5f0a6b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2007-05-19 Joel Brobecker <brobecker@adacore.com>
+
+ * rs6000-nat.c (xcoff_relocate_symtab): Do nothing if debugging
+ a core file. Add comment in the function description.
+
2007-05-18 Caroline Tice <ctice@apple.com>
* c-valprint.c (c_value_print): If the initialized field of the
diff --git a/gdb/rs6000-nat.c b/gdb/rs6000-nat.c
index efb40e6..3be2e9f 100644
--- a/gdb/rs6000-nat.c
+++ b/gdb/rs6000-nat.c
@@ -1016,7 +1016,9 @@ rs6000_create_inferior (char *exec_file, char *allargs, char **env, int from_tty
/* xcoff_relocate_symtab - hook for symbol table relocation.
- also reads shared libraries. */
+
+ This is only applicable to live processes, and is a no-op when
+ debugging a core file. */
void
xcoff_relocate_symtab (unsigned int pid)
@@ -1028,6 +1030,9 @@ xcoff_relocate_symtab (unsigned int pid)
int ldisize = arch64 ? sizeof (ldi->l64) : sizeof (ldi->l32);
int size;
+ if (ptid_equal (inferior_ptid, null_ptid))
+ return;
+
do
{
size = load_segs * ldisize;