diff options
author | Andre McCurdy <armccurdy@gmail.com> | 2015-12-09 10:52:48 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-12 23:42:54 +0000 |
commit | 9205f0acfea8200135934ebdc5a4e8038a2d9a3f (patch) | |
tree | 8a83331e622c14426d4aa7d7960e9ed6f4201f81 /meta | |
parent | c27bbb48143d38c7b8e4d29fa1bd516928b8f5d7 (diff) | |
download | poky-9205f0acfea8200135934ebdc5a4e8038a2d9a3f.tar.gz |
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch | 37 | ||||
-rw-r--r-- | meta/recipes-devtools/valgrind/valgrind_3.10.1.bb | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch b/meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch new file mode 100644 index 0000000000..ecb33b8cb3 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/11_mips-link-tool.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | Debian fix for MIPS: mmap(0x400000, 32768) failed in UME with error 22 (Invalid argument) | ||
2 | |||
3 | https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=777704 | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | ||
8 | |||
9 | |||
10 | Description: Disable the MIPS linker workarounds when using -Ttext-section | ||
11 | Origin: vendor | ||
12 | Bug-Debian: http://bugs.debian.org/777704 | ||
13 | Author: James Cowgill <james410@cowgill.org.uk> | ||
14 | Last-Update: 2015-04-25 | ||
15 | |||
16 | --- a/coregrind/link_tool_exe_linux.in | ||
17 | +++ b/coregrind/link_tool_exe_linux.in | ||
18 | @@ -76,12 +76,13 @@ | ||
19 | my $arch = substr($x, 0, index($x, "'")); | ||
20 | |||
21 | my $extra_args; | ||
22 | -if (($arch eq 'mips') || ($arch eq 'mipsel') | ||
23 | - || ($arch eq 'mipsisa32r2el')) { | ||
24 | - $extra_args = "-static -Wl,--section-start=.reginfo=$ala"; | ||
25 | -} elsif (($arch eq 'mips64') || ($arch eq 'mips64el') || | ||
26 | - ($arch eq 'mipsisa64el')) { | ||
27 | - $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala"; | ||
28 | +if ($arch =~ /^mips/ && "@FLAG_T_TEXT@" eq '-Ttext') { | ||
29 | + # We only need to use the special mips options when using -Ttext | ||
30 | + if ($arch =~ /^mips(64|isa64)/) { | ||
31 | + $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala"; | ||
32 | + } else { | ||
33 | + $extra_args = "-static -Wl,--section-start=.reginfo=$ala"; | ||
34 | + } | ||
35 | } else { | ||
36 | $extra_args = "-static -Wl,@FLAG_T_TEXT@=$ala"; | ||
37 | } | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.10.1.bb b/meta/recipes-devtools/valgrind/valgrind_3.10.1.bb index 86ba979ea8..c386a19e88 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.10.1.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.10.1.bb | |||
@@ -26,6 +26,7 @@ SRC_URI = "http://www.valgrind.org/downloads/valgrind-${PV}.tar.bz2 \ | |||
26 | file://pass-maltivec-only-if-it-supported.patch \ | 26 | file://pass-maltivec-only-if-it-supported.patch \ |
27 | file://run-ptest \ | 27 | file://run-ptest \ |
28 | file://0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch \ | 28 | file://0001-valgrind-Enable-rt_sigpending-syscall-on-ppc64-linux.patch \ |
29 | file://11_mips-link-tool.patch \ | ||
29 | " | 30 | " |
30 | 31 | ||
31 | SRC_URI[md5sum] = "60ddae962bc79e7c95cfc4667245707f" | 32 | SRC_URI[md5sum] = "60ddae962bc79e7c95cfc4667245707f" |