diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/alpha/freebsd.h gcc-mainline/gcc/config/alpha/freebsd.h
--- gcc-mainline-4/gcc/config/alpha/freebsd.h	2010-12-01 16:23:35.000000000 -0800
+++ gcc-mainline/gcc/config/alpha/freebsd.h	2010-12-01 17:09:15.000000000 -0800
@@ -37,7 +37,7 @@ along with GCC; see the file COPYING3.  
   %{!shared:								\
     %{!static:								\
       %{rdynamic:-export-dynamic}					\
-      %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }}	\
+      -dynamic-linker %(fbsd_dynamic_linker) }	\
     %{static:-Bstatic}}							\
   %{symbolic:-Bsymbolic}"
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/alpha/linux-elf.h gcc-mainline/gcc/config/alpha/linux-elf.h
--- gcc-mainline-4/gcc/config/alpha/linux-elf.h	2010-05-27 13:13:54.000000000 -0700
+++ gcc-mainline/gcc/config/alpha/linux-elf.h	2010-12-01 17:11:56.000000000 -0800
@@ -1,6 +1,6 @@
 /* Definitions of target machine for GNU compiler
    for Alpha Linux-based GNU systems using ELF.
-   Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2006, 2007
+   Copyright (C) 1996, 1997, 1998, 2001, 2002, 2003, 2006, 2007, 2010
    Free Software Foundation, Inc.
    Contributed by Richard Henderson.
 
@@ -47,7 +47,7 @@ along with GCC; see the file COPYING3.  
   %{!shared:							\
     %{!static:							\
       %{rdynamic:-export-dynamic}				\
-      %{!dynamic-linker:-dynamic-linker %(elf_dynamic_linker)}}	\
+      -dynamic-linker %(elf_dynamic_linker)}	\
     %{static:-static}}"
 
 #undef LIB_SPEC
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/arm/freebsd.h gcc-mainline/gcc/config/arm/freebsd.h
--- gcc-mainline-4/gcc/config/arm/freebsd.h	2010-11-10 15:24:03.000000000 -0800
+++ gcc-mainline/gcc/config/arm/freebsd.h	2010-12-01 17:09:15.000000000 -0800
@@ -35,7 +35,7 @@
   %{!shared:								\
     %{!static:								\
       %{rdynamic:-export-dynamic}					\
-      %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }}	\
+      -dynamic-linker %(fbsd_dynamic_linker) }	\
     %{static:-Bstatic}}							\
   %{symbolic:-Bsymbolic}"
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/arm/linux-elf.h gcc-mainline/gcc/config/arm/linux-elf.h
--- gcc-mainline-4/gcc/config/arm/linux-elf.h	2009-12-30 09:05:39.000000000 -0800
+++ gcc-mainline/gcc/config/arm/linux-elf.h	2010-12-01 17:12:25.000000000 -0800
@@ -1,6 +1,6 @@
 /* Definitions for ARM running Linux-based GNU systems using ELF
    Copyright (C) 1993, 1994, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006, 2007, 2008
+   2005, 2006, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    Contributed by Philip Blundell <philb@gnu.org>
 
@@ -70,7 +70,7 @@
    %{shared:-shared} \
    %{symbolic:-Bsymbolic} \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
+   -dynamic-linker " LINUX_DYNAMIC_LINKER " \
    -X \
    %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
    SUBTARGET_EXTRA_LINK_SPEC
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/bfin/linux.h gcc-mainline/gcc/config/bfin/linux.h
--- gcc-mainline-4/gcc/config/bfin/linux.h	2009-10-07 09:35:30.000000000 -0700
+++ gcc-mainline/gcc/config/bfin/linux.h	2010-12-01 17:12:47.000000000 -0800
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+/* Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -45,7 +45,7 @@ see the files COPYING3 and COPYING.RUNTI
   %{shared:-G -Bdynamic} \
   %{!shared: %{!static: \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
+   -dynamic-linker /lib/ld-uClibc.so.0} \
    %{static}} -init __init -fini __fini"
 
 #define MD_UNWIND_SUPPORT "config/bfin/linux-unwind.h"
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/cris/linux.h gcc-mainline/gcc/config/cris/linux.h
--- gcc-mainline-4/gcc/config/cris/linux.h	2009-03-28 00:38:23.000000000 -0700
+++ gcc-mainline/gcc/config/cris/linux.h	2010-12-01 17:13:26.000000000 -0800
@@ -1,5 +1,5 @@
 /* Definitions for GCC.  Part of the machine description for CRIS.
-   Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2008
+   Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
    Contributed by Axis Communications.  Written by Hans-Peter Nilsson.
 
@@ -116,7 +116,7 @@ along with GCC; see the file COPYING3.  
   %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
   %{!shared:%{!static:\
               %{rdynamic:-export-dynamic}\
-              %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}\
+              -dynamic-linker " LINUX_DYNAMIC_LINKER "}}\
   %{!r:%{O2|O3: --gc-sections}}"
 
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/frv/linux.h gcc-mainline/gcc/config/frv/linux.h
--- gcc-mainline-4/gcc/config/frv/linux.h	2009-03-28 00:38:00.000000000 -0700
+++ gcc-mainline/gcc/config/frv/linux.h	2010-12-01 17:13:44.000000000 -0800
@@ -1,5 +1,5 @@
 /* Target macros for the FRV Linux port of GCC.
-   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007
+   Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2010
    Free Software Foundation, Inc.
    Contributed by Red Hat Inc.
 
@@ -42,7 +42,7 @@
   %{mfdpic: -m elf32frvfd -z text} %{shared} %{pie} \
   %{!shared: %{!static: \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+   -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
    %{static}}"
 
 /* Support for compile-time default CPU.  */
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/i386/freebsd.h gcc-mainline/gcc/config/i386/freebsd.h
--- gcc-mainline-4/gcc/config/i386/freebsd.h	2010-11-10 15:24:02.000000000 -0800
+++ gcc-mainline/gcc/config/i386/freebsd.h	2010-12-01 17:09:15.000000000 -0800
@@ -108,7 +108,7 @@ along with GCC; see the file COPYING3.  
     %{!shared: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
+        -dynamic-linker %(fbsd_dynamic_linker) } \
     %{static:-Bstatic}} \
   %{symbolic:-Bsymbolic}"
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/i386/freebsd64.h gcc-mainline/gcc/config/i386/freebsd64.h
--- gcc-mainline-4/gcc/config/i386/freebsd64.h	2009-03-28 00:38:14.000000000 -0700
+++ gcc-mainline/gcc/config/i386/freebsd64.h	2010-12-01 17:14:06.000000000 -0800
@@ -1,5 +1,5 @@
 /* Definitions for AMD x86-64 running FreeBSD with ELF format
-   Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2004, 2007, 2010 Free Software Foundation, Inc.
    Contributed by David O'Brien <obrien@FreeBSD.org>
 
 This file is part of GCC.
@@ -38,6 +38,6 @@ along with GCC; see the file COPYING3.  
     %{!shared: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
+	-dynamic-linker %(fbsd_dynamic_linker) } \
     %{static:-Bstatic}} \
   %{symbolic:-Bsymbolic}"
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/i386/linux.h gcc-mainline/gcc/config/i386/linux.h
--- gcc-mainline-4/gcc/config/i386/linux.h	2010-12-01 05:44:20.000000000 -0800
+++ gcc-mainline/gcc/config/i386/linux.h	2010-12-01 17:09:15.000000000 -0800
@@ -117,7 +117,7 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
 	%{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker %(dynamic_linker)}} \
+	-dynamic-linker %(dynamic_linker)} \
 	%{static:-static}}}"
 
 /* Similar to standard Linux, but adding -ffast-math support.  */
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/i386/linux64.h gcc-mainline/gcc/config/i386/linux64.h
--- gcc-mainline-4/gcc/config/i386/linux64.h	2010-12-01 05:44:20.000000000 -0800
+++ gcc-mainline/gcc/config/i386/linux64.h	2010-12-01 17:09:15.000000000 -0800
@@ -80,8 +80,8 @@ see the files COPYING3 and COPYING.RUNTI
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{" SPEC_32 ":%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
-      %{" SPEC_64 ":%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}} \
+      %{" SPEC_32 ":-dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
+      %{" SPEC_64 ":-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}} \
     %{static:-static}}"
 
 /* Similar to standard Linux, but adding -ffast-math support.  */
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/i386/openbsdelf.h gcc-mainline/gcc/config/i386/openbsdelf.h
--- gcc-mainline-4/gcc/config/i386/openbsdelf.h	2009-10-07 09:35:28.000000000 -0700
+++ gcc-mainline/gcc/config/i386/openbsdelf.h	2010-12-01 17:14:42.000000000 -0800
@@ -1,6 +1,6 @@
 /* Configuration for an OpenBSD i386 target.
    
-   Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -129,6 +129,6 @@ along with GCC; see the file COPYING3.  
    %{static:-Bstatic} \
    %{!static:-Bdynamic} \
    %{assert*} \
-   %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"
+   -dynamic-linker /usr/libexec/ld.so"
 
 #define OBSD_HAS_CORRECT_SPECS
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/ia64/freebsd.h gcc-mainline/gcc/config/ia64/freebsd.h
--- gcc-mainline-4/gcc/config/ia64/freebsd.h	2010-11-10 15:24:03.000000000 -0800
+++ gcc-mainline/gcc/config/ia64/freebsd.h	2010-12-01 17:09:15.000000000 -0800
@@ -30,7 +30,7 @@ along with GCC; see the file COPYING3.  
   %{!shared:								\
     %{!static:								\
       %{rdynamic:-export-dynamic}					\
-      %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }}	\
+      -dynamic-linker %(fbsd_dynamic_linker) }	\
     %{static:-Bstatic}}"
 
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/ia64/linux.h gcc-mainline/gcc/config/ia64/linux.h
--- gcc-mainline-4/gcc/config/ia64/linux.h	2009-04-24 16:20:51.000000000 -0700
+++ gcc-mainline/gcc/config/ia64/linux.h	2010-12-01 17:14:58.000000000 -0800
@@ -1,7 +1,7 @@
 /* Definitions for ia64-linux target.
 
 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2006,
-2009 Free Software Foundation, Inc.
+2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -69,7 +69,7 @@ do {						\
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
       %{static:-static}}"
 
 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/lm32/uclinux-elf.h gcc-mainline/gcc/config/lm32/uclinux-elf.h
--- gcc-mainline-4/gcc/config/lm32/uclinux-elf.h	2010-12-01 16:24:40.000000000 -0800
+++ gcc-mainline/gcc/config/lm32/uclinux-elf.h	2010-12-01 17:09:15.000000000 -0800
@@ -73,7 +73,7 @@
    %{shared:-shared} \
    %{symbolic:-Bsymbolic} \
    %{rdynamic:-export-dynamic} \
-   %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}"
+   -dynamic-linker /lib/ld-linux.so.2"
 
 #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/m32r/linux.h gcc-mainline/gcc/config/m32r/linux.h
--- gcc-mainline-4/gcc/config/m32r/linux.h	2010-11-19 13:25:32.000000000 -0800
+++ gcc-mainline/gcc/config/m32r/linux.h	2010-12-01 17:09:15.000000000 -0800
@@ -63,7 +63,7 @@
     %{!ibcs: \
       %{!static: \
 	%{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+	-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
 	%{static:-static}}}"
 #else
 #define LINK_SPEC "%(link_cpu) -m m32relf_linux %{shared:-shared} \
@@ -71,7 +71,7 @@
     %{!ibcs: \
       %{!static: \
 	%{rdynamic:-export-dynamic} \
-	%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+	-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
 	%{static:-static}}}"
 #endif
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/m68k/linux.h gcc-mainline/gcc/config/m68k/linux.h
--- gcc-mainline-4/gcc/config/m68k/linux.h	2010-12-01 16:53:30.000000000 -0800
+++ gcc-mainline/gcc/config/m68k/linux.h	2010-12-01 17:10:16.000000000 -0800
@@ -91,7 +91,7 @@ along with GCC; see the file COPYING3.  
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker*:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
     %{static}}"
 
 /* For compatibility with linux/a.out */
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/microblaze/linux.h gcc-mainline/gcc/config/microblaze/linux.h
--- gcc-mainline-4/gcc/config/microblaze/linux.h	2010-10-04 04:47:05.000000000 -0700
+++ gcc-mainline/gcc/config/microblaze/linux.h	2010-12-01 17:09:16.000000000 -0800
@@ -30,6 +30,6 @@
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker %(dynamic_linker)}} \
+      -dynamic-linker %(dynamic_linker)} \
     %{static:-static}}"
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mips/linux.h gcc-mainline/gcc/config/mips/linux.h
--- gcc-mainline-4/gcc/config/mips/linux.h	2010-06-16 09:07:32.000000000 -0700
+++ gcc-mainline/gcc/config/mips/linux.h	2010-12-01 17:15:46.000000000 -0800
@@ -1,6 +1,6 @@
 /* Definitions for MIPS running Linux-based GNU systems with ELF format.
    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
-   2007, 2008 Free Software Foundation, Inc.
+   2007, 2008, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -75,7 +75,7 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
         %{static:-static}}}"
 
 #undef SUBTARGET_ASM_SPEC
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mips/linux64.h gcc-mainline/gcc/config/mips/linux64.h
--- gcc-mainline-4/gcc/config/mips/linux64.h	2010-06-16 09:07:32.000000000 -0700
+++ gcc-mainline/gcc/config/mips/linux64.h	2010-12-01 17:16:01.000000000 -0800
@@ -1,6 +1,6 @@
 /* Definitions for MIPS running Linux-based GNU systems with ELF format
    using n32/64 abi.
-   Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008
+   Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -54,10 +54,9 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker: \
-	  %{mabi=n32: -dynamic-linker " LINUX_DYNAMIC_LINKERN32 "} \
-	  %{mabi=64: -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
-	  %{mabi=32: -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}} \
+	%{mabi=n32: -dynamic-linker " LINUX_DYNAMIC_LINKERN32 "} \
+	%{mabi=64: -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
+	%{mabi=32: -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
       %{static:-static}}} \
 %{mabi=n32:-melf32%{EB:b}%{EL:l}tsmipn32} \
 %{mabi=64:-melf64%{EB:b}%{EL:l}tsmip} \
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mips/openbsd.h gcc-mainline/gcc/config/mips/openbsd.h
--- gcc-mainline-4/gcc/config/mips/openbsd.h	2009-10-07 09:35:30.000000000 -0700
+++ gcc-mainline/gcc/config/mips/openbsd.h	2010-12-01 17:16:19.000000000 -0800
@@ -1,5 +1,6 @@
 /* Configuration for  a MIPS ABI32 OpenBSD target.
-   Copyright (C) 1999, 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2003, 2004, 2007, 2008, 2009, 2010
+   Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -81,7 +82,7 @@ along with GCC; see the file COPYING3.  
    %{bestGnum} %{shared} %{non_shared} \
    %{call_shared} %{no_archive} %{exact_version} \
    %{!shared: %{!non_shared: %{!call_shared: -non_shared}}} \
-   %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so} \
+   -dynamic-linker /usr/libexec/ld.so \
    %{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp \
    %{static:-Bstatic} %{!static:-Bdynamic} %{assert*}"
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/mn10300/linux.h gcc-mainline/gcc/config/mn10300/linux.h
--- gcc-mainline-4/gcc/config/mn10300/linux.h	2010-12-01 16:25:44.000000000 -0800
+++ gcc-mainline/gcc/config/mn10300/linux.h	2010-12-01 17:09:16.000000000 -0800
@@ -38,7 +38,7 @@
 #define LINK_SPEC "%{mrelax:--relax} %{shared:-shared} \
    %{!static: \
      %{rdynamic:-export-dynamic} \
-     %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+     -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
    %{static:-static}"
 
 #undef  PROCESSOR_DEFAULT
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/netbsd-elf.h gcc-mainline/gcc/config/netbsd-elf.h
--- gcc-mainline-4/gcc/config/netbsd-elf.h	2010-10-24 09:33:31.000000000 -0700
+++ gcc-mainline/gcc/config/netbsd-elf.h	2010-12-01 17:09:15.000000000 -0800
@@ -77,7 +77,7 @@ along with GCC; see the file COPYING3.  
 	 %{!e*:-e %(netbsd_entry_point)}}} \
      %{!static: \
        %{rdynamic:-export-dynamic} \
-       %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}} \
+       -dynamic-linker /usr/libexec/ld.elf_so} \
      %{static:-static}}"
 
 /* Use --as-needed -lgcc_s for eh support.  */
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/pa/pa-linux.h gcc-mainline/gcc/config/pa/pa-linux.h
--- gcc-mainline-4/gcc/config/pa/pa-linux.h	2010-12-01 16:53:39.000000000 -0800
+++ gcc-mainline/gcc/config/pa/pa-linux.h	2010-12-01 17:09:16.000000000 -0800
@@ -46,7 +46,7 @@ along with GCC; see the file COPYING3.  
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+      -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
       %{static:-static}}"
 
 /* glibc's profiling functions don't need gcc to allocate counters.  */
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/rs6000/linux64.h gcc-mainline/gcc/config/rs6000/linux64.h
--- gcc-mainline-4/gcc/config/rs6000/linux64.h	2010-12-01 16:53:56.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/linux64.h	2010-12-01 17:09:16.000000000 -0800
@@ -392,11 +392,11 @@ extern int dot_symbols;
 
 #define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
