diff --git a/toolchain/gcc/patches/4.4.7/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/4.4.7/920-specs_nonfatal_getenv.patch
new file mode 100644
index 0000000000000000000000000000000000000000..359c577397a88d1e200d1fb240e6cdcc9c1993b5
--- /dev/null
+++ b/toolchain/gcc/patches/4.4.7/920-specs_nonfatal_getenv.patch
@@ -0,0 +1,14 @@
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -7855,7 +7855,10 @@ getenv_spec_function (int argc, const ch
+ 
+   value = getenv (argv[0]);
+   if (!value)
+-    fatal ("environment variable \"%s\" not defined", argv[0]);
++  {
++    error ("warning: environment variable \"%s\" not defined", argv[0]);
++    value = "";
++  }
+ 
+   /* We have to escape every character of the environment variable so
+      they are not interpreted as active spec characters.  A
diff --git a/toolchain/gcc/patches/4.5-linaro/920-specs_nonfatal_getenv.patch b/toolchain/gcc/patches/4.5-linaro/920-specs_nonfatal_getenv.patch
index 6fd659c04f4f58bc726edb6c2345401dc88684ec..001088a25c3e2be897acec0ff82d7cb78f38683f 100644
--- a/toolchain/gcc/patches/4.5-linaro/920-specs_nonfatal_getenv.patch
+++ b/toolchain/gcc/patches/4.5-linaro/920-specs_nonfatal_getenv.patch
@@ -6,7 +6,7 @@
    if (!value)
 -    fatal ("environment variable \"%s\" not defined", argv[0]);
 +  {
-+    warning (0, "environment variable \"%s\" not defined", argv[0]);
++    error ("warning: environment variable \"%s\" not defined", argv[0]);
 +    value = "";
 +  }