From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6638 invoked by alias); 21 Dec 2001 12:32:32 -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 6075 invoked from network); 21 Dec 2001 12:31:10 -0000 Received: from unknown (HELO cerbere.u-strasbg.fr) (130.79.112.7) by sources.redhat.com with SMTP; 21 Dec 2001 12:31:10 -0000 Received: from laocoon (laocoon.u-strasbg.fr [130.79.112.72]) by cerbere.u-strasbg.fr (8.9.3/8.8.7) with ESMTP id NAA17673; Fri, 21 Dec 2001 13:31:00 +0100 Message-Id: <4.2.0.58.20011221115947.01848210@ics.u-strasbg.fr> X-Sender: muller@ics.u-strasbg.fr X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Fri, 21 Dec 2001 04:32:00 -0000 To: Michael Snyder , gdb-patches@sources.redhat.com From: Pierre Muller Subject: Re: [PATCH] Further extend "maint info sections" cmd with ALLOBJ In-Reply-To: <4.2.0.58.20011221115135.00acb908@ics.u-strasbg.fr> References: <200112202230.fBKMUAO31066@reddwarf.cygnus.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-SW-Source: 2001-12/txt/msg00558.txt.bz2 At 11:53 21/12/2001 , Pierre Muller a écrit: >At 23:30 20/12/2001 , Michael Snyder a écrit: > > >As a further extension, the "maint info sections" command > >will now accept an argument "ALLOBJ" to iterate over all > >known object files (which includes shared libraries. > >You can now do (for instance): > > > > (gdb) maint info sect .bss ALLOBJ > > > >to see info on the .bss sections of all loaded object files. > >Great job! > > Just a little remark, I would have expected that I get the same output >for the main executable in > >"maint info sect" >and >"maint info sect ALLOBJ" >but when I tried it out on a freshly compiled GDB, >the seciond command didn't should >the .stab and .stabstr sections that were shown for the first command. > >This is intentional? The problem might be quite general : maint info sect NEVER_LOAD gives the same output than maint info sect HAS_CONTENT Debugging a little more lead me to find out that the reason of that bug is simply that NEVER_LOAD contains LOAD, ans strstr function returns thus true for strstr(string, "LOAD") if string is "NEVER_LOAD" I don't know the best way to solve this especially as someone could ask for both LOAD and NEVER_LOAD flags at the same time. (maybe adding a space a start of args and looking for ' LOAD' with a leading space). Anyhow the current code also accepts thingss like NOCODE for CODE section which is quite strange...) To come back to the problem about .stab section, the problem is related to the fact that ALL_OBJFILE_OSECTIONS is defined as #define ALL_OBJFILE_OSECTIONS(objfile, osect) \ for (osect = objfile->sections; osect < objfile->sections_end; osect++) whereas the case without ALLOBJ is handled by a call to bfd_map_over_sections () function which does iterate in a different way: for (sect = abfd->sections; sect != NULL; i++, sect = sect->next) Wouldn't it be better to use the same bfd_map_over_sections () function in the ALLOBJ case? Pierre Muller Institut Charles Sadron 6,rue Boussingault F 67083 STRASBOURG CEDEX (France) mailto:muller@ics.u-strasbg.fr Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99