+  -dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}"
 
 #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
+  -dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}"
 
 #undef  TOC_SECTION_ASM_OP
 #define TOC_SECTION_ASM_OP \
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/rs6000/sysv4.h gcc-mainline/gcc/config/rs6000/sysv4.h
--- gcc-mainline-4/gcc/config/rs6000/sysv4.h	2010-12-01 16:27:00.000000000 -0800
+++ gcc-mainline/gcc/config/rs6000/sysv4.h	2010-12-01 17:09:16.000000000 -0800
@@ -834,7 +834,7 @@ SVR4_ASM_SPEC \
   %{!shared: \
     %{!static: \
       %{rdynamic: -export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }} \
+      -dynamic-linker %(fbsd_dynamic_linker) } \
     %{static:-Bstatic}} \
   %{symbolic:-Bsymbolic}"
 
@@ -875,7 +875,7 @@ SVR4_ASM_SPEC \
 
 #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+  -dynamic-linker " LINUX_DYNAMIC_LINKER "}}"
 
 #if defined(HAVE_LD_EH_FRAME_HDR)
 # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
@@ -906,7 +906,7 @@ SVR4_ASM_SPEC \
 
 #define LINK_OS_GNU_SPEC "-m elf32ppclinux %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
+  -dynamic-linker /lib/ld.so.1}}"
 
 #define CPP_OS_GNU_SPEC "-D__unix__ -D__gnu_hurd__ -D__GNU__	\
 %{!undef:					                \
@@ -931,7 +931,7 @@ ncrtn.o%s"
 #define LINK_OS_NETBSD_SPEC "\
 %{!shared: %{!static: \
   %{rdynamic:-export-dynamic} \
-  %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.elf_so}}}"
+  -dynamic-linker /usr/libexec/ld.elf_so}}"
 
 #define CPP_OS_NETBSD_SPEC "\
 -D__powerpc__ -D__NetBSD__ -D__KPRINTF_ATTRIBUTE__"
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/s390/linux.h gcc-mainline/gcc/config/s390/linux.h
--- gcc-mainline-4/gcc/config/s390/linux.h	2009-03-28 00:38:01.000000000 -0700
+++ gcc-mainline/gcc/config/s390/linux.h	2010-12-01 17:17:13.000000000 -0800
@@ -1,5 +1,5 @@
 /* Definitions for Linux for S/390.
-   Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007
+   Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2010
    Free Software Foundation, Inc.
    Contributed by Hartmut Penner (hpenner@de.ibm.com) and
                   Ulrich Weigand (uweigand@de.ibm.com).
@@ -83,9 +83,8 @@ along with GCC; see the file COPYING3.  
       %{static:-static} \
       %{!static: \
 	%{rdynamic:-export-dynamic} \
-	%{!dynamic-linker: \
-          %{m31:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
-          %{m64:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}}"
+	%{m31:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
+	%{m64:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
 
 #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sh/linux.h gcc-mainline/gcc/config/sh/linux.h
--- gcc-mainline-4/gcc/config/sh/linux.h	2009-03-28 00:38:19.000000000 -0700
+++ gcc-mainline/gcc/config/sh/linux.h	2010-12-01 17:17:30.000000000 -0800
@@ -1,5 +1,5 @@
 /* Definitions for SH running Linux-based GNU systems using ELF
-   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007
+   Copyright (C) 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2007, 2010
    Free Software Foundation, Inc.
    Contributed by Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
 
@@ -56,7 +56,7 @@ along with GCC; see the file COPYING3.  
   "%{shared:-shared} \
    %{!static: \
      %{rdynamic:-export-dynamic} \
-     %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+     -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
    %{static:-static}"
 
 /* Output assembler code to STREAM to call the profiler.  */
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/freebsd.h gcc-mainline/gcc/config/sparc/freebsd.h
--- gcc-mainline-4/gcc/config/sparc/freebsd.h	2010-11-10 15:24:02.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/freebsd.h	2010-12-01 17:09:16.000000000 -0800
@@ -39,7 +39,7 @@ along with GCC; see the file COPYING3.  
   %{!shared:								\
     %{!static:								\
       %{rdynamic:-export-dynamic}					\
-      %{!dynamic-linker:-dynamic-linker %(fbsd_dynamic_linker) }}	\
+      -dynamic-linker %(fbsd_dynamic_linker) }	\
     %{static:-Bstatic}}"
 
 
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/linux.h gcc-mainline/gcc/config/sparc/linux.h
--- gcc-mainline-4/gcc/config/sparc/linux.h	2010-12-01 16:54:16.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux.h	2010-12-01 17:09:16.000000000 -0800
@@ -92,7 +92,7 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
         %{static:-static}}}"
 
 /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/linux64.h gcc-mainline/gcc/config/sparc/linux64.h
