aboutsummaryrefslogtreecommitdiff
path: root/gdb/somsolib.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/somsolib.c')
-rw-r--r--gdb/somsolib.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/gdb/somsolib.c b/gdb/somsolib.c
index f75ad9c..fc3d2ad 100644
--- a/gdb/somsolib.c
+++ b/gdb/somsolib.c
@@ -43,8 +43,6 @@ and by Cygnus Support. */
* Do we need/want a command to load a shared library?
- * Test attaching to running dynamically linked code.
-
* Support for hpux8 dynamic linker.
* Support for tracking user calls to dld_load, dld_unload. */
@@ -544,6 +542,29 @@ som_solib_create_inferior_hook()
som_solib_add ((char *) 0, 0, (struct target_ops *) 0);
}
+/* Return the GOT value for the shared library in which ADDR belongs. If
+ ADDR isn't in any known shared library, return zero. */
+
+CORE_ADDR
+som_solib_get_got_by_pc (addr)
+ CORE_ADDR addr;
+{
+ struct so_list *so_list = so_list_head;
+ CORE_ADDR got_value = 0;
+
+ while (so_list)
+ {
+ if (so_list->som_solib.text_addr <= addr
+ && so_list->som_solib.text_end > addr)
+ {
+ got_value = so_list->som_solib.got_value;
+ break;
+ }
+ so_list = so_list->next;
+ }
+ return got_value;
+}
+
/* Dump information about all the currently loaded shared libraries. */
static void