valgrind: import Debian link_tool patch for MIPS

Without this patch, valgrind 3.10.1 fails to run on MIPS:

 | root@bcm97425vms:~# valgrind /bin/ls
 | valgrind: mmap(0x400000, 700416) failed in UME with error 22 (Invalid argument).
 | valgrind: this can be caused by executables with very large text, data or bss segments.

Original Debian bug report:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777704

(From OE-Core rev: 652c5ae2c8317dcd93ada409365eeb56ceb54d0b)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Andre McCurdy 2015-12-09 10:52:48 -08:00 committed by Richard Purdie
parent c27bbb4814
commit 9205f0acfe
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,37 @@
Debian fix for MIPS: mmap(0x400000, 32768) failed in UME with error 22 (Invalid argument)
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777704
Upstream-Status: Pending
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Description: Disable the MIPS linker workarounds when using -Ttext-section
Origin: vendor
Bug-Debian: http://bugs.debian.org/777704
Author: James Cowgill <james410@cowgill.org.uk>
Last-Update: 2015-04-25
--- a/coregrind/link_tool_exe_linux.in
+++ b/coregrind/link_tool_exe_linux.in
@@ -76,12 +76,13 @@
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";
+if ($arch =~ /^mips/ && "@FLAG_T_TEXT@" eq '-Ttext') {
+ # We only need to use the special mips options when using -Ttext
+ if ($arch =~ /^mips(64|isa64)/) {
+ $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala";
+ } else {
+ $extra_args = "-static -Wl,--section-start=.reginfo=$ala";
+ }
} else {
$extra_args = "-static -Wl,@FLAG_T_TEXT@=$ala";
}

View File

@ -26,6 +26,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \
file://pass-maltivec-only-if-it-supported.patch \
file://run-ptest \
file://0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch \
file://11_mips-link-tool.patch \
"
SRC_URI[md5sum] = "60ddae962bc79e7c95cfc4667245707f"