--- /dev/null
+From 5bd39e24e4903e49a0c301de4013c6b720862da1 Mon Sep 17 00:00:00 2001
+From: Zakharov Vlad <vzakhar@synopsys.com>
+Date: Fri, 3 Jun 2016 21:33:43 +0300
+Subject: [PATCH] Docs: Prevent build failures when "makeinfo" is missing
+
+Build failed when "makeinfo" was missing on the build host.
+This was happenning because "makeinfo" is required to build .info targets
+and make exited with error. But missing "makeinfo" only stops us from
+building docs ("missing" script already throws a warning on that regard).
+Let's continue to build other targets.
+
+Now exit code of the script called "missing" is checked.
+The value 127 means that "makeinfo" is not available on the build host.
+
+So when such value occurs 0 is returned to the top level makefile.
+Documentation is not being built but further build of binutils continues.
+
+Signed-off-by: Zakharov Vlad <vzakhar@synopsys.com>
+---
+ bfd/doc/Makefile.in | 8 +++++++-
+ binutils/doc/Makefile.in | 8 +++++++-
+ gas/doc/Makefile.in | 8 +++++++-
+ gprof/Makefile.in | 8 +++++++-
+ ld/Makefile.in | 8 +++++++-
+ 5 files changed, 35 insertions(+), 5 deletions(-)
+
+diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in
+index be737f6..6c1eaf7 100644
+--- a/bfd/doc/Makefile.in
++++ b/bfd/doc/Makefile.in
+@@ -468,6 +468,8 @@ mostlyclean-libtool:
+ clean-libtool:
+ -rm -rf .libs _libs
+
++# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
++# but return 0 to top level Makefile to build all other targets.
+ bfd.info: bfd.texinfo $(bfd_TEXINFOS)
+ restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ rm -rf $$backupdir && mkdir $$backupdir && \
+@@ -481,7 +483,11 @@ bfd.info: bfd.texinfo $(bfd_TEXINFOS)
+ then \
+ rc=0; \
+ else \
+- rc=$$?; \
++ if test $$? -eq 127; then \
++ rc=0; \
++ else \
++ rc=$$?; \
++ fi; \
+ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+ fi; \
+ rm -rf $$backupdir; exit $$rc
+diff --git a/binutils/doc/Makefile.in b/binutils/doc/Makefile.in
+index ea3f938..8ed7884 100644
+--- a/binutils/doc/Makefile.in
++++ b/binutils/doc/Makefile.in
+@@ -397,6 +397,8 @@ mostlyclean-libtool:
+ clean-libtool:
+ -rm -rf .libs _libs
+
++# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
++# but return 0 to top level Makefile to build all other targets.
+ binutils.info: binutils.texi
+ restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ rm -rf $$backupdir && mkdir $$backupdir && \
+@@ -410,7 +412,11 @@ binutils.info: binutils.texi
+ then \
+ rc=0; \
+ else \
+- rc=$$?; \
++ if test $$? -eq 127; then \
++ rc=0; \
++ else \
++ rc=$$?; \
++ fi; \
+ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+ fi; \
+ rm -rf $$backupdir; exit $$rc
+diff --git a/gas/doc/Makefile.in b/gas/doc/Makefile.in
+index 9ca5e8e..3159bc3 100644
+--- a/gas/doc/Makefile.in
++++ b/gas/doc/Makefile.in
+@@ -425,6 +425,8 @@ mostlyclean-libtool:
+ clean-libtool:
+ -rm -rf .libs _libs
+
++# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
++# but return 0 to top level Makefile to build all other targets.
+ as.info: as.texinfo $(as_TEXINFOS)
+ restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ rm -rf $$backupdir && mkdir $$backupdir && \
+@@ -438,7 +440,11 @@ as.info: as.texinfo $(as_TEXINFOS)
+ then \
+ rc=0; \
+ else \
+- rc=$$?; \
++ if test $$? -eq 127; then \
++ rc=0; \
++ else \
++ rc=$$?; \
++ fi; \
+ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+ fi; \
+ rm -rf $$backupdir; exit $$rc
+diff --git a/gprof/Makefile.in b/gprof/Makefile.in
+index 67e85cd..c4040eb 100644
+--- a/gprof/Makefile.in
++++ b/gprof/Makefile.in
+@@ -538,6 +538,8 @@ clean-libtool:
+ distclean-libtool:
+ -rm -f libtool config.lt
+
++# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
++# but return 0 to top level Makefile to build all other targets.
+ gprof.info: gprof.texi $(gprof_TEXINFOS)
+ restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ rm -rf $$backupdir && mkdir $$backupdir && \
+@@ -551,7 +553,11 @@ gprof.info: gprof.texi $(gprof_TEXINFOS)
+ then \
+ rc=0; \
+ else \
+- rc=$$?; \
++ if test $$? -eq 127; then \
++ rc=0; \
++ else \
++ rc=$$?; \
++ fi; \
+ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+ fi; \
+ rm -rf $$backupdir; exit $$rc
+diff --git a/ld/Makefile.in b/ld/Makefile.in
+index 7c78198..08950a8 100644
+--- a/ld/Makefile.in
++++ b/ld/Makefile.in
+@@ -1591,6 +1591,8 @@ clean-libtool:
+ distclean-libtool:
+ -rm -f libtool config.lt
+
++# Exit code 127 means that "makeinfo" is missing. So let's skip .info target
++# but return 0 to top level Makefile to build all other targets.
+ ld.info: ld.texinfo $(ld_TEXINFOS)
+ restore=: && backupdir="$(am__leading_dot)am$$$$" && \
+ rm -rf $$backupdir && mkdir $$backupdir && \
+@@ -1604,7 +1606,11 @@ ld.info: ld.texinfo $(ld_TEXINFOS)
+ then \
+ rc=0; \
+ else \
+- rc=$$?; \
++ if test $$? -eq 127; then \
++ rc=0; \
++ else \
++ rc=$$?; \
++ fi; \
+ $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
+ fi; \
+ rm -rf $$backupdir; exit $$rc
+--
+2.5.5
+