From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10083 invoked by alias); 27 Nov 2009 10:22:34 -0000 Received: (qmail 10058 invoked by uid 22791); 27 Nov 2009 10:22:33 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00 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, 27 Nov 2009 10:22:30 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-smtp.eu.adacore.com (Postfix) with ESMTP id F166C290069 for ; Fri, 27 Nov 2009 11:22:27 +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 taZNQ3Dyamjx for ; Fri, 27 Nov 2009 11:22:27 +0100 (CET) Received: from ulanbator.act-europe.fr (ulanbator.act-europe.fr [10.10.1.67]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mel.act-europe.fr (Postfix) with ESMTP id 8CFEC29006B for ; Fri, 27 Nov 2009 11:21:53 +0100 (CET) From: Tristan Gingold Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: [RFA] clean-up for sym_read mainline flag (2/2) Date: Fri, 27 Nov 2009 10:22:00 -0000 Message-Id: To: gdb-patches ml Mime-Version: 1.0 (Apple Message framework v1077) 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-11/txt/msg00584.txt.bz2 Hi, dwarf_build_psymtabs is always called with mainline=3D0 (it was not in machoread.c but a tiny change fixed that). As a consequence, this parameter can be removed. No regression on linux x86-64. (More to follow...) Tristan. 2009-11-26 Tristan Gingold * symfile.h (dwarf2_build_psymtabs): Remove mainline parameter in prototype. * dwarf2read.c (dwarf2_build_psymtabs): Remove mainline paramter in definition, simplify code assuming it is always 0. * coffread.c (coff_symfile_read): Adjust call. * elfread.c (elf_symfile_read): Ditto. * machoread.c (macho_symfile_read): Explicitely calls init_psymbol_list if mainline is set. diff --git a/gdb/coffread.c b/gdb/coffread.c index d66312b..84edfc5 100644 --- a/gdb/coffread.c +++ b/gdb/coffread.c @@ -641,7 +641,7 @@ coff_symfile_read (struct objfile *objfile, int mainlin= e) if (dwarf2_has_info (objfile)) { /* DWARF2 sections. */ - dwarf2_build_psymtabs (objfile, mainline); + dwarf2_build_psymtabs (objfile); } =20 dwarf2_build_frame_info (objfile); diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 0fa63a5..a92d923 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -1448,7 +1448,7 @@ dwarf2_get_section_info (struct objfile *objfile, con= st char *section_name, /* Build a partial symbol table. */ =20 void -dwarf2_build_psymtabs (struct objfile *objfile, int mainline) +dwarf2_build_psymtabs (struct objfile *objfile) { dwarf2_read_section (objfile, &dwarf2_per_objfile->info); dwarf2_read_section (objfile, &dwarf2_per_objfile->abbrev); @@ -1461,9 +1461,7 @@ dwarf2_build_psymtabs (struct objfile *objfile, int m= ainline) dwarf2_read_section (objfile, &dwarf2_per_objfile->eh_frame); dwarf2_read_section (objfile, &dwarf2_per_objfile->frame); =20 - if (mainline - || (objfile->global_psymbols.size =3D=3D 0 - && objfile->static_psymbols.size =3D=3D 0)) + if (objfile->global_psymbols.size =3D=3D 0 && objfile->static_psymbols.s= ize =3D=3D 0) { init_psymbol_list (objfile, 1024); } diff --git a/gdb/elfread.c b/gdb/elfread.c index b9e1568..d143e63 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -743,7 +743,7 @@ elf_symfile_read (struct objfile *objfile, int mainline) if (dwarf2_has_info (objfile)) { /* DWARF 2 sections */ - dwarf2_build_psymtabs (objfile, mainline); + dwarf2_build_psymtabs (objfile); } =20 /* FIXME: kettenis/20030504: This still needs to be integrated with diff --git a/gdb/machoread.c b/gdb/machoread.c index ebd90c6..5e0a658 100644 --- a/gdb/machoread.c +++ b/gdb/machoread.c @@ -649,10 +649,15 @@ macho_symfile_read (struct objfile *objfile, int main= line) } } =20 + /* 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 */ - dwarf2_build_psymtabs (objfile, mainline); + dwarf2_build_psymtabs (objfile); } =20 /* Do not try to read .eh_frame/.debug_frame as they are not relocated diff --git a/gdb/symfile.h b/gdb/symfile.h index f73d22d..40f7db7 100644 --- a/gdb/symfile.h +++ b/gdb/symfile.h @@ -380,7 +380,7 @@ void free_symfile_segment_data (struct symfile_segment_= data *data); =20 extern int dwarf2_has_info (struct objfile *); =20 -extern void dwarf2_build_psymtabs (struct objfile *, int); +extern void dwarf2_build_psymtabs (struct objfile *); extern void dwarf2_build_frame_info (struct objfile *); =20 void dwarf2_free_objfile (struct objfile *); --=20 1.6.2