Merge changes I9f68c887,Ic18f2dc5

* changes:
  Fix data race when ALLOW_MISSING_DEPENDENCIES=true
  Document glob patterns
diff --git a/README.md b/README.md
index b3239e9..3549b02 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,14 @@
 For a list of valid module types and their properties see
 [$OUT_DIR/soong/.bootstrap/docs/soong_build.html](https://go/Android.bp).
 
+### Globs
+
+Properties that take a list of files can also take glob patterns.  Glob
+patterns can contain the normal Unix wildcard `*`, for example "*.java". Glob
+patterns can also contain a single `**` wildcard as a path element, which will
+match zero or more path elements.  For example, `java/**/*.java` will match
+`java/Main.java` and `java/com/android/Main.java`.
+
 ### Variables
 
 An Android.bp file may contain top-level variable assignments:
diff --git a/cc/library.go b/cc/library.go
index 4a7884b..b31fee2 100644
--- a/cc/library.go
+++ b/cc/library.go
@@ -709,7 +709,7 @@
 }
 
 func (library *libraryDecorator) getWholeStaticMissingDeps() []string {
-	return library.wholeStaticMissingDeps
+	return append([]string(nil), library.wholeStaticMissingDeps...)
 }
 
 func (library *libraryDecorator) objs() Objects {