diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 09783656bf92ae6dd8343829f53b3e70bba5bd19..f4437e661d89687f50fb01b320fcdd53232714ed 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2012-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* configure.ac (PLUGIN_LD): Rename into...
+	(PLUGIN_LD_SUFFIX): ...this and strip the target_alias triplet.
+	* config.in: Regenerate.
+	* configure: Likewise.
+	* collect2.c (main): Set plugin_ld_suffix to PLUGIN_LD_SUFFIX.
+
 2012-05-07  Eric Botcazou  <ebotcazou@adacore.com>
 
 	* tree-dfa.c (get_ref_base_and_extent) <ARRAY_REF>: Do the offset
diff --git a/gcc/collect2.c b/gcc/collect2.c
index d0166a5b5af351ebe1addde91c6f4061c602568f..deed052af2fcf462d283815bcbaebd6ae99cc1d0 100644
--- a/gcc/collect2.c
+++ b/gcc/collect2.c
@@ -1024,7 +1024,7 @@ int
 main (int argc, char **argv)
 {
   static const char *const ld_suffix	= "ld";
-  static const char *const plugin_ld_suffix = PLUGIN_LD;
+  static const char *const plugin_ld_suffix = PLUGIN_LD_SUFFIX;
   static const char *const real_ld_suffix = "real-ld";
   static const char *const collect_ld_suffix = "collect-ld";
   static const char *const nm_suffix	= "nm";
diff --git a/gcc/config.in b/gcc/config.in
index 53214522a5c2fafb1d8440cdacb968db4521de03..9eefc9787b0860d2dfab14fa94848a0a5fa64c4e 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -1693,7 +1693,7 @@
 
 /* Specify plugin linker */
 #ifndef USED_FOR_TARGET
-#undef PLUGIN_LD
+#undef PLUGIN_LD_SUFFIX
 #endif
 
 
diff --git a/gcc/configure b/gcc/configure
index 223f21805e0fe580ee0f0f3c3a5ebae9206dfe88..557a4cc794d237286e46457374e6d53f79afbd2f 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -21511,20 +21511,20 @@ fi
 fi
 
 ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld
-PLUGIN_LD=`basename $gcc_cv_ld`
+PLUGIN_LD_SUFFIX=`basename $gcc_cv_ld | sed -e "s,$target_alias-,,"`
 
 # Check whether --with-plugin-ld was given.
 if test "${with_plugin_ld+set}" = set; then :
   withval=$with_plugin_ld; if test x"$withval" != x; then
    ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval"
-   PLUGIN_LD="$withval"
+   PLUGIN_LD_SUFFIX=`echo $withval | sed -e "s,$target_alias-,,"`
  fi
 fi
 
 
 
 cat >>confdefs.h <<_ACEOF
-#define PLUGIN_LD "$PLUGIN_LD"
+#define PLUGIN_LD_SUFFIX "$PLUGIN_LD_SUFFIX"
 _ACEOF
 
 
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 86b4bea102d18568b164a50981be68015dfc5330..2c17736edf2e20cf38e68b160db888a085c9a91e 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2001,15 +2001,15 @@ else
 fi])
 
 ORIGINAL_PLUGIN_LD_FOR_TARGET=$gcc_cv_ld
-PLUGIN_LD=`basename $gcc_cv_ld`
+PLUGIN_LD_SUFFIX=`basename $gcc_cv_ld | sed -e "s,$target_alias-,,"`
 AC_ARG_WITH(plugin-ld,
 [AS_HELP_STRING([[--with-plugin-ld=[ARG]]], [specify the plugin linker])],
 [if test x"$withval" != x; then
    ORIGINAL_PLUGIN_LD_FOR_TARGET="$withval"
-   PLUGIN_LD="$withval"
+   PLUGIN_LD_SUFFIX=`echo $withval | sed -e "s,$target_alias-,,"`
  fi])
 AC_SUBST(ORIGINAL_PLUGIN_LD_FOR_TARGET)
-AC_DEFINE_UNQUOTED(PLUGIN_LD, "$PLUGIN_LD", [Specify plugin linker])
+AC_DEFINE_UNQUOTED(PLUGIN_LD_SUFFIX, "$PLUGIN_LD_SUFFIX", [Specify plugin linker])
 
 # Check to see if we are using gold instead of ld
 AC_MSG_CHECKING(whether we are using gold)