--- gcc-mainline-4/gcc/config/sparc/linux64.h	2010-12-01 16:54:26.000000000 -0800
+++ gcc-mainline/gcc/config/sparc/linux64.h	2010-12-01 17:09:16.000000000 -0800
@@ -126,7 +126,7 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}} \
+        -dynamic-linker " LINUX_DYNAMIC_LINKER32 "} \
         %{static:-static}}} \
 "
 
@@ -135,7 +135,7 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}} \
+        -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
         %{static:-static}}} \
 "
 
@@ -216,7 +216,7 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}} \
+        -dynamic-linker " LINUX_DYNAMIC_LINKER64 "} \
         %{static:-static}}} \
 %{mlittle-endian:-EL} \
 %{!mno-relax:%{!r:-relax}} \
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/sparc/openbsd64.h gcc-mainline/gcc/config/sparc/openbsd64.h
--- gcc-mainline-4/gcc/config/sparc/openbsd64.h	2009-03-28 00:38:07.000000000 -0700
+++ gcc-mainline/gcc/config/sparc/openbsd64.h	2010-12-01 17:18:01.000000000 -0800
@@ -1,5 +1,5 @@
 /* Configuration file for sparc64 OpenBSD target.
-   Copyright (C) 1999, 2005, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2005, 2007, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -77,7 +77,7 @@ along with GCC; see the file COPYING3.  
    %{static:-Bstatic} \
    %{!static:-Bdynamic} \
    %{assert*} \
-   %{!dynamic-linker:-dynamic-linker /usr/libexec/ld.so}"
+   -dynamic-linker /usr/libexec/ld.so"
 
 /* As an elf system, we need crtbegin/crtend stuff.  */
 #undef STARTFILE_SPEC
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/vax/linux.h gcc-mainline/gcc/config/vax/linux.h
--- gcc-mainline-4/gcc/config/vax/linux.h	2009-12-30 09:05:41.000000000 -0800
+++ gcc-mainline/gcc/config/vax/linux.h	2010-12-01 17:18:12.000000000 -0800
@@ -1,5 +1,5 @@
 /* Definitions for VAX running Linux-based GNU systems with ELF format.
-   Copyright (C) 2007, 2009 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -44,5 +44,5 @@ along with GCC; see the file COPYING3.  
   %{!shared: \
     %{!static: \
       %{rdynamic:-export-dynamic} \
-      %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
+      -dynamic-linker /lib/ld.so.1} \
     %{static:-static}}"
diff -rupN --exclude=.svn gcc-mainline-4/gcc/config/xtensa/linux.h gcc-mainline/gcc/config/xtensa/linux.h
--- gcc-mainline-4/gcc/config/xtensa/linux.h	2009-03-28 00:38:21.000000000 -0700
+++ gcc-mainline/gcc/config/xtensa/linux.h	2010-12-01 17:18:28.000000000 -0800
@@ -1,6 +1,6 @@
 /* Xtensa Linux configuration.
    Derived from the configuration for GCC for Intel i386 running Linux.
-   Copyright (C) 2001, 2002, 2003, 2006, 2007, 2008
+   Copyright (C) 2001, 2002, 2003, 2006, 2007, 2008, 2010
    Free Software Foundation, Inc.
 
 This file is part of GCC.
@@ -52,7 +52,7 @@ along with GCC; see the file COPYING3.  
     %{!ibcs: \
       %{!static: \
         %{rdynamic:-export-dynamic} \
-        %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}} \
+        -dynamic-linker " LINUX_DYNAMIC_LINKER "} \
       %{static:-static}}}"
 
 #undef LOCAL_LABEL_PREFIX
