diff options
Diffstat (limited to 'package/valgrind/valgrind-fix-ccache-support.patch')
-rw-r--r-- | package/valgrind/valgrind-fix-ccache-support.patch | 54 |
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]"; + } |