summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/ccache/files/ccache-2.4-profile.patch')
-rw-r--r--dev-util/ccache/files/ccache-2.4-profile.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/dev-util/ccache/files/ccache-2.4-profile.patch b/dev-util/ccache/files/ccache-2.4-profile.patch
new file mode 100644
index 000000000000..57743213dd3c
--- /dev/null
+++ b/dev-util/ccache/files/ccache-2.4-profile.patch
@@ -0,0 +1,27 @@
+GCCs options -fprofile-generate and -fprofile-use are used for
+profile guided optimization. It depends on the ability to locate
+the profile data files (.gcda) after running the executable with
+the training data. However, ccache prevents the compiler from
+finding the correct profile data file. Therefore the following
+patch disables the caching when one of the
+ -fprofile-generate
+ -fprofile-use
+ -fprofile-arcs
+flags is found.
+
+Signed-off-by: Clemens Rabe <crabe _at_ gmx _dot_ de>
+
+
+diff -Naur ccache-2.4.orig/ccache.c ccache-2.4/ccache.c
+--- ccache-2.4.orig/ccache.c 2004-09-13 12:38:30.000000000 +0200
++++ ccache-2.4/ccache.c 2008-01-07 20:25:38.000000000 +0100
+@@ -640,6 +640,9 @@
+
+ /* these are too hard */
+ if (strcmp(argv[i], "-fbranch-probabilities")==0 ||
++ strcmp(argv[i], "-fprofile-generate")==0 ||
++ strcmp(argv[i], "-fprofile-use")==0 ||
++ strcmp(argv[i], "-fprofile-arcs")==0 ||
+ strcmp(argv[i], "-M") == 0 ||
+ strcmp(argv[i], "-MM") == 0 ||
+ strcmp(argv[i], "-x") == 0) {