Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp146341imu; Tue, 22 Jan 2019 15:40:10 -0800 (PST) X-Google-Smtp-Source: ALg8bN4oOJU4a5o2YCBYvcfNh5TtbYWKYVd4egSaBCdLHVTsuRc7Vx1OKkbb10KMBE+m7g5QuySU X-Received: by 2002:a62:442:: with SMTP id 63mr34902511pfe.156.1548200410285; Tue, 22 Jan 2019 15:40:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548200410; cv=none; d=google.com; s=arc-20160816; b=l3OIEgUbQYcMzjKcNH8XmmlEpN5RaSSmVQ2zps7VtFyR2ZqIUZ1GQdjtbJf4dh+jlG Cmb6jILi+gHGJllxgszVZEjk6QaCl9Y63A/o56vaae6PjJJxZ40xrFlAheacsDzL3Ynv oOhdm6lLjyFKEpuns0OHmhLStCWdN9GtD3i+8ecGJ2oI5GK9JAfzoFfvnzrGDpRR3SUT 4H041gFiYLHiT7paROEBanZ/5wAADV3XPOL0LmG8oQTFO7vB4aOj8TKzU0HC7fk08jGJ bvMmfnO5c1wHYdtX08wsx5a2MhmWUyxRpbN4+pW9m0UB4RSNeL++w8t9CeMFH82vvEz+ TLIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=/hezd3DAi4m26mdcQXgyX6zwdNZB7MKrbNOkLnCTYrE=; b=feK69DOCMy5Uj8JpC6OrryZM+V6/S2O559IyKDjnhsRI1tVrgsqq6jmW64TpHg6CLo xSzQdcF/rIG5zo6+1Uzf+CikPgX2hVLg3DHyFU+4uzimAE0IAxJ2uQvzus+ZE5JJ1B/J EIkC97wo0g15MD+5RUOVJ1IqLoCgyqz0rV2oPtSOjCowSARa92xJqhLXvGF7OPULfK8q 3LXZ23sPCjuDRLTSoUiJhNftHHF29WXU5lB4QtYMaqJaBKPTgylQ1RCPMvlV0K7zpx2t CP18HQLnIMa4OeKKLlvsyyvmsCuEozrKvZMUuiJfncKRkZACtaDiJZBUfkV6L9shgjIi TuZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b=WFKu1w3g; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=android.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e93si18311205plk.56.2019.01.22.15.39.46; Tue, 22 Jan 2019 15:40:10 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@android.com header.s=20161025 header.b=WFKu1w3g; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=android.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726772AbfAVXig (ORCPT + 99 others); Tue, 22 Jan 2019 18:38:36 -0500 Received: from mail-it1-f194.google.com ([209.85.166.194]:51826 "EHLO mail-it1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726175AbfAVXig (ORCPT ); Tue, 22 Jan 2019 18:38:36 -0500 Received: by mail-it1-f194.google.com with SMTP id w18so640626ite.1 for ; Tue, 22 Jan 2019 15:38:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=android.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/hezd3DAi4m26mdcQXgyX6zwdNZB7MKrbNOkLnCTYrE=; b=WFKu1w3gKSkWSQbGKoIZWCpHMjxJ7Jaz7pmiw72v34nwMu8m7bLhrtMAf7EwFmn/J3 OW6cU1OiMaiJmQGSOEpnQ7w7Olpk9tp3rFw8MzXy1SXEYBqZlsyO1yWk+f0tiiAvFTDE 7zFsNuFhvydaANxqwm3wxxbZBDPT5UzQfLwAckPVaVREdOYByT6rsLWtIn9qq8N9ENAz J2vNeiV3Ppf+ldzdijxLqv0LkegqGKm29J5o65c4tKAvuEdFgTUp3HZWEAA/3UvelPE0 H/l6Mf/ssCL4CXnW8xU9xu8k71QyxKBMMn0v5OMY1ZY6VdJ3RJsA6ntiCRLMuUCEQr8f lj/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=/hezd3DAi4m26mdcQXgyX6zwdNZB7MKrbNOkLnCTYrE=; b=kWyEgsG5z5D69QJZd2NVMqXsbc6pq8lQGnYpauWt7OKuB1S4YGKzWOLyjFpq4xnHxt C3C44fvAhamXvGL0ey6vr9qM2TqhDjrtnxYh/nr1F+PcmbJvOaJJyEL3RtBGGrWAiV2r 2GgwZkrE6mCs/qVXEWebUxVkZ/acvh2zIbuBVUkI0jmfCbQvmIMBFdtE6l4WLJUXmMRo YHKCG0JgLJfcShxnSeCMxpQPMPnYE/bGX95C6eP1jhmWZFzzgqXNAUttneb0yMedoFV0 9LQKHRhMesMpMNhuyg1R3uyUXEwxzMjYPkiaxnGsf2TzLRFVn9XI2XZZTPgj1oi+FQdP DFKw== X-Gm-Message-State: AJcUukcN2dQ3zXsaxTh/72C5Xr2qqUX/lchFt3BFuMtDtlqhSwweTc7s RkX/YIpzbH7BkpX8rgYcqY7Ofw== X-Received: by 2002:a24:a701:: with SMTP id a1mr360156itf.7.1548200314979; Tue, 22 Jan 2019 15:38:34 -0800 (PST) Received: from trong0.mtv.corp.google.com ([2620:0:1000:1601:c43f:8c1b:f6ef:3dce]) by smtp.gmail.com with ESMTPSA id g186sm8058823ite.39.2019.01.22.15.38.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Jan 2019 15:38:34 -0800 (PST) From: Tri Vo To: oberpar@linux.ibm.com Cc: ghackmann@android.com, ndesaulniers@google.com, linux-kernel@vger.kernel.org, kernel-team@android.com, yamada.masahiro@socionext.com, Tri Vo Subject: [PATCH v3 0/3] gcov: add Clang support Date: Tue, 22 Jan 2019 15:37:46 -0800 Message-Id: <20190122233749.42220-1-trong@android.com> X-Mailer: git-send-email 2.20.1.321.g9e740568ce-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch series adds Clang supoprt for gcov. Patch 1 refactors existing code in preparation for Clang support. Patch 2 implements necessary LLVM runtime hooks and gcov kernel interfaces. Patch 3 updates documentation. Greg Hackmann (2): gcov: Clang: move common GCC code into gcc_base.c gcov: Clang support Tri Vo (1): gcov: docs: add a note on GCC vs Clang differences Documentation/dev-tools/gcov.rst | 18 +- kernel/gcov/Kconfig | 3 +- kernel/gcov/Makefile | 5 +- kernel/gcov/base.c | 84 +---- kernel/gcov/clang.c | 555 +++++++++++++++++++++++++++++++ kernel/gcov/gcc_base.c | 86 +++++ kernel/gcov/gcov.h | 3 + 7 files changed, 665 insertions(+), 89 deletions(-) create mode 100644 kernel/gcov/clang.c create mode 100644 kernel/gcov/gcc_base.c v2: - Reorganized config dependencies, as per Masahiro. v3: - Squashed patches 2-4 of v2, as per Nick, Masahiro, and Peter. Addressed comments by Peter: - Moved __gcov_exit() to gcc_base.c - Added missing header to gcc_base.c - Removed unnecessary boundary checks in gcov_info_add(). - Changed counters' allocation to use vmalloc(). - Added check for failed allocation of filename. - Changed list_for_each_entry_safe to list_for_each_entry when traversing without modifying. - Updated Documentation/dev-tools/gcov.rst -- 2.20.1.321.g9e740568ce-goog