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 | 9a043c1d0c3e8a873b2cd90f6e048c77d2efdc8a (patch) | |
tree | 58a5484a279efb44d8b29cc0a3acfdcf3abb8078 /gdb/somsolib.c | |
parent | b66cc1a0d2931b856edd960b481f7d8c2d75598e (diff) | |
download | gdb-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.c | 19 |
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. |