diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 74b2285e37d3d501bf3b664c445c6820a9dd0fb5..aed157dc7a7312d4ad8bc6f8b0dca7902a4f2d89 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2007-01-15  Eric Christopher  <echristo@apple.com>
+
+	* config/darwin.h: Update copyright.
+	(TARGET_OPTION_TRANSLATE_TABLE): Add umbrella.
+	(LINK_COMMAND_SPEC): Add -u.
+	(LINK_SPEC): Fix umbrella for above.
+
 2007-01-15  Joseph S. Myers  <joseph@codesourcery.com>
 
 	* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
@@ -52,10 +59,10 @@
 	* param.h (MIN_VECT_LOOP_BOUND): New.
 	* params.def (MIN_VECT_LOOP_BOUND): New.
 	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Takes another
-	argument - minimum threshold for number of iterations. 
+	argument - minimum threshold for number of iterations.
 	* tree-vectorizer.h (slpeel_tree_peel_loop_to_edge): Add another
 	argument to declaration.
-	* tree-vect-analyze.c (vect_analyze_operations): Check value of 
+	* tree-vect-analyze.c (vect_analyze_operations): Check value of
 	MIN_VECT_LOOP_BOUND.
 	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Call
 	slpeel_tree_peel_loop_to_edge with additional argument.
@@ -128,7 +135,7 @@
 2007-01-12  Olga Golovanevsky  <olga@il.ibm.com>
 
 	* builtins.def : Add BUILT_IN_FREE.
-	
+
 2007-01-12  Jan Hubicka  <jh@suse.cz>
 
 	PR tree-optimization/30443
@@ -645,10 +652,10 @@
 2007-01-10  Razya Ladelsky  <razya@il.ibm.com>
 
 	* function.c (get_last_funcdef_no): New function.
-	* function.h (get_last_funcdef_no): Declare. 
+	* function.h (get_last_funcdef_no): Declare.
 	* tree-inline.c (initialize_cfun): Add initialization.
 	(tree_function_versioning): Cleanup.
-	
+
 2007-01-10  Jan Hubicka  <jh@suse.cz>
 
 	* tree-inline.c (setup_one_parameter): Do not propagate into abnormal
@@ -735,7 +742,7 @@
 	(fold_sign_changed_comparison): Likewise.
 	(fold_unary): Likewise.
 	(fold_negate_const): Likewise.
-	(fold_abs_const): Likewise. 
+	(fold_abs_const): Likewise.
 	(fold_not_const): Likewise.
 	* c-common.c (shorten_compare): Use force_fit_type_double.
 	* convert.c (convert_to_pointer): Likewise.
@@ -907,9 +914,9 @@
 	* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
 	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
 	const_simm15, const_pow2, const_npow2): Added.
-	* config/score/misc.md (insv, extv, extzv, movmemsi, 
+	* config/score/misc.md (insv, extv, extzv, movmemsi,
 	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
-	* config/score/score.c (score_address_cost, score_select_cc_mode): 
+	* config/score/score.c (score_address_cost, score_select_cc_mode):
 	Added.
 	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
 	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 926197c027f3491e957da965ec89cb1ca6ad353e..25405383148ae8355c6f8014398d94fab227ff2e 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -130,6 +130,7 @@ extern GTY(()) int darwin_ms_struct;
   { "-segs_read_write_addr", "-Zsegs_read_write_addr" }, \
   { "-seg_addr_table", "-Zseg_addr_table" }, \
   { "-seg_addr_table_filename", "-Zfn_seg_addr_table_filename" }, \
+  { "-umbrella", "-Zumbrella" }, \
   { "-fapple-kext", "-fapple-kext -static -Wa,-static" }, \
   { "-filelist", "-Xlinker -filelist -Xlinker" },  \
   { "-findirect-virtual-calls", "-fapple-kext" }, \
@@ -187,7 +188,7 @@ extern GTY(()) int darwin_ms_struct;
    !strcmp (STR, "segprot") ? 3 :               \
    !strcmp (STR, "sub_library") ? 1 :           \
    !strcmp (STR, "sub_umbrella") ? 1 :          \
-   !strcmp (STR, "umbrella") ? 1 :              \
+   !strcmp (STR, "Zumbrella") ? 1 :             \
    !strcmp (STR, "undefined") ? 1 :             \
    !strcmp (STR, "Zunexported_symbols_list") ? 1 : \
    !strcmp (STR, "Zweak_reference_mismatches") ? 1 : \
@@ -230,7 +231,7 @@ extern GTY(()) int darwin_ms_struct;
    linkers, and for positional arguments like libraries.  */
 #define LINK_COMMAND_SPEC "\
 %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
-    %(linker) %l %X %{d} %{s} %{t} %{Z} \
+    %(linker) %l %X %{d} %{s} %{t} %{Z} %{u*} \
     %{A} %{e*} %{m} %{r} %{x} \
     %{o*}%{!o:-o a.out} \
     %{!A:%{!nostdlib:%{!nostartfiles:%S}}} \
@@ -316,7 +317,7 @@ extern GTY(()) int darwin_ms_struct;
    %{sub_library*} %{sub_umbrella*} \
    " LINK_SYSROOT_SPEC " \
    %{twolevel_namespace} %{twolevel_namespace_hints} \
-   %{umbrella*} \
+   %{Zumbrella*: -umbrella %*} \
    %{undefined*} \
    %{Zunexported_symbols_list*:-unexported_symbols_list %*} \
    %{Zweak_reference_mismatches*:-weak_reference_mismatches %*} \