diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-02-01 23:34:05 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-02-01 23:34:05 +0000 |
commit | c0e4a55c5f803c443188d3a87cdc68fdd481280d (patch) | |
tree | 325fed73958a2138cf650709b682aba08eae53c3 /gdb/somsolib.c | |
parent | f59fb54cdd76b4232f86af86789b268340ee20e4 (diff) | |
download | gdb-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.c | 19 |
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. |