This is the mail archive of the gdb-patches@sourceware.org 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]

[RFA] hpread.c cleanups


The hppa target used to use a objfile private field to store some shared
object information on HPUX. Most of that have been cleaned up, but there
is one more instance in hpread.c. In fact, the current code in cvs will
cause a crash because the objfile private field is not initialized. The
patch changes hpread.c to use the solist interface. Tested lightly on
hppa64-hp-hpux11.11. OK?

randolph
-- 
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/
2006-03-01  Randolph Chung  <tausq@debian.org>

	* hpread.c (hpread_process_one_debug_symbol): Use solist interface to
	retrieve shared object information.
	* hppa-tdep.h (hppa_objfile_private): Remove unused so_info field.
	* Makefile.in (hpread.o): Update dependencies.

Index: hpread.c
===================================================================
RCS file: /cvs/src/src/gdb/hpread.c,v
retrieving revision 1.58
diff -u -p -r1.58 hpread.c
--- hpread.c	17 Dec 2005 22:34:01 -0000	1.58
+++ hpread.c	1 Mar 2006 05:52:14 -0000
@@ -36,6 +36,7 @@
 #include "gdbtypes.h"
 #include "demangle.h"
 #include "solib-som.h"
+#include "solist.h"
 #include "gdb_assert.h"
 #include "hppa-tdep.h"
 
@@ -5764,13 +5765,9 @@ hpread_process_one_debug_symbol (union d
 	       */
 	      struct so_list *so;
               struct hppa_objfile_private *priv;
+	      struct target_so_ops *ops = current_target_so_ops;
 
-              priv = (struct hppa_objfile_private *)
-	        objfile_data (objfile, hppa_objfile_priv_data);
-	      if (priv == NULL)
-		error (_("Internal error in reading shared library information."));
-
-	      so = ((struct hppa_objfile_private *) priv)->so_info;
+	      so = ops->current_sos ();
 	      if (so == NULL)
 		error (_("Internal error in reading shared library information."));
 
Index: hppa-tdep.h
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.h,v
retrieving revision 1.26
diff -u -p -r1.26 hppa-tdep.h
--- hppa-tdep.h	1 Mar 2006 05:43:03 -0000	1.26
+++ hppa-tdep.h	1 Mar 2006 05:52:14 -0000
@@ -211,7 +211,6 @@ struct hppa_unwind_info
 struct hppa_objfile_private
   {
     struct hppa_unwind_info *unwind_info;	/* a pointer */
-    struct so_list *so_info;	/* a pointer  */
     CORE_ADDR dp;
 
     int dummy_call_sequence_reg;
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.789
diff -u -p -r1.789 Makefile.in
--- Makefile.in	28 Feb 2006 22:38:03 -0000	1.789
+++ Makefile.in	1 Mar 2006 05:55:07 -0000
@@ -2039,7 +2039,8 @@ hppa-tdep.o: hppa-tdep.c $(defs_h) $(bfd
 hpread.o: hpread.c $(defs_h) $(bfd_h) $(gdb_string_h) $(hp_symtab_h) \
 	$(syms_h) $(symtab_h) $(symfile_h) $(objfiles_h) $(buildsym_h) \
 	$(complaints_h) $(gdb_stabs_h) $(gdbtypes_h) $(demangle_h) \
-	$(solib_som_h) $(gdb_assert_h) $(hppa_tdep_h) $(gdb_string_h)
+	$(solib_som_h) $(gdb_assert_h) $(hppa_tdep_h) $(gdb_string_h) \
+	$(solist_h)
 hpux-thread.o: hpux-thread.c $(defs_h) $(gdbthread_h) $(target_h) \
 	$(inferior_h) $(regcache_h) $(gdb_stat_h) $(gdbcore_h) \
 	$(hppa_tdep_h)

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