--- /dev/null
+diff -up ccache-3.1.9/test.sh~ ccache-3.1.9/test.sh
+--- ccache-3.1.9/test.sh~ 2013-01-06 18:57:59.000000000 +0200
++++ ccache-3.1.9/test.sh 2013-03-31 21:37:24.647552458 +0300
+@@ -3,7 +3,7 @@
+ # A simple test suite for ccache.
+ #
+ # Copyright (C) 2002-2007 Andrew Tridgell
+-# Copyright (C) 2009-2012 Joel Rosdahl
++# Copyright (C) 2009-2013 Joel Rosdahl
+ #
+ # This program is free software; you can redistribute it and/or modify it under
+ # the terms of the GNU General Public License as published by the Free Software
+@@ -562,6 +562,12 @@ int test3;
+ EOF
+ backdate test1.h test2.h test3.h
+
++ $COMPILER -c -Wp,-MD,expected.d test.c
++ expected_d_content=`cat expected.d`
++
++ $COMPILER -c -Wp,-MMD,expected_mmd.d test.c
++ expected_mmd_d_content=`cat expected_mmd.d`
++
+ ##################################################################
+ # First compilation is a miss.
+ testname="first compilation"
+@@ -677,7 +683,7 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ rm -f other.d
+
+@@ -685,7 +691,7 @@ EOF
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ rm -f other.d
+
+@@ -698,7 +704,7 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_mmd_d_content"
+
+ rm -f other.d
+
+@@ -706,7 +712,7 @@ EOF
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_mmd_d_content"
+
+ rm -f other.d
+
+@@ -760,7 +766,7 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -768,7 +774,7 @@ EOF
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ ##################################################################
+ # Check the scenario of running a ccache with direct mode on a cache
+@@ -780,7 +786,7 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -788,7 +794,7 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 1
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -796,7 +802,7 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 2
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ rm -f test.d
+
+@@ -804,7 +810,7 @@ EOF
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 2
+ checkstat 'cache miss' 1
+- checkfile test.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile test.d "$expected_d_content"
+
+ ##################################################################
+ # Check that -MF works.
+@@ -815,7 +821,7 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ rm -f other.d
+
+@@ -823,7 +829,7 @@ EOF
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ ##################################################################
+ # Check that a missing .d file in the cache is handled correctly.
+@@ -835,13 +841,13 @@ EOF
+ checkstat 'cache hit (direct)' 0
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ $CCACHE $COMPILER -c -MD test.c
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 0
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ find $CCACHE_DIR -name '*.d' -exec rm -f '{}' \;
+
+@@ -849,7 +855,7 @@ EOF
+ checkstat 'cache hit (direct)' 1
+ checkstat 'cache hit (preprocessed)' 1
+ checkstat 'cache miss' 1
+- checkfile other.d "test.o: test.c test1.h test3.h test2.h"
++ checkfile other.d "$expected_d_content"
+
+ ##################################################################
+ # Check that stderr from both the preprocessor and the compiler is emitted