From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3034 invoked by alias); 4 Dec 2009 11:53:39 -0000 Received: (qmail 3019 invoked by uid 22791); 4 Dec 2009 11:53:38 -0000 X-SWARE-Spam-Status: No, hits=-1.6 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN X-Spam-Check-By: sourceware.org Received: from mel.act-europe.fr (HELO mel.act-europe.fr) (212.99.106.210) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 04 Dec 2009 11:53:21 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id 58F6A29001A for ; Fri, 4 Dec 2009 12:53:19 +0100 (CET) Received: from mel.act-europe.fr ([127.0.0.1]) by localhost (smtp.eu.adacore.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OmqZEhKAwPgK for ; Fri, 4 Dec 2009 12:52:58 +0100 (CET) Received: from ulanbator.act-europe.fr (ulanbator.act-europe.fr [10.10.1.67]) by mel.act-europe.fr (Postfix) with ESMTP id 2681C29002B for ; Fri, 4 Dec 2009 12:52:30 +0100 (CET) Received: by ulanbator.act-europe.fr (Postfix, from userid 501) id AC3F912536C4; Fri, 4 Dec 2009 12:52:43 +0100 (CET) Date: Fri, 04 Dec 2009 11:53:00 -0000 From: Tristan Gingold To: gdb-patches@sourceware.org Subject: [RFA] Remove useless init_psymbol_list calls. Message-ID: <20091204115243.GA5611@ulanbator.act-europe.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i X-IsSubscribed: yes 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 X-SW-Source: 2009-12/txt/msg00047.txt.bz2 Hi, When sym_read method is called with mainline == 1, the psymtab is already empty: sym_read is called from: * symfile.c:reread_symbols. But the psymtab is already cleared and it is called with mainline == 0. * symfile.c:syms_from_objfile, which is called from: * rs6000-nat.c:objfile_symbol_add but called with mainline == 0. * symfile.c:symbol_file_add_with_addrs_or_offsets which allocates a new objfile so the psymtab is empty. Tristan. 2009-12-02 Tristan Gingold * dbxread.c (dbx_symfile_read): No need to test mainline to call init_psymbol_list. * xcoffread.c (xcoff_initial_scan): Ditto; * coffread.c (coff_symfile_read): Remove call to init_psymbol_list. * elfread.c (elf_symfile_read): Ditto. * machoread.c (macho_symfile_read): Ditto. --- gdb/coffread.c | 9 --------- gdb/dbxread.c | 6 ++---- gdb/elfread.c | 9 --------- gdb/machoread.c | 5 ----- gdb/xcoffread.c | 4 +--- 5 files changed, 3 insertions(+), 30 deletions(-) diff --git a/gdb/coffread.c b/gdb/coffread.c index 84edfc5..1f71db2 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -607,15 +607,6 @@ coff_symfile_read (struct objfile *objfile, int mainline) /* Free the installed minimal symbol data. */ do_cleanups (cleanup_minimal_symbols); - /* If we are reinitializing, or if we have not loaded syms yet, - empty the psymtab. "mainline" is cleared so the *_read_psymtab - functions do not all re-initialize it. */ - if (mainline) - { - init_psymbol_list (objfile, 0); - mainline = 0; - } - bfd_map_over_sections (abfd, coff_locate_sections, (void *) info); if (info->stabsects) diff --git a/gdb/dbxread.c b/gdb/dbxread.c index aad25b7..3efaa65 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -556,10 +556,8 @@ dbx_symfile_read (struct objfile *objfile, int mainline) if (val < 0) perror_with_name (objfile->name); - /* If we are reinitializing, or if we have never loaded syms yet, init */ - if (mainline - || (objfile->global_psymbols.size == 0 - && objfile->static_psymbols.size == 0)) + /* Size the symbol table. */ + if (objfile->global_psymbols.size == 0 && objfile->static_psymbols.size == 0) init_psymbol_list (objfile, DBX_SYMCOUNT (objfile)); symbol_size = DBX_SYMBOL_SIZE (objfile); diff --git a/gdb/elfread.c b/gdb/elfread.c index d143e63..f9052c1 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -691,15 +691,6 @@ elf_symfile_read (struct objfile *objfile, int mainline) /* Now process debugging information, which is contained in special ELF sections. */ - /* If we are reinitializing, or if we have never loaded syms yet, - set table to empty. MAINLINE is cleared so that *_read_psymtab - functions do not all also re-initialize the psymbol table. */ - if (mainline) - { - init_psymbol_list (objfile, 0); - mainline = 0; - } - /* We first have to find them... */ bfd_map_over_sections (abfd, elf_locate_sections, (void *) & ei); diff --git a/gdb/machoread.c b/gdb/machoread.c index 5e0a658..081027f 100644 --- a/gdb/machoread.c +++ b/gdb/machoread.c @@ -649,11 +649,6 @@ macho_symfile_read (struct objfile *objfile, int mainline) } } - /* If we are reinitializing, or if we have never loaded syms yet, - set table to empty. */ - if (mainline) - init_psymbol_list (objfile, 0); - if (dwarf2_has_info (objfile)) { /* DWARF 2 sections */ diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index a93fbd2..35d8f1d 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -2948,9 +2948,7 @@ xcoff_initial_scan (struct objfile *objfile, int mainline) perror_with_name (_("reading symbol table")); /* If we are reinitializing, or if we have never loaded syms yet, init */ - if (mainline - || (objfile->global_psymbols.size == 0 - && objfile->static_psymbols.size == 0)) + if (objfile->global_psymbols.size == 0 && objfile->static_psymbols.size == 0) /* I'm not sure how how good num_symbols is; the rule of thumb in init_psymbol_list was developed for a.out. On the one hand, num_symbols includes auxents. On the other hand, it doesn't -- 1.6.2