From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13768 invoked by alias); 27 Sep 2016 10:48:32 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 13752 invoked by uid 89); 27 Sep 2016 10:48:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.9 required=5.0 tests=AWL,BAYES_00,KAM_ASCII_DIVIDERS,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=Hx-languages-length:2666 X-HELO: smtp.CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE (HELO smtp.CeBiTec.Uni-Bielefeld.DE) (129.70.160.84) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 27 Sep 2016 10:48:30 +0000 Received: from localhost (localhost.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 8F0D3F7E; Tue, 27 Sep 2016 12:48:27 +0200 (CEST) Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (malfoy.CeBiTec.Uni-Bielefeld.DE [127.0.0.1]) (amavisd-new, port 10024) with LMTP id UaTXoCvkW49k; Tue, 27 Sep 2016 12:48:25 +0200 (CEST) Received: from lokon.CeBiTec.Uni-Bielefeld.DE (lokon.CeBiTec.Uni-Bielefeld.DE [129.70.161.110]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPS id 5F3BEF7C; Tue, 27 Sep 2016 12:48:25 +0200 (CEST) Received: (from ro@localhost) by lokon.CeBiTec.Uni-Bielefeld.DE (8.15.2+Sun/8.15.2/Submit) id u8RAmOAr003100; Tue, 27 Sep 2016 12:48:24 +0200 (MEST) From: Rainer Orth To: Richard Biener Cc: gcc-patches@gcc.gnu.org, jason@redhat.com Subject: Re: [PATCH] Refactor section/label init for early LTO debug References: Date: Tue, 27 Sep 2016 10:55:00 -0000 In-Reply-To: (Richard Biener's message of "Tue, 27 Sep 2016 12:34:46 +0200 (CEST)") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes X-SW-Source: 2016-09/txt/msg01930.txt.bz2 Hi Richard, >> this patch introduced many pch assembly comparison failures on Solaris >> (both sparc and x86, 32 and 64-bit, /bin/as only), like >> >> FAIL: gcc.dg/pch/common-1.c -O3 -g assembly comparison >> FAIL: gcc.dg/pch/common-1.c -O0 -g assembly comparison >> >> gcc.log shows this diff: >> >> < .long .Letext0 >> > .long >> >> While the .Letext0 label is still in the assembly output, it isn't >> referenced inside .debug_line, as can be seen in the diff. > > Can you check if moving > > static void > dwarf2out_assembly_start (void) > { > #ifndef DWARF2_LINENO_DEBUGGING_INFO > ASM_GENERATE_INTERNAL_LABEL (text_section_label, TEXT_SECTION_LABEL, 0); > ASM_GENERATE_INTERNAL_LABEL (text_end_label, TEXT_END_LABEL, 0); > ASM_GENERATE_INTERNAL_LABEL (cold_text_section_label, > COLD_TEXT_SECTION_LABEL, 0); > ASM_GENERATE_INTERNAL_LABEL (cold_end_label, COLD_END_LABEL, 0); > > switch_to_section (text_section); > ASM_OUTPUT_LABEL (asm_out_file, text_section_label); > #endif > > back to dwarf2out_init helps? Ah! Does > > Index: gcc/dwarf2out.c > =================================================================== > --- gcc/dwarf2out.c (revision 240521) > +++ gcc/dwarf2out.c (working copy) > @@ -25657,14 +25687,6 @@ dwarf2out_init (const char *filename ATT > vec_alloc (macinfo_table, 64); > #endif > > - /* Make sure the line number table for .text always exists. */ > - text_section_line_info = new_line_info_table (); > - text_section_line_info->end_label = text_end_label; > - > -#ifdef DWARF2_LINENO_DEBUGGING_INFO > - cur_line_info_table = text_section_line_info; > -#endif > - > /* If front-ends already registered a main translation unit but we were > not > ready to perform the association, do this now. */ > if (main_translation_unit != NULL_TREE) > @@ -25688,6 +25710,14 @@ dwarf2out_assembly_start (void) > ASM_OUTPUT_LABEL (asm_out_file, text_section_label); > #endif > > + /* Make sure the line number table for .text always exists. */ > + text_section_line_info = new_line_info_table (); > + text_section_line_info->end_label = text_end_label; > + > +#ifdef DWARF2_LINENO_DEBUGGING_INFO > + cur_line_info_table = text_section_line_info; > +#endif > + > if (HAVE_GAS_CFI_SECTIONS_DIRECTIVE > && dwarf2out_do_cfi_asm () > && (!(flag_unwind_tables || flag_exceptions) > > > fix it? Ok if it passes testing for you. testing on a single testcase worked fine. I'll just run a full bootstrap to make sure everything is fine. Thanks. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University