* dlltool.c (add_stdcall_underscore): New flag.
[deliverable/binutils-gdb.git] / gdb / solib-som.c
index 73d2eb0aca900f42b33a7d240924cb6ff0557728..3d027ccf70cbb04f80a4c4f1fd382648cfddcb36 100644 (file)
@@ -1,6 +1,6 @@
-/* Handle SOM shared libraries for GDB, the GNU Debugger.
+/* Handle SOM shared libraries.
 
-   Copyright 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -16,8 +16,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., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 #include "defs.h"
 #include "som.h"
@@ -253,7 +253,7 @@ GDB will be unable to track shl_load/shl_unload calls"));
   msymbol = lookup_minimal_symbol ("__d_trap", NULL, symfile_objfile);
   if (msymbol == NULL)
     {
-      warning (_(\
+      warning (_("\
 Unable to find __dld_d_trap symbol in object file.\n\
 Suggest linking with /opt/langtools/lib/end.o.\n\
 GDB will be unable to track shl_load/shl_unload calls"));
@@ -313,50 +313,6 @@ keep_going:
   clear_symtab_users ();
 }
 
-/* This operation removes the "hook" between GDB and the dynamic linker,
-   which causes the dld to notify GDB of shared library events.
-
-   After this operation completes, the dld will no longer notify GDB of
-   shared library events.  To resume notifications, GDB must call
-   som_solib_create_inferior_hook.
-
-   This operation does not remove any knowledge of shared libraries
-   of which GDB may already have been notified.
- */
-static void
-som_solib_remove_inferior_hook (int pid)
-{
-  CORE_ADDR addr;
-  struct minimal_symbol *msymbol;
-  int status;
-  char dld_flags_buffer[4];
-  unsigned int dld_flags_value;
-  struct cleanup *old_cleanups = save_inferior_ptid ();
-
-  /* Ensure that we're really operating on the specified process. */
-  inferior_ptid = pid_to_ptid (pid);
-
-  /* We won't bother to remove the solib breakpoints from this process.
-
-     In fact, on PA64 the breakpoint is hard-coded into the dld callback,
-     and thus we're not supposed to remove it.
-
-     Rather, we'll merely clear the dld_flags bit that enables callbacks.
-   */
-  msymbol = lookup_minimal_symbol ("__dld_flags", NULL, NULL);
-
-  addr = SYMBOL_VALUE_ADDRESS (msymbol);
-  status = target_read_memory (addr, dld_flags_buffer, 4);
-
-  dld_flags_value = extract_unsigned_integer (dld_flags_buffer, 4);
-
-  dld_flags_value &= ~DLD_FLAGS_HOOKVALID;
-  store_unsigned_integer (dld_flags_buffer, 4, dld_flags_value);
-  status = target_write_memory (addr, dld_flags_buffer, 4);
-
-  do_cleanups (old_cleanups);
-}
-
 static void
 som_special_symbol_handling (void)
 {
@@ -601,9 +557,10 @@ som_current_sos (void)
       new->lm_info = xmalloc (sizeof (struct lm_info));
       make_cleanup (xfree, new->lm_info);
 
-      read_memory (lm, (char *)&dbuf, sizeof (struct dld_list));
+      read_memory (lm, (gdb_byte *)&dbuf, sizeof (struct dld_list));
 
-      addr = extract_unsigned_integer (&dbuf.name, sizeof (dbuf.name));
+      addr = extract_unsigned_integer ((gdb_byte *)&dbuf.name,
+                                      sizeof (dbuf.name));
       target_read_string (addr, &namebuf, SO_NAME_MAX_PATH_SIZE - 1, &errcode);
       if (errcode != 0)
        warning (_("Can't read pathname for load map: %s."),
@@ -624,7 +581,7 @@ som_current_sos (void)
            lmi->lm_addr = lm;
 
 #define EXTRACT(_fld) \
-  extract_unsigned_integer (&dbuf._fld, sizeof (dbuf._fld));
+  extract_unsigned_integer ((gdb_byte *)&dbuf._fld, sizeof (dbuf._fld));
 
            lmi->text_addr = EXTRACT (text_addr);
            tmp = EXTRACT (info);
This page took 0.024997 seconds and 4 git commands to generate.