diff --git a/package/devel/valgrind/patches/120-mips_fix_soft_float.patch b/package/devel/valgrind/patches/120-mips_fix_soft_float.patch index 1cf5aeca02..a407a9311e 100644 --- a/package/devel/valgrind/patches/120-mips_fix_soft_float.patch +++ b/package/devel/valgrind/patches/120-mips_fix_soft_float.patch @@ -32,3 +32,21 @@ return ret; } +--- a/coregrind/m_machine.c ++++ b/coregrind/m_machine.c +@@ -1652,6 +1652,7 @@ Bool VG_(machine_get_hwcaps)( void ) + } + } + ++#ifndef __mips_soft_float + /* Check if CPU has FPU and 32 dbl. prec. FP registers */ + int FIR = 0; + __asm__ __volatile__( +@@ -1661,6 +1662,7 @@ Bool VG_(machine_get_hwcaps)( void ) + if (FIR & (1 << FP64)) { + vai.hwcaps |= VEX_PRID_CPU_32FPR; + } ++#endif + + VG_(convert_sigaction_fromK_to_toK)(&saved_sigill_act, &tmp_sigill_act); + VG_(sigaction)(VKI_SIGILL, &tmp_sigill_act, NULL); diff --git a/package/devel/valgrind/patches/310-mips-link-tool.patch b/package/devel/valgrind/patches/310-mips-link-tool.patch new file mode 100644 index 0000000000..198f7408e5 --- /dev/null +++ b/package/devel/valgrind/patches/310-mips-link-tool.patch @@ -0,0 +1,38 @@ +r15754 | petarj | 2015-12-29 20:14:37 +0100 (Tue, 29 Dec 2015) | 8 lines + +mips: remove link script exception for MIPS arch + +Current toolchains on MIPS targets that we care about are reasonably +modern and we do not need this link script exception for MIPS anymore. + +This should fix issues with newer toolchain versions and .MIPS.abiflags +section. + +--- a/coregrind/link_tool_exe_linux.in ++++ b/coregrind/link_tool_exe_linux.in +@@ -69,24 +69,7 @@ shift; # Remove $ala from @ARGV + die "Bogus alt-load address" + if (length($ala) < 3 || index($ala, "0x") != 0); + +-# For mips32 or mips64 we need to use "--section-start=.reginfo=$ala" or +-# "--section-start=.MIPS.options=$ala" respectively, because "-Ttext=$ala" will +-# not put all the sections to the specificed address ($ala). +-my $x = `cat ../config.log 2>&1 | grep host_cpu= | sed "s/host_cpu='//g"`; +-my $arch = substr($x, 0, index($x, "'")); +- +-my $extra_args; +-if (($arch eq 'mips') || ($arch eq 'mipsel') +- || ($arch eq 'mipsisa32r2el')) { +- $extra_args = "-static -Wl,--section-start=.reginfo=$ala"; +-} elsif (($arch eq 'mips64') || ($arch eq 'mips64el') || +- ($arch eq 'mipsisa64el')) { +- $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala"; +-} else { +- $extra_args = "-static -Wl,@FLAG_T_TEXT@=$ala"; +-} +- +-my $cmd = join(" ", @ARGV, $extra_args); ++my $cmd = join(" ", @ARGV, "-static -Wl,@FLAG_T_TEXT@=$ala"); + + #print "link_tool_exe_linux: $cmd\n"; +