aboutsummaryrefslogtreecommitdiff
path: root/gdb/somsolib.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-02-01 23:34:05 +0000
committerAndrew Cagney <cagney@redhat.com>2003-02-01 23:34:05 +0000
commit9a043c1d0c3e8a873b2cd90f6e048c77d2efdc8a (patch)
tree58a5484a279efb44d8b29cc0a3acfdcf3abb8078 /gdb/somsolib.c
parentb66cc1a0d2931b856edd960b481f7d8c2d75598e (diff)
downloadgdb-9a043c1d0c3e8a873b2cd90f6e048c77d2efdc8a.zip
gdb-9a043c1d0c3e8a873b2cd90f6e048c77d2efdc8a.tar.gz
gdb-9a043c1d0c3e8a873b2cd90f6e048c77d2efdc8a.tar.bz2
2003-02-01 Andrew Cagney <ac131313@redhat.com>
* defs.h (host_pointer_to_address): Delete declaration. (address_to_host_pointer): Delete declaration. * utils.c (host_pointer_to_address): Delete function. (address_to_host_pointer): Delete function. * procfs.c (procfs_address_to_host_pointer): New function. * procfs.c (proc_set_watchpoint): Use. (procfs_can_use_hw_breakpoint): Update comments. * somsolib.c (hpux_address_to_host_pointer_hack): New function. (som_solib_add): Use. * hppa-tdep.c (hppa_pointer_to_address_hack): New function. * hppa-tdep.c (unwind_command): Use.
Diffstat (limited to 'gdb/somsolib.c')
-rw-r--r--gdb/somsolib.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/gdb/somsolib.c b/gdb/somsolib.c
index 474e257..c66946b 100644
--- a/gdb/somsolib.c
+++ b/gdb/somsolib.c
@@ -401,6 +401,21 @@ som_solib_load_symbols (struct so_list *so, char *name, int from_tty,
}
+/* FIXME: cagney/2003-02-01: This just isn't right. Given an address
+ within the target's address space, this converts the value into an
+ address within the host's (i.e., GDB's) address space. Given that
+ the host/target address spaces are separate, this can't be right. */
+
+static void *
+hpux_address_to_host_pointer_hack (CORE_ADDR addr)
+{
+ void *ptr;
+
+ gdb_assert (sizeof (ptr) == TYPE_LENGTH (builtin_type_void_data_ptr));
+ ADDRESS_TO_POINTER (builtin_type_void_data_ptr, &ptr, addr);
+ return ptr;
+}
+
/* Add symbols from shared libraries into the symtab list, unless the
size threshold specified by auto_solib_limit (in megabytes) would
be exceeded. */
@@ -715,8 +730,10 @@ som_solib_add (char *arg_string, int from_tty, struct target_ops *target, int re
if (status != 0)
goto err;
+ /* FIXME: cagney/2003-02-01: I think som_solib.next should be a
+ CORE_ADDR. */
new_so->som_solib.next =
- address_to_host_pointer (extract_unsigned_integer (buf, 4));
+ hpux_address_to_host_pointer_hack (extract_unsigned_integer (buf, 4));
/* Note that we don't re-set "addr" to the next pointer
* until after we've read the trailing data.