Memory leaks and ineffective bounds checking in wasm_scan
[deliverable/binutils-gdb.git] / gdb / solib-svr4.h
index bb0acfe4a8ee354c8322aeaa9687e08120fd7d84..30dd6bc0b368d1643f8f78fa2e5bd4c3db998f14 100644 (file)
@@ -1,6 +1,6 @@
 /* Handle shared libraries for GDB, the GNU Debugger.
 
-   Copyright (C) 2000, 2004, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2000-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #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;
+};
+
 /* 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.  */
@@ -37,6 +60,9 @@ struct link_map_offsets
     /* Offset of r_debug.r_map.  */
     int r_map_offset;
 
+    /* Offset of r_debug.r_brk.  */
+    int r_brk_offset;
+
     /* Offset of r_debug.r_ldsomap.  */
     int r_ldsomap_offset;
 
@@ -72,11 +98,6 @@ extern void set_solib_svr4_fetch_link_map_offsets
    link map for the given objfile.  */
 extern CORE_ADDR svr4_fetch_objfile_link_map (struct objfile *objfile);
 
-/* legacy_svr4_fetch_link_map_offsets_hook is a pointer to a function
-   which is used to fetch link map offsets.  It will only be set
-   by solib-legacy.c, if at all.  */
-extern struct link_map_offsets *(*legacy_svr4_fetch_link_map_offsets_hook) (void);
-
 /* Fetch (and possibly build) an appropriate `struct link_map_offsets'
    for ILP32 and LP64 SVR4 systems.  */
 extern struct link_map_offsets *svr4_ilp32_fetch_link_map_offsets (void);
This page took 0.03397 seconds and 4 git commands to generate.