aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2010-01-09 04:40:02 +0000
committerJoel Brobecker <brobecker@gnat.com>2010-01-09 04:40:02 +0000
commitb2391021b65311d8253c924fc21183dd7c7d0a3c (patch)
treed58d822b68a4c2a3a264ec6bf9f3fb092249d821
parentf2ec0ecff63269d4a88bdca4d244fbae925de740 (diff)
downloadgdb-b2391021b65311d8253c924fc21183dd7c7d0a3c.zip
gdb-b2391021b65311d8253c924fc21183dd7c7d0a3c.tar.gz
gdb-b2391021b65311d8253c924fc21183dd7c7d0a3c.tar.bz2
GDB hangs when attaching to process on mips-irix.
* solib-irix.c (irix_solib_create_inferior_hook): Do nothing if attaching to a process.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/solib-irix.c8
2 files changed, 13 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b7fb8ce..4767db8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
2010-01-09 Joel Brobecker <brobecker@adacore.com>
+ GDB hangs when attaching to process on mips-irix.
+ * solib-irix.c (irix_solib_create_inferior_hook): Do nothing if
+ attaching to a process.
+
+2010-01-09 Joel Brobecker <brobecker@adacore.com>
+
Use the correct breakpoint instruction on mips-irix.
* mips-tdep.c (mips_breakpoint_from_pc): Add new static variable
containing the correct breakpoint instruction to use on mips-irix.
diff --git a/gdb/solib-irix.c b/gdb/solib-irix.c
index 17f7240..ecd5c70 100644
--- a/gdb/solib-irix.c
+++ b/gdb/solib-irix.c
@@ -442,6 +442,13 @@ irix_solib_create_inferior_hook (int from_tty)
struct inferior *inf;
struct thread_info *tp;
+ inf = current_inferior ();
+
+ /* If we are attaching to the inferior, the shared libraries
+ have already been mapped, so nothing more to do. */
+ if (inf->attach_flag)
+ return;
+
if (!enable_break ())
{
warning (_("shared library handler failed to enable breakpoint"));
@@ -453,7 +460,6 @@ irix_solib_create_inferior_hook (int from_tty)
can go groveling around in the dynamic linker structures to find
out what we need to know about them. */
- inf = current_inferior ();
tp = inferior_thread ();
clear_proceed_status ();