* solib-sunos.c [HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS] (link_map)
authorMark Kettenis <kettenis@gnu.org>
Fri, 8 Oct 2004 19:49:34 +0000 (19:49 +0000)
committerMark Kettenis <kettenis@gnu.org>
Fri, 8 Oct 2004 19:49:34 +0000 (19:49 +0000)
(lm_addr, lm_name, lm_next, link_dynamic_2, ld_loaded, rtc_symb)
(rtc_sp, rtc_next, ld_debug, ldd_in_debugger, ldd_bp_addr)
(ldd_bp_inst, ldd_cp, link_dynamic, ld_version, ldd, ld_un, ld_2):
New defines.

gdb/ChangeLog
gdb/solib-sunos.c

index 85d1d41a6b5f943b9015fbbcf1fdcc876bb48448..bef6e178fa9b57bb690e74bc9b5589cbf3501649 100644 (file)
@@ -1,3 +1,11 @@
+2004-10-02  Mark Kettenis  <kettenis@gnu.org>
+
+       * solib-sunos.c [HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS] (link_map)
+       (lm_addr, lm_name, lm_next, link_dynamic_2, ld_loaded, rtc_symb)
+       (rtc_sp, rtc_next, ld_debug, ldd_in_debugger, ldd_bp_addr)
+       (ldd_bp_inst, ldd_cp, link_dynamic, ld_version, ldd, ld_un, ld_2):
+       New defines.
+
 2004-10-08  Jeff Johnston  <jjohnstn@redhat.com>
 
        * target.h (to_stopped_data_address): Change prototype to
index 23b7dd278d3744846884c719e44857ac5c4e798d..52376366406e83e380eff538395a89cd5267626a 100644 (file)
@@ -1,7 +1,7 @@
 /* Handle SunOS shared libraries for GDB, the GNU Debugger.
-   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000,
-   2001, 2004
-   Free Software Foundation, Inc.
+
+   Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 1999,
+   2000, 2001, 2004 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -28,7 +28,7 @@
 #include <sys/param.h>
 #include <fcntl.h>
 
- /* SunOS shared libs need the nlist structure.  */
+/* SunOS shared libs need the nlist structure.  */
 #include <a.out.h>
 #include <link.h>
 
 #include "bcache.h"
 #include "regcache.h"
 
+/* The shared library implementation found on BSD a.out systems is
+   very similar to the SunOS implementation.  However, the data
+   structures defined in <link.h> are named very differently.  Make up
+   for those differences here.  */
+
+#ifdef HAVE_STRUCT_SO_MAP_WITH_SOM_MEMBERS
+
+/* FIXME: Temporary until the equivalent defines have been removed
+   from all nm-*bsd*.h files.  */
+#ifndef link_dynamic
+
+/* Map `struct link_map' and its members.  */
+#define link_map       so_map
+#define lm_addr                som_addr
+#define lm_name                som_path
+#define lm_next                som_next
+
+/* Map `struct link_dynamic_2' and its members.  */
+#define link_dynamic_2 section_dispatch_table
+#define ld_loaded      sdt_loaded
+
+/* Map `struct rtc_symb' and its members.  */
+#define rtc_symb       rt_symbol
+#define rtc_sp         rt_sp
+#define rtc_next       rt_next
+
+/* Map `struct ld_debug' and its members.  */
+#define ld_debug       so_debug
+#define ldd_in_debugger        dd_in_debugger
+#define ldd_bp_addr    dd_bpt_addr
+#define ldd_bp_inst    dd_bpt_shadow
+#define ldd_cp         dd_cc
+
+/* Map `struct link_dynamic' and its members.  */
+#define link_dynamic   _dynamic
+#define ld_version     d_version
+#define ldd            d_debug
+#define ld_un          d_un
+#define ld_2           d_sdt
+
+#endif
+
+#endif
+
 /* Link map info to include in an allocated so_list entry */
 
 struct lm_info