Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp370208imm; Sat, 1 Sep 2018 05:40:22 -0700 (PDT) X-Google-Smtp-Source: ANB0VdasZAKxtRV7EZ24leXikimC/WJZCILN4oqXHHtsEH4X4ICid80ozqzQZytiezepZxSbnEiZ X-Received: by 2002:a62:6c42:: with SMTP id h63-v6mr11848785pfc.65.1535805622340; Sat, 01 Sep 2018 05:40:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535805622; cv=none; d=google.com; s=arc-20160816; b=r7fOVq43Gzc130wzUr3bgqxnHIOamRm9Rd7IrEcWk29yAulFR24T900bEqcFkhNqAa 8Ugnl9NuheFpVH+r7n6x8+sHUVRoPj8Chn1hN7s9F4g0K8p/Irvav0q8yqxtxcD1pJ+Q NCWnVhHFWtnqm12AZ2Edb3XYwsf7WqEnvs/cQ/cV04s9zBJ2bq8z1qKlAufi9jQpAzdb hwmWbEGrhPFMMwv9bSTvxckGDc5arMAmD5P4t5maAxOTZwN+E9F2Qoph9j/s8a2s9t8k g8ff8e9ODrkijmgZpCptnmZLGf+fcAdOYPVLcpLTwi+JUuzosjLZTGLc8gb9yIU3mHHA GcBQ== 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 :user-agent:references:in-reply-to:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature:arc-authentication-results; bh=eT8SmMFpmnh1/d0ANSG12wPTEmAmkrRYZKJY1d6Ek5w=; b=0tFnCrnHNBwVP5dkifkt5xfGDiJq+ety9+26lupp+lTxzWz2ESvQKsjFSdn4/TqxAr /yAJh8OGz1m1d8g9AytgnqHiJS9FIwYHpqLQEhthtFVAycykigEb0jfIEmXpg4q+Wode T7uGvLb/wwe/3Rr/lZFs5Ye5nyTxdT40F+hdOYjtvz0jognZtLKMDEzkOAPuq+UoHo+z hCdBbwUOQ/HqQHM8py5yD8NDJJUl/zah2gq9Qsu1Il75cECurBjH82QFqomD67THb7RY 1+5t0cioBxEDf9t/dUARU6SnvUXAm/0fM8YfxqAWUAoL2/XnfvCSrYEe4bi2mIkhaU3Q Ogeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=PiJ8uQL+; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t125-v6si3020483pgt.666.2018.09.01.05.40.07; Sat, 01 Sep 2018 05:40:22 -0700 (PDT) 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=@kernel.org header.s=default header.b=PiJ8uQL+; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727463AbeIAQud (ORCPT + 99 others); Sat, 1 Sep 2018 12:50:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:50880 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726991AbeIAQud (ORCPT ); Sat, 1 Sep 2018 12:50:33 -0400 Received: from localhost.localdomain (NE2965lan1.rev.em-net.ne.jp [210.141.244.193]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8A0962083B; Sat, 1 Sep 2018 12:38:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1535805517; bh=yrA8Izz7I4BDIPMaW2hIHPnRrsVRlQC9HKKS4CzJU/k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:In-Reply-To: References:From; b=PiJ8uQL+uf8MHpHDFvAoXGy+BJH6Xl4Y8Not5xBf2K3olecPgt6IE5u6HdqMtGXEP cm6ivAdm7Q+SiLQVUscDETQVzMRrG/n0gOf5WYO2Tn4rXsUR4nDTiSG/YslKXz1hEb nCXQVyD6OkitpjBysHbvCLE0ZwyRXLLl41JtE1k4= From: Masami Hiramatsu To: Russell King Cc: Nicolas Pitre , Masami Hiramatsu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Stephen Rothwell , Steven Rostedt , Linux-Next Mailing List , Arnd Bergmann Subject: [PATCH] ARM: linker script: GCOV kernel may refers data in __exit Date: Sat, 1 Sep 2018 21:38:13 +0900 Message-Id: <153580549235.10130.1495077983569784123.stgit@devbox> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180901185017.0a81bc3e61f5d021664f13f3@kernel.org> References: <20180901185017.0a81bc3e61f5d021664f13f3@kernel.org> In-Reply-To: <20180901185017.0a81bc3e61f5d021664f13f3@kernel.org> References: <20180901185017.0a81bc3e61f5d021664f13f3@kernel.org> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org GCOV kernel embeds counters in the kernel for each line and a part of that embed in __exit text. So we need to keep the __exit text if CONFIG_GCOV_KERNEL=y. Without this patch, if we discards __exit text (e.g. disables CONFIG_GENERIC_BUG, CONFIG_JUMP_LABEL and CONFIG_SMP_ON_UP) but enables CONFIG_GCOV_PROFILE_FTRACE, ld will error like below on ARM. `.text.exit' referenced in section `.ARM.exidx.text.exit' of kernel/trace/trace_clock.o: defined in discarded section `.text.exit' of kernel/trace/trace_clock.o To fix this issue, we keep __exit when CONFIG_GCOV_KERNEL=y. The reason why not depending CONFIG_GCOV_PROFILE_X, is that the Documentation/dev-tools/gcov.rst says that the developer can enable gcov profile on a file or a directory by customizing Makefile, and that will only depend on CONFIG_GCOV_KERNEL. Signed-off-by: Masami Hiramatsu Reported-by: Arnd Bergmann --- arch/arm/kernel/vmlinux.lds.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm/kernel/vmlinux.lds.h b/arch/arm/kernel/vmlinux.lds.h index ae5fdff18406..baaacee9f5ce 100644 --- a/arch/arm/kernel/vmlinux.lds.h +++ b/arch/arm/kernel/vmlinux.lds.h @@ -9,7 +9,8 @@ #endif #if (defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK)) || \ - defined(CONFIG_GENERIC_BUG) || defined(CONFIG_JUMP_LABEL) + defined(CONFIG_GENERIC_BUG) || defined(CONFIG_JUMP_LABEL) || \ + defined(CONFIG_GCOV_KERNEL) #define ARM_EXIT_KEEP(x) x #define ARM_EXIT_DISCARD(x) #else