diff mbox

[2/2] valgrind: disable for MIPS soft-float when using binutils >= 2.25

Message ID 1458041310-65003-2-git-send-email-Vincent.Riera@imgtec.com
State Superseded
Headers show

Commit Message

Vicente Olivert Riera March 15, 2016, 11:28 a.m. UTC
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 GCC >= 4.9 and binutils >= 2.25 because its using some
hard-float instructions.

The combination of GCC-4.8.x and binutils >= 2.25 is not possible as its
disabled in package/gcc/Config.in.host.

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

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

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 package/valgrind/Config.in | 2 ++
 1 file changed, 2 insertions(+)

Comments

Thomas Petazzoni March 15, 2016, 1:37 p.m. UTC | #1
Dear Vicente Olivert Riera,

On Tue, 15 Mar 2016 11:28:30 +0000, Vicente Olivert Riera wrote:
> 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 GCC >= 4.9 and binutils >= 2.25 because its using some
> hard-float instructions.

So I think we should just add "depends on !BR2_MIPS_SOFT_FLOAT.

If your use case is broken with the more recent versions of the tools,
and will continue to be broken for the newer versions of them, we
should IMO just disable completely the support on MIPS soft-float.

Of course, that's my own opinion, others might disagree.

Thomas
Waldemar Brodkorb March 15, 2016, 2:47 p.m. UTC | #2
Hi,
Vicente Olivert Riera wrote,

> 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 GCC >= 4.9 and binutils >= 2.25 because its using some
> hard-float instructions.
> 
> The combination of GCC-4.8.x and binutils >= 2.25 is not possible as its
> disabled in package/gcc/Config.in.host.
> 
> 1: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg00905.html
> 
> Fixes:
>   http://autobuild.buildroot.net/results/5f5/5f576c7f8d56058a19ed0e7ff4b1ec620bcafb65/
> 
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> ---
>  package/valgrind/Config.in | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in
> index 21b2608..c9c71a6 100644
> --- a/package/valgrind/Config.in
> +++ b/package/valgrind/Config.in
> @@ -8,6 +8,8 @@ config BR2_PACKAGE_VALGRIND
>  		   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
>  		   BR2_x86_64
>  	depends on !BR2_STATIC_LIBS
> +	depends on !(BR2_MIPS_SOFT_FLOAT && (BR2_BINUTILS_VERSION_2_25_X || \
> +		   BR2_BINUTILS_VERSION_2_26_X))

I would rather like to come up with a fix for valgrind in the next
days. Some parts are in svn trunk and need to be backported. 
Some parts I will use from OpenWrt and a small patch from me.

I cook up a patch soon.

best regards
 Waldemar
Waldemar Brodkorb April 4, 2016, 3:21 p.m. UTC | #3
Hi,
Waldemar Brodkorb wrote,

> Hi,
> Vicente Olivert Riera wrote,
> 
> > 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 GCC >= 4.9 and binutils >= 2.25 because its using some
> > hard-float instructions.
> > 
> > The combination of GCC-4.8.x and binutils >= 2.25 is not possible as its
> > disabled in package/gcc/Config.in.host.
> > 
> > 1: https://gcc.gnu.org/ml/gcc-patches/2014-08/msg00905.html
> > 
> > Fixes:
> >   http://autobuild.buildroot.net/results/5f5/5f576c7f8d56058a19ed0e7ff4b1ec620bcafb65/
> > 
> > Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> > ---
> >  package/valgrind/Config.in | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in
> > index 21b2608..c9c71a6 100644
> > --- a/package/valgrind/Config.in
> > +++ b/package/valgrind/Config.in
> > @@ -8,6 +8,8 @@ config BR2_PACKAGE_VALGRIND
> >  		   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
> >  		   BR2_x86_64
> >  	depends on !BR2_STATIC_LIBS
> > +	depends on !(BR2_MIPS_SOFT_FLOAT && (BR2_BINUTILS_VERSION_2_25_X || \
> > +		   BR2_BINUTILS_VERSION_2_26_X))
> 
> I would rather like to come up with a fix for valgrind in the next
> days. Some parts are in svn trunk and need to be backported. 
> Some parts I will use from OpenWrt and a small patch from me.
> 
> I cook up a patch soon.

Okay, I give up for now. I even can't make valgrind work for mips
hard-float combo. Still investigating, but it might take longer.

mips64 seems broken, too. Better disable for now.

best regards
 Waldemar
diff mbox

Patch

diff --git a/package/valgrind/Config.in b/package/valgrind/Config.in
index 21b2608..c9c71a6 100644
--- a/package/valgrind/Config.in
+++ b/package/valgrind/Config.in
@@ -8,6 +8,8 @@  config BR2_PACKAGE_VALGRIND
 		   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
 		   BR2_x86_64
 	depends on !BR2_STATIC_LIBS
+	depends on !(BR2_MIPS_SOFT_FLOAT && (BR2_BINUTILS_VERSION_2_25_X || \
+		   BR2_BINUTILS_VERSION_2_26_X))
 	help
 	  Tool for debugging and profiling Linux programs.