From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18727 invoked by alias); 20 Mar 2013 18:40:54 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 18595 invoked by uid 89); 20 Mar 2013 18:40:43 -0000 X-Spam-SWARE-Status: No, score=-7.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS,TW_BJ autolearn=ham version=3.3.1 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 20 Mar 2013 18:40:40 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r2KIece6014170 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 20 Mar 2013 14:40:39 -0400 Received: from host2.jankratochvil.net (ovpn-116-42.ams2.redhat.com [10.36.116.42]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r2KIeY9W019719 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 20 Mar 2013 14:40:37 -0400 Date: Wed, 20 Mar 2013 19:06:00 -0000 From: Jan Kratochvil To: Tom Tromey Cc: gdb-patches@sourceware.org Subject: Re: RFC: fix latent bug in syms_from_objfile_1 Message-ID: <20130320184034.GA708@host2.jankratochvil.net> References: <87ip4m7wxy.fsf@fleche.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87ip4m7wxy.fsf@fleche.redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes X-SW-Source: 2013-03/txt/msg00765.txt.bz2 On Wed, 20 Mar 2013 19:22:49 +0100, Tom Tromey wrote: > --- symfile.c 14 Mar 2013 20:26:19 -0000 1.367 > +++ symfile.c 20 Mar 2013 18:19:42 -0000 > @@ -997,7 +997,7 @@ > > We no longer warn if the lowest section is not a text segment (as > happens for the PA64 port. */ > - if (addrs && addrs->other[0].name) > + if (addrs && addrs->num_sections > 0 && addrs->other[0].name) > addr_info_make_relative (addrs, objfile->obfd); > > /* Initialize symbol reading routines for this objfile, allow complaints to I find it just fixes a regression introduced by: commit 2679ab4be931bedfc7987d215bc336b912364906 Author: Elena Zannoni Date: Fri Jun 27 13:11:17 2003 +0000 And it also matches how addr_info_make_relative and other code handles ADDRS. The problem is that alloc_section_addr_info sets NUM_SECTIONS while they are not yet filled in which leads to those ugly "&& ->other[x].name" checks... Thanks, Jan