summaryrefslogtreecommitdiffstats
path: root/package/valgrind/valgrind-3.7.0-fix-ccache-support.patch
diff options
context:
space:
mode:
authorThomas Petazzoni2011-12-31 15:07:08 +0100
committerPeter Korsgaard2012-01-02 15:08:11 +0100
commitbea251c69668ce002420cd68d2c490c8f8d8ddf0 (patch)
tree0bd39f73f9f96294ac2ceb1e906831d1c64ed086 /package/valgrind/valgrind-3.7.0-fix-ccache-support.patch
parentAdd package for Gnome NetworkManager (diff)
downloadbuildroot-bea251c69668ce002420cd68d2c490c8f8d8ddf0.tar.gz
buildroot-bea251c69668ce002420cd68d2c490c8f8d8ddf0.tar.xz
buildroot-bea251c69668ce002420cd68d2c490c8f8d8ddf0.zip
valgrind: bump to 3.7.0 and fix build with ccache
After bumping to 3.7.0, the valgrind-3.6.1-configure-support-linux-3.patch is no longer necessary since it was added upstream. The valgrind-3.7.0-compiler-check.patch patch is added to fix a compiler version check issue (patch taken from the upstream Subversion repository). The valgrind-3.7.0-fix-ccache-support.patch is added to fix the build process when ccache is used. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Marek Belisko <marek.belisko@open-nandra.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/valgrind/valgrind-3.7.0-fix-ccache-support.patch')
-rw-r--r--package/valgrind/valgrind-3.7.0-fix-ccache-support.patch51
1 files changed, 51 insertions, 0 deletions
diff --git a/package/valgrind/valgrind-3.7.0-fix-ccache-support.patch b/package/valgrind/valgrind-3.7.0-fix-ccache-support.patch
new file mode 100644
index 000000000..56d984b0b
--- /dev/null
+++ b/package/valgrind/valgrind-3.7.0-fix-ccache-support.patch
@@ -0,0 +1,51 @@
+Fix link_tool_exe_linux.in to work with ccache
+
+The link_tool_exe_linux.in Perl script makes the assumption that the
+compilation command line is always:
+
+ gcc -o foobar foobar.c -someflags
+
+I.e, it assumes that the compiler is the first word of the command
+line. However, this is not true with ccache, where the command line
+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.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: valgrind-3.6.1/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
+ die "Bogus alt-load address"
+ if (length($ala) < 3 || index($ala, "0x") != 0);
+
+-# 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";
+
+ #print "link_tool_exe_linux: $cmd\n";
+