*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / solib-svr4.h
index 082b3e25fe537295f393a5ea1418194b3cd041be..3cb2e31fc2248d7799dbe2f199de9b3eab41515d 100644 (file)
@@ -1,7 +1,6 @@
 /* Handle shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2000, 2004
-   Free Software Foundation, Inc.
+   Copyright (C) 2000, 2004, 2006, 2007 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -24,6 +23,9 @@
 #define SOLIB_SVR4_H
 
 struct objfile;
+struct target_so_ops;
+
+extern struct target_so_ops svr4_so_ops;
 
 /* Critical offsets and sizes which describe struct r_debug and
    struct link_map on SVR4-like targets.  All offsets and sizes are
@@ -31,15 +33,14 @@ struct objfile;
 
 struct link_map_offsets
   {
-    /* Size of struct r_debug (or equivalent), or at least enough of it to
-       be able to obtain the r_map field.  */
-    int r_debug_size;
+    /* Offset and size of r_debug.r_version.  */
+    int r_version_offset, r_version_size;
 
-    /* Offset to the r_map field in struct r_debug.  */
+    /* Offset of r_debug.r_map.  */
     int r_map_offset;
 
-    /* Size of the r_map field in struct r_debug.  */
-    int r_map_size;
+    /* Offset of r_debug.r_ldsomap.  */
+    int r_ldsomap_offset;
 
     /* Size of struct link_map (or equivalent), or at least enough of it
        to be able to obtain the fields below.  */
@@ -48,26 +49,17 @@ struct link_map_offsets
     /* Offset to l_addr field in struct link_map.  */
     int l_addr_offset;
 
-    /* Size of l_addr field in struct link_map.  */
-    int l_addr_size;
+    /* Offset to l_ld field in struct link_map.  */
+    int l_ld_offset;
 
     /* Offset to l_next field in struct link_map.  */
     int l_next_offset;
 
-    /* Size of l_next field in struct link_map.  */
-    int l_next_size;
-
     /* Offset to l_prev field in struct link_map.  */
     int l_prev_offset;
 
-    /* Size of l_prev field in struct link_map.  */
-    int l_prev_size;
-
     /* Offset to l_name field in struct link_map.  */
     int l_name_offset;
-
-    /* Size of l_name field in struct link_map.  */
-    int l_name_size;
   };
 
 /* set_solib_svr4_fetch_link_map_offsets() is intended to be called by
@@ -92,4 +84,8 @@ extern struct link_map_offsets *(*legacy_svr4_fetch_link_map_offsets_hook) (void
 extern struct link_map_offsets *svr4_ilp32_fetch_link_map_offsets (void);
 extern struct link_map_offsets *svr4_lp64_fetch_link_map_offsets (void);
 
+/* Return 1 if PC lies in the dynamic symbol resolution code of the
+   SVR4 run time loader.  */
+int svr4_in_dynsym_resolve_code (CORE_ADDR pc);
+
 #endif /* solib-svr4.h */
This page took 0.025312 seconds and 4 git commands to generate.