- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#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 = 0, l_addr_inferior = 0;
+ bool l_addr_p = false;
+
+ /* The target location of lm. */
+ CORE_ADDR lm_addr = 0;
+
+ /* Values read in from inferior's fields of the same name. */
+ CORE_ADDR l_ld = 0, l_next = 0, l_prev = 0, l_name = 0;
+};