diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index d6784ad..5cae0e4 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -7565,6 +7565,9 @@ be exported, it is possible to combine @option{-flto} and
 interprocedural optimizers to use more aggressive assumptions which
 may lead to improved optimization opportunities.
 
+In some cases you may need to use the @command{gcc-ar} and 
+@command{gcc-ranlib} commands to manage ar files of LTO objects. 
+
 Regarding portability: the current implementation of LTO makes no
 attempt at generating bytecode that can be ported between different
 types of hosts.  The bytecode files are versioned and there is a
diff --git a/gcc/lto/Make-lang.in b/gcc/lto/Make-lang.in
index 2dc6409..56f126d 100644
--- a/gcc/lto/Make-lang.in
+++ b/gcc/lto/Make-lang.in
@@ -28,16 +28,29 @@ LTO_H = lto/lto.h $(HASHTAB_H)
 LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h
 LTO_TREE_H = lto/lto-tree.h $(LINKER_PLUGIN_API_H)
 
+AR_INSTALL_NAME := $(shell echo gcc-ar|sed '$(program_transform_name)')
+RANLIB_INSTALL_NAME := $(shell echo gcc-ranlib|sed '$(program_transform_name)')
+
+ifeq ($(enable_plugin),yes)
+LTO_WRAPPERS = lto/gcc-ar lto/gcc-ranlib
+else
+LTO_WRAPPERS =
+endif
 
 # Rules
 
 # These hooks are used by the main GCC Makefile.  Consult that
 # Makefile for documentation.
-lto.all.cross: $(LTO_EXE)
-lto.start.encap: $(LTO_EXE)
+lto.all.cross: $(LTO_EXE) $(LTO_WRAPPERS)
+lto.start.encap: $(LTO_EXE) $(LTO_WRAPPERS)
 lto.rest.encap:
 lto.tags:
 lto.install-common:
+ifeq ($(enable_plugin),yes)
+	$(INSTALL_SCRIPT) lto/gcc-ar $(DESTDIR)$(bindir)/$(AR_INSTALL_NAME)
+	$(INSTALL_SCRIPT) lto/gcc-ranlib $(DESTDIR)$(bindir)/$(RANLIB_INSTALL_NAME)
+endif
+
 lto.install-man:
 lto.install-info:
 lto.dvi:
diff --git a/gcc/lto/gcc-ar b/gcc/lto/gcc-ar
new file mode 100755
index 0000000..4a49e23
--- /dev/null
+++ b/gcc/lto/gcc-ar
@@ -0,0 +1,7 @@
+#!/bin/sh
+# wrapper for ar with GCC LTO support
+
+BASE=`readlink -f $0`
+BINDIR=`dirname $BASE`
+AR=${AR:-`$BINDIR/gcc -print-prog-name=ar`}
+exec $AR --plugin `$GCC_BINDIR/gcc -print-lto-plugin` "$@"
diff --git a/gcc/lto/gcc-ranlib b/gcc/lto/gcc-ranlib
new file mode 100644
index 0000000..467d593
--- /dev/null
+++ b/gcc/lto/gcc-ranlib
@@ -0,0 +1,7 @@
+#!/bin/sh
+# wrapper for ranlib with GCC LTO support
+
+BASE=`readlink -f $0`
+BINDIR=`dirname $BASE`
+AR=${AR:-`$BINDIR/gcc -print-prog-name=ar`}
+exec $AR -s --plugin `$GCC_BINDIR/gcc -print-lto-plugin` "$@"
