aboutsummaryrefslogtreecommitdiff
path: root/package/ccache
diff options
context:
space:
mode:
authorGravatar Brandon Maier <brandon.maier@rockwellcollins.com>2016-12-22 08:31:31 -0600
committerGravatar Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-01-27 21:57:23 +1300
commitda8584d2ae46059a05d16dc91d616e12afb67044 (patch)
tree0c7fb5a0cfe158ac2608be091a142c417f30c094 /package/ccache
parent8d2ade37b1d3934f067bab7e08b8cc1f0a08a1f2 (diff)
downloadbuildroot-da8584d2ae46059a05d16dc91d616e12afb67044.tar.gz
buildroot-da8584d2ae46059a05d16dc91d616e12afb67044.tar.bz2
ccache: Patch to fix toolchain-wrapper's --sysroot
ccache doesn't rewrite the --sysroot base_dir from toolchain-wrapper correctly. Resulting in a large number of cache misses when building from different base directories. A fix has already been accepted to the ccache upstream[1], but won't be released until ccache 3.4. (Was noted as an improvement, so unsure of the 3.4 release timing) [1] https://github.com/ccache/ccache/pull/132 Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com> Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/ccache')
-rw-r--r--package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch b/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch
new file mode 100644
index 0000000000..33db7d480f
--- /dev/null
+++ b/package/ccache/0001-Convert-argument-to-sysroot-option-to-relative-path.patch
@@ -0,0 +1,43 @@
+From fe42d6f7b739e8d42811bf46bcccfafa728847a2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mathias=20De=20Mar=C3=A9?= <mathias.de_mare@nokia.com>
+Date: Mon, 19 Sep 2016 10:38:13 +0200
+Subject: [PATCH] Convert argument to '--sysroot' option to relative path
+
+Previously, only the argument to '--sysroot=' was converted.
+This changeset adds support for '--sysroot'.
+
+Signed-off-by: Brandon Maier <brandon.maier@rockwellcollins.com>
+Signed-off-by: Matt Weber <matthew.weber@rockwellcollins.com>
+---
+ ccache.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/ccache.c b/ccache.c
+index 8ffadcc..76139b9 100644
+--- a/ccache.c
++++ b/ccache.c
+@@ -2407,6 +2407,21 @@ cc_process_args(struct args *args, struct args **preprocessor_args,
+ free(option);
+ continue;
+ }
++ // Alternate form of specifying sysroot without =
++ if (str_eq(argv[i], "--sysroot")) {
++ if (i == argc-1) {
++ cc_log("Missing argument to %s", argv[i]);
++ stats_update(STATS_ARGS);
++ result = false;
++ goto out;
++ }
++ args_add(stripped_args, argv[i]);
++ char *relpath = make_relative_path(x_strdup(argv[i+1]));
++ args_add(stripped_args, relpath);
++ i++;
++ free(relpath);
++ continue;
++ }
+ if (str_startswith(argv[i], "-Wp,")) {
+ if (str_eq(argv[i], "-Wp,-P")
+ || strstr(argv[i], ",-P,")
+--
+2.8.3
+