diff mbox series

[1/1] toolchain: use -ffp-contract=off on MIPS in the wrapper when needed

Message ID 1516128616-20127-1-git-send-email-johannes.schmitz1@gmail.com
State Changes Requested
Headers show
Series [1/1] toolchain: use -ffp-contract=off on MIPS in the wrapper when needed | expand

Commit Message

Johannes Schmitz Jan. 16, 2018, 6:50 p.m. UTC
This fix is necessary for to build for MIPS, for example for the MIPS
XBurst architecture used on ci20 boards.

GCC has replaced (no)mfused-madd with ffp-contract.
Find more details and a long discussion at
https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00876.html

Signed-off-by: Johannes Schmitz <johannes.schmitz1@gmail.com>
---
 toolchain/toolchain-wrapper.c  | 10 ++++++++--
 toolchain/toolchain-wrapper.mk |  6 +++++-
 2 files changed, 13 insertions(+), 3 deletions(-)

Comments

Thomas Petazzoni Jan. 16, 2018, 8:03 p.m. UTC | #1
Hello,

On Tue, 16 Jan 2018 19:50:16 +0100, Johannes Schmitz wrote:
> This fix is necessary for to build for MIPS, for example for the MIPS
> XBurst architecture used on ci20 boards.
> 
> GCC has replaced (no)mfused-madd with ffp-contract.
> Find more details and a long discussion at
> https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00876.html
> 
> Signed-off-by: Johannes Schmitz <johannes.schmitz1@gmail.com>

Within just 3 minutes, you sent this patch 3 times. Two times the exact
same version, and one time a different version. There is also no
version number on the patches, making it very difficult to understand
what is *the* correct patch.

Could you add a version number to your patches (git format-patch -v X),
include a changelog between version (below the --- sign that follows
the Signed-off-by line) and try to avoid sending 3 times the same patch
in a row ? :-)

Thanks!

Thomas
Johannes Schmitz Jan. 16, 2018, 9:42 p.m. UTC | #2
Hello,
I am sorry,  I was fully aware that it wasn't a good thing to do.
Afterwards. The problem is my lack of experiencie with submissions through
git send.
I found some formal mistakes such as missing -s in the submitted patch.
Then it was in the middle of a git rebase --interactive and I screwed up.
So I fully accept your criticism. Will continue learning and promise to do
a more thorough review before sending. Basically I have to get used to the
workflow.

Too bad there is no git send --amend

For now please consider the last patch as the correct one.

Regards
Johannes



Am 16.01.2018 21:03 schrieb "Thomas Petazzoni" <
thomas.petazzoni@free-electrons.com>:

Hello,

On Tue, 16 Jan 2018 19:50:16 +0100, Johannes Schmitz wrote:
> This fix is necessary for to build for MIPS, for example for the MIPS
> XBurst architecture used on ci20 boards.
>
> GCC has replaced (no)mfused-madd with ffp-contract.
> Find more details and a long discussion at
> https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00876.html
>
> Signed-off-by: Johannes Schmitz <johannes.schmitz1@gmail.com>

Within just 3 minutes, you sent this patch 3 times. Two times the exact
same version, and one time a different version. There is also no
version number on the patches, making it very difficult to understand
what is *the* correct patch.

Could you add a version number to your patches (git format-patch -v X),
include a changelog between version (below the --- sign that follows
the Signed-off-by line) and try to avoid sending 3 times the same patch
in a row ? :-)

