aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib-legacy.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2006-02-02 22:15:01 +0000
committerMark Kettenis <kettenis@gnu.org>2006-02-02 22:15:01 +0000
commite4cd0d6a2669159e399359ff2cb59dd93668f056 (patch)
tree6954ecef430a59241e88db40ab413e0f99f95f1e /gdb/solib-legacy.c
parentde205c03b963123f4f7fecd0520861b161b3795e (diff)
downloadgdb-e4cd0d6a2669159e399359ff2cb59dd93668f056.zip
gdb-e4cd0d6a2669159e399359ff2cb59dd93668f056.tar.gz
gdb-e4cd0d6a2669159e399359ff2cb59dd93668f056.tar.bz2
* solib-svr4.h (struct link_map_offsets): Remove r_debug_size and
r_map_size members. Add r_version_offset, r_version_size and r_ldsomap_offset members. * solib-svr4.c (solib_svr4_r_map): Renamed from fetch_link_map_member. Simplify using read_memory_typed_address. (solib_svr4_r_ldsomap): New function. (open_symbol_file_object): Use solib_svr_r_map. (svr4_current_sos): Use solib_svr4_r_map and look for the dynamic linker by using solib_svr4_r_ldsomap. (svr4_ilp32_fetch_link_map_offsets) (svr4_lp64_fetch_link_map_offsets): Adjust for changes to `struct link_map_offsets'. * solib-legacy.c (legacy_svr4_fetch_link_map_offsets): Adjust for changes to `struct link_map_offsets'. * mipsnbsd-tdep.c (mipsnbsd_ilp32_fetch_link_map_offsets) (mipsnbsd_lp64_fetch_link_map_offsets): Adjust for changes to `struct link_map_offsets'.
Diffstat (limited to 'gdb/solib-legacy.c')
-rw-r--r--gdb/solib-legacy.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/gdb/solib-legacy.c b/gdb/solib-legacy.c
index 237df34..6789993 100644
--- a/gdb/solib-legacy.c
+++ b/gdb/solib-legacy.c
@@ -1,5 +1,6 @@
/* Provide legacy r_debug and link_map support for SVR4-like native targets.
- Copyright (C) 2000, 2001
+
+ Copyright (C) 2000, 2001, 2006
Free Software Foundation, Inc.
This file is part of GDB.
@@ -55,10 +56,10 @@ legacy_svr4_fetch_link_map_offsets (void)
lmp = &lmo;
#ifdef HAVE_STRUCT_LINK_MAP_WITH_L_MEMBERS
- lmo.r_debug_size = sizeof (struct r_debug);
-
+ lmo.r_version_offset = offsetof (struct r_debug, r_version);
+ lmo.r_version_size = fieldsize (struct r_debug, r_version);
lmo.r_map_offset = offsetof (struct r_debug, r_map);
- lmo.r_map_size = fieldsize (struct r_debug, r_map);
+ lmo.r_ldsomap_offset = -1;
lmo.link_map_size = sizeof (struct link_map);
@@ -107,10 +108,10 @@ legacy_svr4_fetch_link_map_offsets (void)
{
lmp32 = &lmo32;
- lmo32.r_debug_size = sizeof (struct r_debug32);
-
+ lmo32.r_version_offset = offsetof (struct r_debug32, r_version);
+ lmo32.r_version_size = fieldsize (struct r_debug32, r_version);
lmo32.r_map_offset = offsetof (struct r_debug32, r_map);
- lmo32.r_map_size = fieldsize (struct r_debug32, r_map);
+ lmo32.r_ldsomap_offset = -1;
lmo32.link_map_size = sizeof (struct link_map32);