From patchwork Mon Apr 25 15:35:27 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102463 Delivered-To: patch@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1106755qge; Mon, 25 Apr 2016 08:37:55 -0700 (PDT) X-Received: by 10.66.139.9 with SMTP id qu9mr49675083pab.101.1461598652797; Mon, 25 Apr 2016 08:37:32 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id gs6si7556792pac.81.2016.04.25.08.37.32; Mon, 25 Apr 2016 08:37:32 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932920AbcDYPhT (ORCPT + 29 others); Mon, 25 Apr 2016 11:37:19 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:58134 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932844AbcDYPhQ (ORCPT ); Mon, 25 Apr 2016 11:37:16 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0MIvAv-1asmbS2y0f-002VGp; Mon, 25 Apr 2016 17:35:39 +0200 From: Arnd Bergmann To: Michal Marek Cc: linux-kbuild@vger.kernel.org, Peter Oberparleiter , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann Subject: [PATCH 1/5] Kbuild: change CC_OPTIMIZE_FOR_SIZE definition Date: Mon, 25 Apr 2016 17:35:27 +0200 Message-Id: <1461598531-2190169-2-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1461598531-2190169-1-git-send-email-arnd@arndb.de> References: <1461598531-2190169-1-git-send-email-arnd@arndb.de> X-Provags-ID: V03:K0:/o9KGCtHPfAx7h8PjAjQcEGsSnwGZNVUZw97HwbBtqR1txdzSM/ gi8if3FhL/yWSfr/5spf3gnoyXIeplDuraYICgoWdKmAGmY4X0yLBEA5OkoX0VtTyWJgb+4 BRLUc1fS6TYOKGvc/qB9pqnU+8NU044DK0dPqYwzdEjsEQeT+jMnuNdVRxqMe2YZGbngyvK k/FqNZdmEvGcutSckOrVA== X-UI-Out-Filterresults: notjunk:1; V01:K0:Od22WQfSiGw=:IgLm6ZqdfosqbbW2nzsSwA 2IsNNmKe3jKVx0GHrtH5uQSybBFjndfqOtsWJzREzyTl6GVZvDRTnefq+LmVRaeOWNBiBTrEn 6HQa7DXULDCCKkwuIErKTlHykjcRAW3zLQtSUvLlX6UaNax3xnDvap1SuiMcpMMeN3L9ujrJ1 ssbsPJh2xSj9dyE/pzpxt7SCqnQsuE0AHA0AVTh6aUMXAblJ+7WByo3oI2cJwXoRQhBffBHeA 8bHmdsqbUPBm2/WPL6SQCXoWky2p1WmsvUFNdLk440nW14R3mM0YlwJ0C9KeOYnTGpEgRRgfL wWj0Xp5eehvQ3OmzmJ02WF1xGzCSFVDYc0agny7M9oaMIkLRs7ysNEnFvoWlE93csif19yw2J WA/r06rWS/c7uq6LEAbVizONYEHYElOK+XQbviLOnnwgM4ImtUv0xZLFt6TLnOYpfAuglFuOM Cac7i/oTHESJ2fuomJVlSE5rnn8s6q4/viOsmqDzw98VoJQMnmsNSIiMojnMAJt2chlZNssTr PJiPIPwjJ4HgY9JnXfixB0AzosXyVHmUdk3rT+nemMmt8fyYLn0HIuIXNyIgngJQIknxWI5+n k6zYkPNmU/IHop5hQNOpZ7cFOgrqe10VR8P74ILQQkCRllUzN8QJE+f/p0ztN5u8tI5bYFrEH H7/EG43Y3G29eOzOOs/DPdzdMZ20CPMNFAVtFT010QQzejbu0i7rT5d6UFYP2FuekLLI= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CC_OPTIMIZE_FOR_SIZE disables the often useful -Wmaybe-unused warning, because that causes a ridiculous amount of false positives when combined with -Os. This means a lot of warnings don't show up in testing by the developers that should see them with an 'allmodconfig' kernel that has CC_OPTIMIZE_FOR_SIZE enabled, but only later in randconfig builds that don't. This changes the Kconfig logic around CC_OPTIMIZE_FOR_SIZE to make it a 'choice' statement defaulting to CC_OPTIMIZE_FOR_PERFORMANCE that gets added for this purpose. The allmodconfig and allyesconfig kernels now default to -O2 with the maybe-unused warning enabled. Signed-off-by: Arnd Bergmann --- init/Kconfig | 13 +++++++++++++ 1 file changed, 13 insertions(+) -- 2.7.0 diff --git a/init/Kconfig b/init/Kconfig index 0c666408a8b6..d1b766bf60c1 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1284,6 +1284,17 @@ source "usr/Kconfig" endif +choice + prompt "Compiler optimization level" + default CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE + +config CC_OPTIMIZE_FOR_PERFORMANCE + bool "Optimize for performance" + help + This is the default optimization level for the kernel, building + with the "-O2" compiler flag for best performance and most + helpful compile-time warnings. + config CC_OPTIMIZE_FOR_SIZE bool "Optimize for size" help @@ -1292,6 +1303,8 @@ config CC_OPTIMIZE_FOR_SIZE If unsure, say N. +endchoice + config SYSCTL bool From patchwork Mon Apr 25 15:35:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102462 Delivered-To: patch@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1106943qge; Mon, 25 Apr 2016 08:38:13 -0700 (PDT) X-Received: by 10.66.66.167 with SMTP id g7mr48936677pat.111.1461598680703; Mon, 25 Apr 2016 08:38:00 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k74si7298392pfb.30.2016.04.25.08.38.00; Mon, 25 Apr 2016 08:38:00 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932949AbcDYPh5 (ORCPT + 29 others); Mon, 25 Apr 2016 11:37:57 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:50018 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932868AbcDYPhQ (ORCPT ); Mon, 25 Apr 2016 11:37:16 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0Mbyf0-1bAk1q0FKo-00JL1s; Mon, 25 Apr 2016 17:35:40 +0200 From: Arnd Bergmann To: Michal Marek Cc: linux-kbuild@vger.kernel.org, Peter Oberparleiter , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann Subject: [PATCH 2/5] Kbuild: disable 'maybe-uninitialized' warning for CONFIG_PROFILE_ALL_BRANCHES Date: Mon, 25 Apr 2016 17:35:28 +0200 Message-Id: <1461598531-2190169-3-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1461598531-2190169-1-git-send-email-arnd@arndb.de> References: <1461598531-2190169-1-git-send-email-arnd@arndb.de> X-Provags-ID: V03:K0:AKdE+Y2u2sDRGlzgA5/HLAmNJmZmNoQnhX1E0Szv9kUmIasu6La s3imiEbNLPL8N5nfZZPdqCfY9BZtnn18Wv9vzmPsTDqOf6A1l9CgmXdLmPK9tVx2QSHfH5y 5LQw6ue/5Ke+mU2Mb5IshwhlNmZx2x57gY5R5zpwnugDTerCmlUvmARpQXJvZQLmxbNUoP8 Y3IPlzb/jnf9xBdpE7K7w== X-UI-Out-Filterresults: notjunk:1; V01:K0:4G9qpzEPeSg=:O9ht2jTMnHFBDQ2+AT52e4 H/80E2G6A5ZtU2ehPPELxCdQp9DkCFldW2wf5FVME6s6t2Dl2wA1M4UzXBf3F+TFdcyKQQG0s tT09kM4Bxe3nVM57GlZOcHNB81NhbKe72KwbZB25TvXm8B+OKZlKAYnPP4Vk+QWUVgIk8++6C 1Xj40RwL9PNDdVezeol7wnZ5iy29AxNxEV8dDTdgWlkU0kfw1o3WyX2oT4kQ+q6Q5KsaYJntx 2DAr9mWtztK1R74+rL4ihyexJm2YssSY3HRRYfKcc3jT0qR/ilBXI1XfjdrdA4LHWqCHZnggf ZqY+q5yUctDKI6gspMtgnq8fz53xYswv0yqksrGCG5ySi25mmYOwKdkBx8BrZJGmfTTwaeVg2 1RMrgwgnGHoMY6O620VBjoNHytRDbT29tctBCfWx6557739W/5JrretK2mCM2EW/jY+xBlh2l 9JmZvag5sEfIZxyyvdAKSVPfNgPx2DPyXijXiqXVuZyf5oQfCF5aZv4zklM8UZI8v0GVURsco JyUjkQU5+lzX3wSCUQlIy/NNlS7vda6fejdN0hCiJWkhqdC2/RC9Oktayv6eTn3LaiFrV/1PY ry5wwO38SKCWmMFJMFa6ZR+o4IAt5+y02F5MdIwHmNrnyeOQ5xcBQA6h1x9EAP84UJBnNxSkf 5mNDY247FVNJVrteZmyenIsB77wK1A6+njHQgqoZFSorw2FApLH4H4roLYxYvlzGLt3Y= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org CONFIG_PROFILE_ALL_BRANCHES confuses gcc-5.x to the degree that it prints incorrect warnings about a lot of variables that it thinks can be used uninitialized, e.g.: i2c/busses/i2c-diolan-u2c.c: In function 'diolan_usb_xfer': i2c/busses/i2c-diolan-u2c.c:391:16: warning: 'byte' may be used uninitialized in this function iio/gyro/itg3200_core.c: In function 'itg3200_probe': iio/gyro/itg3200_core.c:213:6: warning: 'val' may be used uninitialized in this function leds/leds-lp55xx-common.c: In function 'lp55xx_update_bits': leds/leds-lp55xx-common.c:350:6: warning: 'tmp' may be used uninitialized in this function misc/bmp085.c: In function 'show_pressure': misc/bmp085.c:363:10: warning: 'pressure' may be used uninitialized in this function power/ds2782_battery.c: In function 'ds2786_get_capacity': power/ds2782_battery.c:214:17: warning: 'raw' may be used uninitialized in this function These are all false positives that either rob someone's time when trying to figure out whether they are real, or they get people to send wrong patches to shut up the warnings. Nobody normally wants to run a CONFIG_PROFILE_ALL_BRANCHES kernel in production, so disabling the whole class of warnings for this configuration has no serious downsides either. Signed-off-by: Arnd Bergmann Acked-by: Steven Rostedt --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) -- 2.7.0 diff --git a/Makefile b/Makefile index c5a3db5aebd1..e595d1f626b8 100644 --- a/Makefile +++ b/Makefile @@ -624,7 +624,11 @@ KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) else -KBUILD_CFLAGS += -O2 +ifdef CONFIG_PROFILE_ALL_BRANCHES +KBUILD_CFLAGS += -O2 $(call cc-disable-warning,maybe-uninitialized,) +else +KBUILD_CFLAGS += -O2 +endif endif # Tell gcc to never replace conditional load with a non-conditional one From patchwork Mon Apr 25 15:35:29 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102466 Delivered-To: patch@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1106075qge; Mon, 25 Apr 2016 08:36:37 -0700 (PDT) X-Received: by 10.98.67.67 with SMTP id q64mr49967981pfa.44.1461598597019; Mon, 25 Apr 2016 08:36:37 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q64si7296918pfb.1.2016.04.25.08.36.36; Mon, 25 Apr 2016 08:36:37 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754913AbcDYPgR (ORCPT + 29 others); Mon, 25 Apr 2016 11:36:17 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:54447 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754796AbcDYPgP (ORCPT ); Mon, 25 Apr 2016 11:36:15 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0Lucy0-1buUBQ1PlY-00zr6s; Mon, 25 Apr 2016 17:35:40 +0200 From: Arnd Bergmann To: Michal Marek Cc: linux-kbuild@vger.kernel.org, Peter Oberparleiter , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann Subject: [PATCH 3/5] gcov: disable for COMPILE_TEST Date: Mon, 25 Apr 2016 17:35:29 +0200 Message-Id: <1461598531-2190169-4-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1461598531-2190169-1-git-send-email-arnd@arndb.de> References: <1461598531-2190169-1-git-send-email-arnd@arndb.de> X-Provags-ID: V03:K0:PAXV0DbLyxSxYErHhXcBWd4LfsBOkIMoMsT5hdTyFn5U+4+UXQA 4wm+qH7xrQ9XJxGSq5Zvw5NZGb6GmU3NHzN+Zvqdc0r/jZCvKiJ2nh9fdER1vS+Mdl4gONu JTA7UlULItlqcDSrrbxCF1AElVE0rg/SvEF2smXK0Z17dqqgGiDg6VtGijFaQnsFmFDNmuJ 6T2rhjNMtRiLyvtldA30A== X-UI-Out-Filterresults: notjunk:1; V01:K0:UZaW+ZNUMAY=:lcrGPSlH9AlPPz+idcWUt8 5voHs3G2/BpYgDRX3GSmEsuyDtE1tKAB9iF4MQP9GELSsYiv0aseS0JixFuNzEFg2uaUwXEpz i4SZTCjZimrRmqSI7kBVzg5CN/9NnTp7TfBq3RPCUd87xcBaDuCb5Tk+FsYvZsw6M91yglY31 YYVOCKY6YZCrIMutW5/KJrZKgoLImihJp9RA8MmHwNOqqIWLnWEflbBNhG2YF0bRRV9FuQqXJ ltKbXCFXMP/kN1EXunuaiDmCeO5WnNzcBy9LFpZHTkhxl86cVa4kJc5UvhwOQQKuu0BFOR7i6 7hC+KEZor7BpJ9Y2o+SgH3S0uCqNYE5sr3KwGYrCNxtue+RfB7DyZyfKhm9UCGtZWumxKJUzj M0AssvM581UR4yXL+1EaAC4SVUpeUseDEdVa6sCOLSmYErzv7s2/Dx19YYeI/vMgZloXETooQ FlVPOvIsy8pIQflpAFWfe85LwEDTVP3B04F6QVSFRgkwwerILtiOcqNnbs0SrhMR+1ElUUYgW 5OV1bgHCCJ5RhGurXByhDWRtlIsA2Gese4WzHYSSflv+7GCmzc+FsISv4p+b1rjpJas5mFwt7 JATmHsOkosbbtO/Fwi0DS9RjM/I1aRUjQvSmGpwMOMFzekNOyZZGKX0y5yaugH7Fs4AxzbhWm Z/CXAYGCSj0FQGf05CfDV61d+rWaea+FLbuiKnzKK3FVXyaskvcSBt/FVwyOJwQPKHhw= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Enabling gcov is counterproductive to compile testing: it significantly increases the kernel image size, compile time, and it produces lots of false positive "may be used uninitialized" warnings as the result of missed optimizations. This is in line with how UBSAN_SANITIZE_ALL and PROFILE_ALL_BRANCHES work, both of which have similar problems. With an ARM allmodconfig kernel, I see the build time drop from 283 minutes CPU time to 225 minutes, and the vmlinux size drops from 43MB to 26MB. Signed-off-by: Arnd Bergmann Acked-by: Peter Oberparleiter --- kernel/gcov/Kconfig | 1 + 1 file changed, 1 insertion(+) -- 2.7.0 diff --git a/kernel/gcov/Kconfig b/kernel/gcov/Kconfig index c92e44855ddd..1276aabaab55 100644 --- a/kernel/gcov/Kconfig +++ b/kernel/gcov/Kconfig @@ -37,6 +37,7 @@ config ARCH_HAS_GCOV_PROFILE_ALL config GCOV_PROFILE_ALL bool "Profile entire Kernel" + depends on !COMPILE_TEST depends on GCOV_KERNEL depends on ARCH_HAS_GCOV_PROFILE_ALL default n From patchwork Mon Apr 25 15:35:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102465 Delivered-To: patch@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1106167qge; Mon, 25 Apr 2016 08:36:48 -0700 (PDT) X-Received: by 10.67.3.129 with SMTP id bw1mr48978505pad.16.1461598607950; Mon, 25 Apr 2016 08:36:47 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a5si3237833pfj.210.2016.04.25.08.36.47; Mon, 25 Apr 2016 08:36:47 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932859AbcDYPgk (ORCPT + 29 others); Mon, 25 Apr 2016 11:36:40 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:62320 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754817AbcDYPgP (ORCPT ); Mon, 25 Apr 2016 11:36:15 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0MAdid-1b10592nQh-00BsvF; Mon, 25 Apr 2016 17:35:40 +0200 From: Arnd Bergmann To: Michal Marek Cc: linux-kbuild@vger.kernel.org, Peter Oberparleiter , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann , stable@vger.kernel.org Subject: [PATCH 4/5] gcov: disable tree-loop-im to reduce stack usage Date: Mon, 25 Apr 2016 17:35:30 +0200 Message-Id: <1461598531-2190169-5-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1461598531-2190169-1-git-send-email-arnd@arndb.de> References: <1461598531-2190169-1-git-send-email-arnd@arndb.de> X-Provags-ID: V03:K0:Y/nkBGa71JYhCLL7jVck5A5OrT3Iphqf5SSQQaSVXnGuHkGtYZI 9TmzOn8aiT2IS8N6whIZA0E3PZTz6JeysqfBGzvhiunKfPqBqRs3qIfeYQo4B8arhidprVF MQHThBXbFwxlSRbRweQKVk6ubNbTVFRtOSPyxnHti09DGSnBIR5Pl+/ui4fEYAo158N2VL3 Wddu+3hfT2q8Zo+KzWt9A== X-UI-Out-Filterresults: notjunk:1; V01:K0:+4yc3/q7VPA=:MMeGSi33ck42xNbUF2r5lz OIL8+/wYXNsITExiHUsIMO/Km2aO4Pf8o+XlIwMdhqycrQ4LffVgKOOWtkO+wJwiTaxxBg8HP yGKlcrvcYlnBh2JBN0FwwPYA35nwnD/1er3zLPj5QsDOP1B5rMqmkHBaw2kBJDHESMXMyHJSP c4esYQFYTZJp5DYdujiGYz3cEaMqbc5pgk0D1dvbJP9OPsYJgZ2swhje6eUPS1iHKYpnLREL9 /MVEcY3Ilx96wWsSxcCSitwtJZ0VsNt6/ne3DZTnwn7b2MM+SNojrxsLTTX6ThL/Z3ggBjoDL 6LJ3ncg0kbX7M8xbpmk/v3AzhVGrruXfMmOqyPSXTCZRZ9n0JNyPQThosC6LPUfINei2zVHRP knO87J8gYCZDoZt6TG2v1rx2Z+1NQd1cV6NIEWj7AvujmqmM6i9Q95VhtJRjT91Muleq9FE2D IF05xNtN7zF5izq1JmAL3wDxVMEGWn7dx7WF1KY3DFl1RXBTP9tfMmVGSKzx5BOcRe1yrjXrE m/AiUKmWQImBxF5f1MyFFvzuqWHcBIj//4SmASZq69LDtf2t7PSDVve3SUhnEldV7NA4UIHgA 1LJYA9aqDQJB/mKwUquaHxKQlCwpEN9Z64Z4vH3AuiOV4kq2iCFMiJmRI2QsLxIqKEA4NJ88K ilRfLqo4YSvjVfS9ayrHXKiSh3OPaZrn2FKfBXjFty+yxDhGxc//2K14PjPI7P1NrNlo= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Enabling CONFIG_GCOV_PROFILE_ALL produces us a lot of warnings like lib/lz4/lz4hc_compress.c: In function 'lz4_compresshcctx': lib/lz4/lz4hc_compress.c:514:1: warning: the frame size of 1504 bytes is larger than 1024 bytes [-Wframe-larger-than=] After some investigation, I found that this behavior started with gcc-4.9, and opened https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69702. A suggested workaround for it is to use the -fno-tree-loop-im flag that turns off one of the optimization stages in gcc, so the code runs a little slower but does not use excessive amounts of stack. We could make this conditional on the gcc version, but I could not find an easy way to do this in Kbuild and the benefit would be fairly small, given that most of the gcc version in production are affected now. I'm marking this for 'stable' backports because it addresses a bug with code generation in gcc that exists in all kernel versions with the affected gcc releases. Signed-off-by: Arnd Bergmann Acked-by: Peter Oberparleiter Cc: stable@vger.kernel.org --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.0 diff --git a/Makefile b/Makefile index e595d1f626b8..d74b38e70d6f 100644 --- a/Makefile +++ b/Makefile @@ -364,7 +364,7 @@ AFLAGS_MODULE = LDFLAGS_MODULE = CFLAGS_KERNEL = AFLAGS_KERNEL = -CFLAGS_GCOV = -fprofile-arcs -ftest-coverage +CFLAGS_GCOV = -fprofile-arcs -ftest-coverage -fno-tree-loop-im CFLAGS_KCOV = -fsanitize-coverage=trace-pc From patchwork Mon Apr 25 15:35:31 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 102467 Delivered-To: patch@linaro.org Received: by 10.140.93.198 with SMTP id d64csp1105933qge; Mon, 25 Apr 2016 08:36:21 -0700 (PDT) X-Received: by 10.66.146.164 with SMTP id td4mr49563671pab.47.1461598581576; Mon, 25 Apr 2016 08:36:21 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b14si3549316pat.152.2016.04.25.08.36.21; Mon, 25 Apr 2016 08:36:21 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754933AbcDYPgT (ORCPT + 29 others); Mon, 25 Apr 2016 11:36:19 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:57707 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754813AbcDYPgP (ORCPT ); Mon, 25 Apr 2016 11:36:15 -0400 Received: from wuerfel.lan. ([78.42.132.4]) by mrelayeu.kundenserver.de (mreue101) with ESMTPA (Nemesis) id 0LoYQs-1bMsdC3pes-00gUeK; Mon, 25 Apr 2016 17:35:41 +0200 From: Arnd Bergmann To: Michal Marek Cc: linux-kbuild@vger.kernel.org, Peter Oberparleiter , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Arnd Bergmann Subject: [PATCH 5/5] gcov: disable -Wmaybe-uninitialized warning Date: Mon, 25 Apr 2016 17:35:31 +0200 Message-Id: <1461598531-2190169-6-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1461598531-2190169-1-git-send-email-arnd@arndb.de> References: <1461598531-2190169-1-git-send-email-arnd@arndb.de> X-Provags-ID: V03:K0:6ZH49nWA4AnFKrW9bpQJeKOZKTwTDMIVYW27JNYRoDbBbUXZv1c 6XoDd78wHsbD6hZ3nMbcsFiEYsv9mnDrAeUTEiWhAbtvrNPsh9/UddMW/4vwZtUsBkIyKIP oK1++cKpowsaHh8f7Ahw+9LYq3pdhtPqti7shZHz5rCdCkWQmEpNy7BpFIu1mLQUKe5dp14 zkICRU2zz0QdRoQZTe3xw== X-UI-Out-Filterresults: notjunk:1; V01:K0:u2MVsf4UYlI=:joZbaQ0SFymzTGWRN8xP+u ZmdbcbjQvO7uRgSu5cRclVq+mWpIFCE2f/vH5PN9tZNKIG0riytwRQ6S5GR01SocaCKjns/8X HBAA//3OPy83qXHeeRdBT+oAYCs2+8bTKs6yJp4WIwH/13z2CQBYvs//enOFMV85BmIZ1iCCK ldD7b67Xs8o34aIJopuHg72UcDYpemArAHQDxRTkmdwPdcUOI9XkkyvICFV400qbLtTKLnJlb 6PQgXj990g0Af4BXdUC+h2JZU/MOTAl7bekQtrnynS6uCJHophvm1XzlT/esnbtGzSkdWgyQB AtuFrKrIEyuNjeke7ovIeUgnTOY9E/J4n0cKSml+j/Qv8CkA5Q7XRobZl+41/TZ9PJxgr+aK1 46QfEegP/KTSTlOKTjBOEjp7rIjiHhmdP71F6zJ0hGQKrNK8N4FOIhps/p2X5fXuxC1w5wdOp UE9lsnH+mkB4EiA2Hc1LU2JFR3YE+Rsy+NpptI8vnQWk65xZJD5+/MoV8RvweGddna+1t22Q7 wbfMYzDZ43NMOezDVWmMbx7qbnya8yLxUk4RCJnV6129wbsraJGImE5HFnt0kd9b0Aj6uFavm PsXLkEY5nOhuYi9gAQjSeSiSGh3sqLZxEDIW/YiGGgU3ZDUQif65DLQitFrdczqwegFNKmKRw CZClpyyPi4HYOKJT8ckU3dcNxNZxeIqBBq4lf6RuToCAqIKDlLDKTwzq0VN/NMYRUur0= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When gcov profiling is enabled, we see a lot of spurious warnings about possibly uninitialized variables being used: arch/arm/mm/dma-mapping.c: In function 'arm_coherent_iommu_map_page': arch/arm/mm/dma-mapping.c:1085:16: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized] drivers/clk/st/clk-flexgen.c: In function 'st_of_flexgen_setup': drivers/clk/st/clk-flexgen.c:323:9: warning: 'num_parents' may be used uninitialized in this function [-Wmaybe-uninitialized] kernel/cgroup.c: In function 'cgroup_mount': kernel/cgroup.c:2119:11: warning: 'root' may be used uninitialized in this function [-Wmaybe-uninitialized] All of these are false positives, so it seems better to just disable the warnings whenever GCOV is enabled. Most users don't enable GCOV, and based on a prior patch, it is now also disabled for 'allmodconfig' builds, so there should be no downsides of doing this. Signed-off-by: Arnd Bergmann Acked-by: Peter Oberparleiter --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- 2.7.0 diff --git a/Makefile b/Makefile index d74b38e70d6f..b5c67617a98d 100644 --- a/Makefile +++ b/Makefile @@ -364,7 +364,7 @@ AFLAGS_MODULE = LDFLAGS_MODULE = CFLAGS_KERNEL = AFLAGS_KERNEL = -CFLAGS_GCOV = -fprofile-arcs -ftest-coverage -fno-tree-loop-im +CFLAGS_GCOV = -fprofile-arcs -ftest-coverage -fno-tree-loop-im -Wno-maybe-uninitialized CFLAGS_KCOV = -fsanitize-coverage=trace-pc