Skip to contentSkip to conversation

valgrind: disable for MIPS soft-float

PATCH New Vicente Olivert Riera 3 participants 4 messages May 23, 2016 – May 24, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 valgrind: disable for MIPS soft-float

As stated here [1], recent changes on the MIPS binutils sources have made it necessary for GCC to pass the -msoft-float to the assembler. Due to that, valgrind fails to build for MIPS soft-float when using a version of binutils >= 2.25 because its using some hard-float instructions.

However, we cannot just disable it for the soft-float and binutils >= 2.25 combination since external toolchains don't provide information about the binutils version they use. So, instead, we simply disable it for soft-float.

1: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg00905.html

Fixes:
http://autobuild.buildroot.net/results/5f5/5f576c7f8d56058a19ed0e7ff4b1ec620bcafb65/

---
 package/valgrind/Config.in | 1 +
 1 file changed, 1 insertion(+)
package/valgrind/Config.in +1 -0
index 21b2608..40e219d 100644
@@ -8,6 +8,7 @@ config BR2_PACKAGE_VALGRIND
 		   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
 		   BR2_x86_64
 	depends on !BR2_STATIC_LIBS
+	depends on !BR2_MIPS_SOFT_FLOAT
 	help
 	  Tool for debugging and profiling Linux programs.
 
Signature · 1 line
2.7.3
#1 lore raw

PATCH 1/1 valgrind: disable for MIPS soft-float

Hello,

package/valgrind/Config.in config BR2_PACKAGE_VALGRIND · line 11

Quoted 9 lines · Vicente Olivert Riera
package/valgrind/Config.in +1 -0
index 21b2608..40e219d 100644
@@ -8,6 +8,7 @@ config BR2_PACKAGE_VALGRIND
 		   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
 		   BR2_x86_64
 	depends on !BR2_STATIC_LIBS
+	depends on !BR2_MIPS_SOFT_FLOAT

I am wondering if it isn't better to do:

        depends on BR2_ARM_CPU_ARMV7A || BR2_i386 || \
-                  BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
+                  ((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && !BR2_MIPS_SOFT_FLOAT) || \
                   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
                   BR2_x86_64

But I'm not sure. It's completely equivalent from a functionality point of view, I'm just wondering which one is more logical.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 valgrind: disable for MIPS soft-float

Hi Thomas,

Quoted 22 lines · Thomas Petazzoni

Hello,

package/valgrind/Config.in config BR2_PACKAGE_VALGRIND · line 11

Quoted 9 lines · Vicente Olivert Riera
package/valgrind/Config.in +1 -0
index 21b2608..40e219d 100644
@@ -8,6 +8,7 @@ config BR2_PACKAGE_VALGRIND
 		   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
 		   BR2_x86_64
 	depends on !BR2_STATIC_LIBS
+	depends on !BR2_MIPS_SOFT_FLOAT

I am wondering if it isn't better to do:

        depends on BR2_ARM_CPU_ARMV7A || BR2_i386 || \
package/valgrind/Config.in +1 -1
-                  BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
+                  ((BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el) && !BR2_MIPS_SOFT_FLOAT) || \
                   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
                   BR2_x86_64
Quoted 2 lines

But I'm not sure. It's completely equivalent from a functionality point of view, I'm just wondering which one is more logical.

I prefer mine.

We have architecture support in one block, and features support in another one. More readable IMHO.

Anyway, you can commit whichever you want as at the end of the day they will have the same functionality.

Regards,

Vincent.

Quoted 2 lines

Thomas

#3 lore raw

PATCH 1/1 valgrind: disable for MIPS soft-float

In reply to Vicente Olivert Riera
Quoted 13 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

As stated here [1], recent changes on the MIPS binutils sources have made it necessary for GCC to pass the -msoft-float to the assembler. Due to that, valgrind fails to build for MIPS soft-float when using a version of binutils >= 2.25 because its using some hard-float instructions.

However, we cannot just disable it for the soft-float and binutils >= 2.25 combination since external toolchains don't provide information about the binutils version they use. So, instead, we simply disable it for soft-float.

Quoted 6 lines

1: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg00905.html

Fixes:
http://autobuild.buildroot.net/results/5f5/5f576c7f8d56058a19ed0e7ff4b1ec620bcafb65/

Committed, thanks.

Signature · 1 line
Bye, Peter Korsgaard