This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: patch to allow target defined solib search method


Here you go.  I chopped up the long lines and used your formatting for the
ChangeLog.  I also added myself to MAINTAINERS at the bottom of the patch.
Makes sense since I'm the gdb guy at QNX now.  Sorry about the missing tabs
in the ChangeLog.  Outlook doesn't DO tabs...I guess Microsoft doesn't
believe in them. :-P  Would it be better if I just attached text files next
time?

cheers,

Kris

ChangeLog Entry
    * solib.c (solib_open): Call target specific search function after
                                         failing with solib-search-path.
    * solist.h (struct target_so_ops): Add find_and_open_solib().
                   (TARGET_SO_FIND_AND_OPEN_SOLIB): Define.


Index: solib.c
===================================================================
RCS file: /cvs/src/src/gdb/solib.c,v
retrieving revision 1.54
diff -u -r1.54 solib.c
--- solib.c 20 Feb 2003 18:25:27 -0000 1.54
+++ solib.c 22 Feb 2003 04:21:45 -0000
@@ -160,6 +160,11 @@
                         1, lbasename (in_pathname), O_RDONLY, 0,
                         &temp_pathname);

+  /* If not found, try to use target supplied solib search method */
+  if (found_file < 0 && TARGET_SO_FIND_AND_OPEN_SOLIB != NULL)
+    found_file = TARGET_SO_FIND_AND_OPEN_SOLIB
+                 (in_pathname, O_RDONLY, &temp_pathname);
+
   /* If not found, next search the inferior's $PATH environment variable.
*/
   if (found_file < 0 && solib_search_path != NULL)
     found_file = openp (get_in_environ (inferior_environ, "PATH"),
Index: solist.h
===================================================================
RCS file: /cvs/src/src/gdb/solist.h,v
retrieving revision 1.7
diff -u -r1.7 solist.h
--- solist.h 21 Oct 2001 19:20:30 -0000 1.7
+++ solist.h 22 Feb 2003 04:21:45 -0000
@@ -99,6 +99,12 @@
     /* Determine if PC lies in the dynamic symbol resolution code of
        the run time loader */
     int (*in_dynsym_resolve_code) (CORE_ADDR pc);
+
+    /* Extra hook for finding and opening a solib.  Convenience function
+       for remote debuggers finding host libs */
+    int (*find_and_open_solib) (char *soname,
+        unsigned o_flags, char **temp_pathname);
+
   };

 void free_so (struct so_list *so);
@@ -122,5 +128,7 @@
   (current_target_so_ops->open_symbol_file_object)
 #define TARGET_SO_IN_DYNSYM_RESOLVE_CODE \
   (current_target_so_ops->in_dynsym_resolve_code)
+#define TARGET_SO_FIND_AND_OPEN_SOLIB \
+  (current_target_so_ops->find_and_open_solib)

 #endif
Index: MAINTAINERS
===================================================================
RCS file: /cvs/src/src/gdb/MAINTAINERS,v
retrieving revision 1.223
diff -u -r1.223 MAINTAINERS
--- MAINTAINERS 4 Feb 2003 23:26:43 -0000 1.223
+++ MAINTAINERS 22 Feb 2003 04:21:45 -0000
@@ -200,6 +200,8 @@
    Peter Schauer  Peter dot Schauer at regent dot e-technik dot tu-muenchen dot de
 Solaris/SPARC native & host (devolved)
                         Michael Snyder          msnyder at redhat dot com
+QNX Neutrino i386 native & remote
+                        Kris Warkentin          kewarken at qnx dot com




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]