Patch from David Mosberger.
[deliverable/binutils-gdb.git] / gdb / somsolib.c
index fdb2e16c27a6841e43a8f2f621924b79e2a71da6..474e2574c15039436b5efc7ed0114381a320a190 100644 (file)
@@ -1,6 +1,7 @@
 /* Handle HP SOM shared libraries for GDB, the GNU Debugger.
-   Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+
+   Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002,
+   2003 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -38,7 +39,6 @@
 #include "gdb-stabs.h"
 #include "gdb_stat.h"
 #include "gdbcmd.h"
-#include "assert.h"
 #include "language.h"
 #include "regcache.h"
 
@@ -191,7 +191,7 @@ addr_and_unwind_t;
 /* When adding fields, be sure to clear them in _initialize_som_solib. */
 static struct
   {
-    boolean is_valid;
+    int is_valid;
     addr_and_unwind_t hook;
     addr_and_unwind_t hook_stub;
     addr_and_unwind_t load;
@@ -319,7 +319,7 @@ som_solib_add_solib_objfile (struct so_list *so, char *name, int from_tty,
                       sizeof (obj_private_data_t));
       obj_private->unwind_info = NULL;
       obj_private->so_info = NULL;
-      so->objfile->obj_private = (PTR) obj_private;
+      so->objfile->obj_private = obj_private;
     }
 
   obj_private = (obj_private_data_t *) so->objfile->obj_private;
@@ -418,7 +418,8 @@ som_solib_add (char *arg_string, int from_tty, struct target_ops *target, int re
   int threshold_warning_given = 0;
 
   /* First validate our arguments.  */
-  if ((re_err = re_comp (arg_string ? arg_string : ".")) != NULL)
+  re_err = re_comp (arg_string ? arg_string : ".");
+  if (re_err != NULL)
     {
       error ("Invalid regexp: %s", re_err);
     }
@@ -777,6 +778,7 @@ som_solib_add (char *arg_string, int from_tty, struct target_ops *target, int re
       st_size = som_solib_sizeof_symbol_table (name);
       som_solib_st_size_threshold_exceeded =
        !from_tty &&
+       auto_solib_limit > 0 &&
        readsyms &&
        ((st_size + som_solib_total_st_size) > (auto_solib_limit * (LONGEST) (1024 * 1024)));
 
@@ -868,15 +870,15 @@ som_solib_create_inferior_hook (void)
     return;
 
   have_endo = 0;
-  /* Slam the pid of the process into __d_pid; failing is only a warning!  */
+  /* Slam the pid of the process into __d_pid.
+
+     We used to warn when this failed, but that warning is only useful
+     on very old HP systems (hpux9 and older).  The warnings are an
+     annoyance to users of modern systems and foul up the testsuite as
+     well.  As a result, the warnings have been disabled.  */
   msymbol = lookup_minimal_symbol ("__d_pid", NULL, symfile_objfile);
   if (msymbol == NULL)
-    {
-      warning ("Unable to find __d_pid symbol in object file.");
-      warning ("Suggest linking with /opt/langtools/lib/end.o.");
-      warning ("GDB will be unable to track shl_load/shl_unload calls");
-      goto keep_going;
-    }
+    goto keep_going;
 
   anaddr = SYMBOL_VALUE_ADDRESS (msymbol);
   store_unsigned_integer (buf, 4, PIDGET (inferior_ptid));
This page took 0.024125 seconds and 4 git commands to generate.