Thanks!

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
<div dir="auto">Hello,<div dir="auto">I am sorry,  I was fully aware that it wasn&#39;t a good thing to do. Afterwards. The problem is my lack of experiencie with submissions through git send.</div><div dir="auto">I found some formal mistakes such as missing -s in the submitted patch. Then it was in the middle of a git rebase --interactive and I screwed up.</div><div dir="auto">So I fully accept your criticism. Will continue learning and promise to do a more thorough review before sending. Basically I have to get used to the workflow.</div><div dir="auto"><br></div><div dir="auto">Too bad there is no git send --amend</div><div dir="auto"><br></div><div dir="auto">For now please consider the last patch as the correct one. </div><div dir="auto"><br></div><div dir="auto">Regards </div><div dir="auto">Johannes </div><div dir="auto"><br></div><br><div class="gmail_extra" dir="auto"><br><div class="gmail_quote">Am 16.01.2018 21:03 schrieb &quot;Thomas Petazzoni&quot; &lt;<a href="mailto:thomas.petazzoni@free-electrons.com">thomas.petazzoni@free-electrons.com</a>&gt;:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<div class="quoted-text"><br>
On Tue, 16 Jan 2018 19:50:16 +0100, Johannes Schmitz wrote:<br>
&gt; This fix is necessary for to build for MIPS, for example for the MIPS<br>
&gt; XBurst architecture used on ci20 boards.<br>
&gt;<br>
&gt; GCC has replaced (no)mfused-madd with ffp-contract.<br>
&gt; Find more details and a long discussion at<br>
&gt; <a href="https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00876.html" rel="noreferrer" target="_blank">https://gcc.gnu.org/ml/gcc-<wbr>patches/2015-06/msg00876.html</a><br>
&gt;<br>
&gt; Signed-off-by: Johannes Schmitz &lt;<a href="mailto:johannes.schmitz1@gmail.com">johannes.schmitz1@gmail.com</a>&gt;<br>
<br>
</div>Within just 3 minutes, you sent this patch 3 times. Two times the exact<br>
same version, and one time a different version. There is also no<br>
version number on the patches, making it very difficult to understand<br>
what is *the* correct patch.<br>
<br>
Could you add a version number to your patches (git format-patch -v X),<br>
include a changelog between version (below the --- sign that follows<br>
the Signed-off-by line) and try to avoid sending 3 times the same patch<br>
in a row ? :-)<br>
<br>
Thanks!<br>
<font color="#888888"><br>
Thomas<br>
--<br>
Thomas Petazzoni, CTO, Free Electrons<br>
Embedded Linux and Kernel engineering<br>
<a href="http://free-electrons.com" rel="noreferrer" target="_blank">http://free-electrons.com</a><br>
</font></blockquote></div><br></div></div>
Ezequiel Garcia Feb. 12, 2018, 3:32 p.m. UTC | #3
Thomas,

On 16 January 2018 at 17:03, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Tue, 16 Jan 2018 19:50:16 +0100, Johannes Schmitz wrote:
>> This fix is necessary for to build for MIPS, for example for the MIPS
>> XBurst architecture used on ci20 boards.
>>
>> GCC has replaced (no)mfused-madd with ffp-contract.
>> Find more details and a long discussion at
>> https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00876.html
>>
>> Signed-off-by: Johannes Schmitz <johannes.schmitz1@gmail.com>
>
> Within just 3 minutes, you sent this patch 3 times. Two times the exact
> same version, and one time a different version. There is also no
> version number on the patches, making it very difficult to understand
> what is *the* correct patch.
>
> Could you add a version number to your patches (git format-patch -v X),
> include a changelog between version (below the --- sign that follows
> the Signed-off-by line) and try to avoid sending 3 times the same patch
> in a row ? :-)
>

According to the last mail from Johannes, you should pick
his last patch:

<1516128787-20711-1-git-send-email-johannes.schmitz1@gmail.com>

Which means:

https://patchwork.ozlabs.org/patch/861859/

I can confirm it unbreaks ci20_defconfig:

Tested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>

Thanks,
diff mbox series

Patch

diff --git a/toolchain/toolchain-wrapper.c b/toolchain/toolchain-wrapper.c
index 2928ea4..dd3a25e 100644
--- a/toolchain/toolchain-wrapper.c
+++ b/toolchain/toolchain-wrapper.c
@@ -79,8 +79,14 @@  static char *predef_args[] = {
 #ifdef BR_OMIT_LOCK_PREFIX
 	"-Wa,-momit-lock-prefix=yes",
 #endif
-#ifdef BR_NO_FUSED_MADD
-	"-mno-fused-madd",
+#ifdef BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
+	#ifdef BR_FP_CONTRACT_OFF
+		"-ffp-contract=off",
+	#endif
+#else
+	#ifdef BR_NO_FUSED_MADD
+		"-mno-fused-madd",
+	#endif
 #endif
 #ifdef BR_BINFMT_FLAT
 	"-Wl,-elf2flt",
diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk
index 7f72a0c..b7a4b9b 100644
--- a/toolchain/toolchain-wrapper.mk
+++ b/toolchain/toolchain-wrapper.mk
@@ -28,7 +28,11 @@  endif
 
 # Avoid FPU bug on XBurst CPUs
 ifeq ($(BR2_mips_xburst),y)
-TOOLCHAIN_WRAPPER_ARGS += -DBR_NO_FUSED_MADD
+	ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_4_6),y)
+		TOOLCHAIN_WRAPPER_ARGS += -DBR_FP_CONTRACT_OFF
+	else
+		TOOLCHAIN_WRAPPER_ARGS += -DBR_NO_FUSED_MADD
+	endif
 endif
 
 ifeq ($(BR2_CCACHE_USE_BASEDIR),y)