summaryrefslogtreecommitdiff
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
commitc0e4a55c5f803c443188d3a87cdc68fdd481280d (patch)
tree325fed73958a2138cf650709b682aba08eae53c3 /gdb/somsolib.c
parentf59fb54cdd76b4232f86af86789b268340ee20e4 (diff)
downloadgdb-c0e4a55c5f803c443188d3a87cdc68fdd481280d.tar.gz
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 474e2574c15..c66946bfb7d 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.