From: Cyril Bur <cyrilbur@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: akshay.adiga@linux.vnet.ibm.com
Subject: [PATCH v2] powerpc: Blacklist GCC 5.4 6.1 and 6.2
Date: Mon, 13 Feb 2017 14:35:36 +1100 [thread overview]
Message-ID: <20170213033536.8908-1-cyrilbur@gmail.com> (raw)
A bug in the -02 optimisation of GCC 5.4 6.1 and 6.2 causes
setup_command_line() to not pass the correct first argument to strcpy
and therefore not actually copy the command_line.
A workaround patch was proposed: http://patchwork.ozlabs.org/patch/673130/
some discussion ensued.
A GCC bug was raised: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71709
The bug has been fixed in 7.0 and backported to GCC 5 and GCC 6.
At the time of writing GCC 5.4 is the most recent and is affected. GCC
6.3 contains the backported fix, has been tested and appears safe to
use.
Heavy-lifting-by: Akshay Adiga <akshay.adiga@linux.vnet.ibm.com>
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
---
v2: Added check to only blacklist compilers on little-endian
arch/powerpc/Makefile | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 31286fa7873c..db5d8dabf1ca 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -381,6 +381,7 @@ TOUT := .tmp_gas_check
# - gcc-3.4 and binutils-2.14 are a fatal combination
# - Require gcc 4.0 or above on 64-bit
# - gcc-4.2.0 has issues compiling modules on 64-bit
+# - gcc-5.4, 6.1, 6.2 don't copy the command_line around correctly
checkbin:
@if test "$(cc-name)" != "clang" \
&& test "$(cc-version)" = "0304" ; then \
@@ -414,6 +415,16 @@ checkbin:
echo -n '*** Please use a different binutils version.' ; \
false ; \
fi
+ @if test "x${CONFIG_CPU_LITTLE_ENDIAN}" = "xy" \
+ && { test "$(cc-version)" = "0504" \
+ || test "$(cc-version)" = "0601" \
+ || test "$(cc-version)" = "0602" ; } ; then \
+ echo -n '*** GCC-5.4 6.1 6.2 have a bad -O2 optimisation ' ; \
+ echo 'which will cause lost command_line options (at least).' ; \
+ echo '*** Please use a different GCC version.' ; \
+ false ; \
+ fi
+
CLEAN_FILES += $(TOUT)
--
2.11.1
next reply other threads:[~2017-02-13 3:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-13 3:35 Cyril Bur [this message]
2017-02-13 15:44 ` [PATCH v2] powerpc: Blacklist GCC 5.4 6.1 and 6.2 Segher Boessenkool
2017-02-14 0:25 ` Cyril Bur
2017-02-14 1:49 ` Segher Boessenkool
2017-10-03 19:29 ` Michal Suchánek
2017-10-04 11:36 ` Michael Ellerman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170213033536.8908-1-cyrilbur@gmail.com \
--to=cyrilbur@gmail.com \
--cc=akshay.adiga@linux.vnet.ibm.com \
--cc=linuxppc-dev@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).