From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26665 invoked by alias); 23 Oct 2003 16:00:28 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 26643 invoked from network); 23 Oct 2003 16:00:27 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 23 Oct 2003 16:00:27 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.11.6/8.11.6) with ESMTP id h9NG0QM10937 for ; Thu, 23 Oct 2003 12:00:26 -0400 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [172.16.52.156]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id h9NG0Qr10711 for ; Thu, 23 Oct 2003 12:00:26 -0400 Received: from localhost.localdomain (vpn50-2.rdu.redhat.com [172.16.50.2]) by pobox.corp.redhat.com (8.12.8/8.12.8) with ESMTP id h9NG0NcY020259; Thu, 23 Oct 2003 12:00:24 -0400 Received: (from kev@localhost) by localhost.localdomain (8.11.6/8.11.6) id h9NG0HY13796; Thu, 23 Oct 2003 09:00:17 -0700 Date: Thu, 23 Oct 2003 16:00:00 -0000 From: Kevin Buettner Message-Id: <1031023160017.ZM13795@localhost.localdomain> In-Reply-To: Andrew Cagney "[rfa:ppc64] Use target in convert_from_func_ptr_addr" (Oct 22, 9:37pm) References: <3F9730C3.1040308@redhat.com> To: Andrew Cagney , gdb-patches@sources.redhat.com Subject: Re: [rfa:ppc64] Use target in convert_from_func_ptr_addr MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2003-10/txt/msg00695.txt.bz2 On Oct 22, 9:37pm, Andrew Cagney wrote: > The attached rewrites the PPC64 GNU/Linux convert_from_func_ptr_addr > method so that it makes use of the explicit "struct target_ops" > parameter I recently added (previously it was indirectly using > current_target). [...] > Index: ppc-linux-tdep.c > =================================================================== > RCS file: /cvs/src/src/gdb/ppc-linux-tdep.c,v > retrieving revision 1.44 > diff -u -r1.44 ppc-linux-tdep.c > --- ppc-linux-tdep.c 22 Oct 2003 23:54:11 -0000 1.44 > +++ ppc-linux-tdep.c 23 Oct 2003 01:32:51 -0000 > @@ -936,14 +936,14 @@ > CORE_ADDR addr, > struct target_ops *targ) > { > - struct obj_section *s; > - > - s = find_pc_section (addr); > - > - /* Check if ADDR points to a function descriptor. */ > - if (s && strcmp (s->the_bfd_section->name, ".opd") == 0) > - return read_memory_unsigned_integer (addr, 8); > - > + struct section_table *s = target_section_by_addr (targ, addr); > + if (s != NULL && s->the_bfd_section != NULL > + && strcmp (s->the_bfd_section->name, ".opd") == 0) > + { > + char desc[8]; > + target_read (targ, TARGET_OBJECT_MEMORY, NULL, desc, addr, 8); > + return extract_unsigned_integer (desc, 8); > + } > return addr; > } IMO, this version of the code is harder to read than the old version. Can you explain what using an explicit `struct target_ops'' parameter buys us? Kevin