Make various lm_info implementations inherit from a base class
[deliverable/binutils-gdb.git] / gdb / solib-svr4.h
index b97fbd62f5d9f2e0a3d421c66f6493c30df7bf6e..a9b09aa56c8f978df822adaca22f41682e8ff179 100644 (file)
 #ifndef SOLIB_SVR4_H
 #define SOLIB_SVR4_H
 
+#include "solist.h"
+
 struct objfile;
 struct target_so_ops;
 
 extern struct target_so_ops svr4_so_ops;
 
+/* Link map info to include in an allocated so_list entry.  */
+
+struct lm_info_svr4 : public lm_info_base
+{
+  /* Amount by which addresses in the binary should be relocated to
+     match the inferior.  The direct inferior value is L_ADDR_INFERIOR.
+     When prelinking is involved and the prelink base address changes,
+     we may need a different offset - the recomputed offset is in L_ADDR.
+     It is commonly the same value.  It is cached as we want to warn about
+     the difference and compute it only once.  L_ADDR is valid
+     iff L_ADDR_P.  */
+  CORE_ADDR l_addr, l_addr_inferior;
+  unsigned int l_addr_p : 1;
+
+  /* The target location of lm.  */
+  CORE_ADDR lm_addr;
+
+  /* Values read in from inferior's fields of the same name.  */
+  CORE_ADDR l_ld, l_next, l_prev, l_name;
+};
+
 /* Critical offsets and sizes which describe struct r_debug and
    struct link_map on SVR4-like targets.  All offsets and sizes are
    in bytes unless otherwise specified.  */
This page took 0.024097 seconds and 4 git commands to generate.