From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3631 invoked by alias); 1 Mar 2006 05:58:43 -0000 Received: (qmail 3622 invoked by uid 22791); 1 Mar 2006 05:58:42 -0000 X-Spam-Check-By: sourceware.org Received: from ip127.bb146.pacific.net.hk (HELO mailhub.stlglobal.com) (202.64.146.127) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 01 Mar 2006 05:58:41 +0000 Received: from rccomp.stlglobal.com ([192.168.100.200]) by mailhub.stlglobal.com with esmtp (Exim 4.50) id 1FEKM2-00030s-Q7 for gdb-patches@sources.redhat.com; Wed, 01 Mar 2006 13:58:30 +0800 Message-ID: <4405380F.2090202@tausq.org> Date: Wed, 01 Mar 2006 05:58:00 -0000 From: Randolph Chung User-Agent: Thunderbird 1.5 (Windows/20051201) MIME-Version: 1.0 To: gdb-patches@sources.redhat.com Subject: [RFA] hpread.c cleanups Content-Type: multipart/mixed; boundary="------------050402090100020609030701" Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-03/txt/msg00009.txt.bz2 This is a multi-part message in MIME format. --------------050402090100020609030701 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-length: 480 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/ --------------050402090100020609030701 Content-Type: text/plain; name="hpread.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="hpread.diff" Content-length: 2651 2006-03-01 Randolph Chung * 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) --------------050402090100020609030701--