From patchwork Thu Aug 14 18:27:43 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Teresa Johnson X-Patchwork-Id: 379975 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id BB16B140093 for ; Fri, 15 Aug 2014 04:27:54 +1000 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:content-type; q= dns; s=default; b=Ospdch7yM+G9r7pXhAZ44r8Vy6FlBaWu3f0bi/MDAm2hmp omnnxiMCOhZHn7rKveYTPtYwj+8HQT5gl7LgI4iCibjfU17o17a/rKuXgap/s3vC yJ2LvKRYsujqr9zY7iGpWGrtLMD4M2quUeTs0UzO66IBwwTOJ/KXzNET6T10Y= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :mime-version:date:message-id:subject:from:to:content-type; s= default; bh=FYfULEfSAHETG6A8hodq+gWqllY=; b=tVZMNwfo2AmEgeYK8CDp raSVHSRtXGDSQaJoYXNW43TNVq7jPVk9T4O+CyxZz+Ui0RMShxs2CMT5XF5MMGlC T0Dfr9zJKIFr+qHu7zK7Q2eX7OsPwgtgbHncLIbT2khlp9AX/ki3Wy+Y36LO5ZEB 77JM6QJGQNLWj9vHXmQZPq0= Received: (qmail 15976 invoked by alias); 14 Aug 2014 18:27:47 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 15961 invoked by uid 89); 14 Aug 2014 18:27:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-qa0-f41.google.com Received: from mail-qa0-f41.google.com (HELO mail-qa0-f41.google.com) (209.85.216.41) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 14 Aug 2014 18:27:46 +0000 Received: by mail-qa0-f41.google.com with SMTP id j7so1288824qaq.0 for ; Thu, 14 Aug 2014 11:27:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:date:message-id:subject:from:to :content-type; bh=WYMWwqqCYVDsXEk8ooIbMyt99lZ1kKZzElV5WqmdrGc=; b=hwiOg6aqnDdEFkW4dgwhTgEovw30CI4+qArhU4+9JsJWBES7pv9/mUAkV4a9T5B1BR qVy2xeCW9bSjoAvRHw8LWTF1uDAJ9wbtqsqKDbGEY6Tm5A2aphPiuJWnrLbwvTEDJL/K f8S97mS07QTMTeRa8imXrFbmJnnm9j/913UI0itTVyzlnF5uWdCT9OC507/1oibJ2Av3 3aOd8PTaGA1bdnqohSFWnBG0DWNgp1OIvR26tv9GBaONewnkyXLWaVUb86tDKEmIKCp4 1+OGK20KZrRbW1BLaIL2zrxZcrLUEDE3Q1ZnwMO21s48Oi62VrC5lEuQ8C0fZJF9Dk9S xRog== X-Gm-Message-State: ALoCoQmnrePdOl9M4x8kLVZ3+oQWE9ZJvvEnrpycbI9pwm14+OQ1DR3l4jJT7YsPe2T3TKySpsLe MIME-Version: 1.0 X-Received: by 10.140.107.198 with SMTP id h64mr14051241qgf.42.1408040863846; Thu, 14 Aug 2014 11:27:43 -0700 (PDT) Received: by 10.229.126.201 with HTTP; Thu, 14 Aug 2014 11:27:43 -0700 (PDT) Date: Thu, 14 Aug 2014 11:27:43 -0700 Message-ID: Subject: [Google/4_9] A couple gcov-tool fixes From: Teresa Johnson To: Rong Xu , David Li , "gcc-patches@gcc.gnu.org" X-IsSubscribed: yes Fix a couple problems found during testing. Backport from trunk (r212694) failed to fixup gcov_read_counter invocations in google-specific code. Also, forward port r211800 from google/4_8 to tolerate differences after COMDAT fixup. Passes manual testing, ok if passes regression tests? Thanks, Teresa 2014-08-14 Teresa Johnson * libgcov-merge.c (__gcov_merge_dc): Use gcov_get_counter, Relax the check after COMDAT fixup. (__gcov_merge_icall_topn): Use gcov_get_counter. Index: libgcov-merge.c =================================================================== --- libgcov-merge.c (revision 213975) +++ libgcov-merge.c (working copy) @@ -95,8 +95,8 @@ __gcov_merge_dc (gcov_type *counters, unsigned n_c gcc_assert (!(n_counters % 2)); for (i = 0; i < n_counters; i += 2) { - gcov_type global_id = gcov_read_counter (); - gcov_type call_count = gcov_read_counter (); + gcov_type global_id = gcov_get_counter_target (); + gcov_type call_count = gcov_get_counter (); /* Note that global id counter may never have been set if no calls were made from this call-site. */ @@ -108,7 +108,10 @@ __gcov_merge_dc (gcov_type *counters, unsigned n_c else if (__gcov_is_gid_insane (global_id)) global_id = counters[i]; - gcc_assert (counters[i] == global_id); + /* In the case of inconsistency, use the src's target. */ + if (counters[i] != global_id) + fprintf (stderr, "Warning: Inconsistent call targets in" + " direct-call profile.\n"); } else if (global_id) counters[i] = global_id; @@ -158,12 +161,12 @@ __gcov_merge_icall_topn (gcov_type *counters, unsi } /* Skip the number_of_eviction entry. */ - gcov_read_counter (); + gcov_get_counter (); for (k = 0; k < GCOV_ICALL_TOPN_NCOUNTS - 1; k += 2) { int found = 0; - gcov_type global_id = gcov_read_counter (); - gcov_type call_count = gcov_read_counter (); + gcov_type global_id = gcov_get_counter_target (); + gcov_type call_count = gcov_get_counter (); for (m = 0; m < j; m += 2) { if (tmp_array[m] == global_id)