/* Shared library support for IRIX.
Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2004,
- 2007, 2008 Free Software Foundation, Inc.
+ 2007, 2008, 2009 Free Software Foundation, Inc.
This file was created using portions of irix5-nat.c originally
contributed to GDB by Ian Lance Taylor.
#include "gdbcore.h"
#include "target.h"
#include "inferior.h"
+#include "gdbthread.h"
#include "solist.h"
#include "solib.h"
this routine automatically determines which (of three) link map
formats is in use by the target. */
-struct lm_info
+static struct lm_info
fetch_lm_info (CORE_ADDR addr)
{
struct lm_info li;
static void
irix_solib_create_inferior_hook (void)
{
+ struct inferior *inf;
+ struct thread_info *tp;
+
if (!enable_break ())
{
warning (_("shared library handler failed to enable breakpoint"));
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 ();
- stop_soon = STOP_QUIETLY;
- stop_signal = TARGET_SIGNAL_0;
+
+ inf->stop_soon = STOP_QUIETLY;
+ tp->stop_signal = TARGET_SIGNAL_0;
+
do
{
- target_resume (pid_to_ptid (-1), 0, stop_signal);
+ target_resume (pid_to_ptid (-1), 0, tp->stop_signal);
wait_for_inferior (0);
}
- while (stop_signal != TARGET_SIGNAL_TRAP);
+ while (tp->stop_signal != TARGET_SIGNAL_TRAP);
/* We are now either at the "mapping complete" breakpoint (or somewhere
else, a condition we aren't prepared to deal with anyway), so adjust
Delaying the resetting of stop_soon until after symbol loading
suppresses the warning. */
solib_add ((char *) 0, 0, (struct target_ops *) 0, auto_solib_add);
- stop_soon = NO_STOP_QUIETLY;
+ inf->stop_soon = NO_STOP_QUIETLY;
}
/* LOCAL FUNCTION
char *filename;
if (symfile_objfile)
- if (!query ("Attempt to reload symbols from process? "))
+ if (!query (_("Attempt to reload symbols from process? ")))
return 0;
if ((debug_base = locate_base ()) == 0)
struct target_so_ops irix_so_ops;
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern initialize_file_ftype _initialize_irix_solib;
+
void
_initialize_irix_solib (void)
{