Skip to contentSkip to conversation

valgrind: fix mips64 compile

PATCH New Peter Seiderer 2 participants 4 messages Nov 8, 2018 – Nov 28, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 valgrind: fix mips64 compile

Disable gcc march mips64r2 detection (use compile flags already set by buildroot only), avoids double setting like '-march=mips64 ... -march=mips64r2 -mabi=64'.

Fixes [1]:

error: '-mips64r2' conflicts with the other architecture options, which specify a mips64 processor

[1] http://autobuild.buildroot.net/results/34f6e2352f1559f98c724fe5394db0035b42ddb1

---
 ...disable-gcc-march-mips64r2-detection.patch | 58 +++++++++++++++++++
 package/valgrind/valgrind.mk                  |  3 +
 2 files changed, 61 insertions(+)
 create mode 100644 package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch
package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch new file +58 -0
new file mode 100644
index 0000000000..75874fe7fd
@@ -0,0 +1,58 @@
+From a4584ead274388b91b05b94bad2452a5f0ad3530 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <[email protected]>
+Date: Thu, 8 Nov 2018 23:55:30 +0100
+Subject: [PATCH] configure.ac: disable gcc march mips64r2 detection
+
+Disable gcc march mips64r2 detection, compile flags already
+set by buildroot, fixes [1]:
+
+  error: '-mips64r2' conflicts with the other architecture options, which specify a mips64 processor
+
+[1] http://autobuild.buildroot.net/results/34f6e2352f1559f98c724fe5394db0035b42ddb1
+
+Signed-off-by: Peter Seiderer <[email protected]>
+---
+ configure.ac | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c18ae5f2a..70bfe1bb6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1769,21 +1769,21 @@ case "${host_cpu}" in
+ 
+ 
+         # does this compiler support -march=mips64r2 (mips64r2 default) ?
+-        AC_MSG_CHECKING([if gcc accepts -march=mips64r2 -mabi=64])
++        #AC_MSG_CHECKING([if gcc accepts -march=mips64r2 -mabi=64])
+ 
+-        safe_CFLAGS=$CFLAGS
+-        CFLAGS="$CFLAGS -march=mips64r2 -mabi=64 -Werror"
++        #safe_CFLAGS=$CFLAGS
++        #CFLAGS="$CFLAGS -march=mips64r2 -mabi=64 -Werror"
+ 
+-        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+-          return 0;
+-        ]])], [
+-        FLAG_M64="-march=mips64r2 -mabi=64"
+-        AC_MSG_RESULT([yes])
+-        ], [
++        #AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
++        #  return 0;
++        #]])], [
++        #FLAG_M64="-march=mips64r2 -mabi=64"
++        #AC_MSG_RESULT([yes])
++        #], [
+         FLAG_M64=""
+-        AC_MSG_RESULT([no])
+-        ])
+-        CFLAGS=$safe_CFLAGS
++        #AC_MSG_RESULT([no])
++        #])
++        #CFLAGS=$safe_CFLAGS
+ 
+         AC_SUBST(FLAG_M64)
+         ;;
+-- 
+2.19.1
+
package/valgrind/valgrind.mk +3 -0
index 459de4907e..67b2854f86 100644
@@ -13,6 +13,9 @@ VALGRIND_CONF_OPTS = \
 	--disable-ubsan \
 	--without-mpicc
 VALGRIND_INSTALL_STAGING = YES
+# Patch 0001-configure.ac-disable-gcc-march-mips64r2-detection.patch
+# touches configure.ac
+VALGRIND_AUTORECONF = YES
 
 # Valgrind must be compiled with no stack protection, so forcefully
 # pass -fno-stack-protector to override what Buildroot may have in
Signature · 1 line
2.19.1
#1 lore raw

PATCH 1/1 valgrind: fix mips64 compile

Hello,

Quoted 11 lines · Peter Seiderer

Disable gcc march mips64r2 detection (use compile flags already set by buildroot only), avoids double setting like '-march=mips64 ... -march=mips64r2 -mabi=64'.

Fixes [1]:

error: '-mips64r2' conflicts with the other architecture options, which specify a mips64 processor

[1] http://autobuild.buildroot.net/results/34f6e2352f1559f98c724fe5394db0035b42ddb1

Thanks for this patch. Could we find something acceptable upstream? Why is valgrind configure script enforcing those CFLAGS ?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 valgrind: fix mips64 compile

Hello Thomas,

Quoted 9 lines · Thomas Petazzoni

Hello,

Quoted 6 lines · Peter Seiderer

Disable gcc march mips64r2 detection (use compile flags already set by buildroot only), avoids double setting like '-march=mips64 ... -march=mips64r2 -mabi=64'.

Fixes [1]:

Quoted 8 lines
Quoted 5 lines

error: '-mips64r2' conflicts with the other architecture options, which specify a mips64 processor

[1] http://autobuild.buildroot.net/results/34f6e2352f1559f98c724fe5394db0035b42ddb1

Thanks for this patch. Could we find something acceptable upstream? Why is valgrind configure script enforcing those CFLAGS ?

Suggested upstream, see:

https://bugs.kde.org/show_bug.cgi?id=400975

Regards,
Peter

Quoted 2 lines

Thomas

#3 lore raw

PATCH 1/1 valgrind: fix mips64 compile

In reply to Peter Seiderer

Hello,

Quoted 23 lines · Peter Seiderer
package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch new file +17 -0
new file mode 100644
index 0000000000..75874fe7fd
@@ -0,0 +1,58 @@
+From a4584ead274388b91b05b94bad2452a5f0ad3530 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <[email protected]>
+Date: Thu, 8 Nov 2018 23:55:30 +0100
+Subject: [PATCH] configure.ac: disable gcc march mips64r2 detection
+
+Disable gcc march mips64r2 detection, compile flags already
+set by buildroot, fixes [1]:
+
+  error: '-mips64r2' conflicts with the other architecture options, which specify a mips64 processor
+
+[1] http://autobuild.buildroot.net/results/34f6e2352f1559f98c724fe5394db0035b42ddb1
+
+Signed-off-by: Peter Seiderer <[email protected]>
+---
+ configure.ac | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+

package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch line 27

Quoted 10 lines
package/valgrind/0003-configure.ac-disable-gcc-march-mips64r2-detection.patch new file +10 -0
+diff --git a/configure.ac b/configure.ac
+index c18ae5f2a..70bfe1bb6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1769,21 +1769,21 @@ case "${host_cpu}" in
+ 
+ 
+         # does this compiler support -march=mips64r2 (mips64r2 default) ?
+-        AC_MSG_CHECKING([if gcc accepts -march=mips64r2 -mabi=64])
++        #AC_MSG_CHECKING([if gcc accepts -march=mips64r2 -mabi=64])

Commenting out code in a patch is not very useful, removing it is easier/simpler, so I changed this to just remove the problematic code.

Quoted 2 lines

VALGRIND_INSTALL_STAGING = YES
+# Patch 0001-configure.ac-disable-gcc-march-mips64r2-detection.patch

Actually it's patch 0003, so I fixed that as well.

Applied to master with those minor issues fixed. Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com