summaryrefslogtreecommitdiffstats
path: root/package/valgrind/valgrind-fix-ccache-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/valgrind/valgrind-fix-ccache-support.patch')
-rw-r--r--package/valgrind/valgrind-fix-ccache-support.patch54
1 files changed, 26 insertions, 28 deletions
diff --git a/package/valgrind/valgrind-fix-ccache-support.patch b/package/valgrind/valgrind-fix-ccache-support.patch
index 56d984b0b..40ada8d81 100644
--- a/package/valgrind/valgrind-fix-ccache-support.patch
+++ b/package/valgrind/valgrind-fix-ccache-support.patch
@@ -11,41 +11,39 @@ is:
/path/to/ccache /path/to/crossgcc -o foobar foobar.c -someflags
-Since this Perl script simply needs to add additional flags to the
-command line, we simply add them at the end of the command line
-instead of trying to add them at the beginning.
+Therefore, we tune the script to take into account the case where
+ccache is used.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Index: valgrind-3.6.1/coregrind/link_tool_exe_linux.in
+Index: b/coregrind/link_tool_exe_linux.in
===================================================================
---- valgrind-3.6.1.orig/coregrind/link_tool_exe_linux.in 2011-12-22 13:59:08.933499060 +0100
-+++ valgrind-3.6.1/coregrind/link_tool_exe_linux.in 2011-12-22 13:59:50.302782709 +0100
-@@ -55,25 +55,13 @@
- if (($#ARGV + 1) < 5);
-
- my $ala = $ARGV[0];
-+shift;
-
- # check for plausible-ish alt load address
+--- a/coregrind/link_tool_exe_linux.in
++++ b/coregrind/link_tool_exe_linux.in
+@@ -60,8 +60,16 @@
die "Bogus alt-load address"
if (length($ala) < 3 || index($ala, "0x") != 0);
--# The cc invokation to do the final link
++shift(@ARGV);
++
++if ($ARGV[0] =~ /.*ccache/) {
++ shift(@ARGV);
++}
++
+ # The cc invokation to do the final link
-my $cc = $ARGV[1];
--
--# and the 'restargs' are argv[2 ..]
--
--# so, build up the complete command here:
--# 'cc' -static -Ttext='ala' 'restargs'
--
--my $cmd="$cc -static -Wl,-Ttext=$ala";
--
--# Add the rest of the parameters
--foreach my $n (2 .. $#ARGV) {
-- $cmd = "$cmd $ARGV[$n]";
--}
-+my $cmd=join(" ", @ARGV) . " -static -Wl,-Ttext=$ala";
++my $cc = $ARGV[0];
++
++shift(@ARGV);
- #print "link_tool_exe_linux: $cmd\n";
+ # and the 'restargs' are argv[2 ..]
+
+@@ -82,7 +90,7 @@
+ }
+
+ # Add the rest of the parameters
+-foreach my $n (2 .. $#ARGV) {
++foreach my $n (0 .. $#ARGV) {
+ $cmd = "$cmd $ARGV[$n]";
+ }