Hi,
The patch below addresses an issue with gcc-4.7.0 the issue I had
reported in
http://gcc.gnu.org/ml/gcc/2012-03/msg00035.html
and somebody else had bz'ed as
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51417
Tested by cross-building gcc-4_7-branch for several *rtems targets on
Fedora 16. Further test-builds are in progress.
No native build-testing, yet.
OK to apply?
Ralf
2012-03-05 Ralf Corsépius <ralf.corsep...@rtems.org>
PR target/51417
* Makefile.in: Let install-gcc-ar depend on installdirs, gcc-ar$(exeext),
gcc-nm$(exeext), gcc-ranlib$(exeext).
Don't double canonicalize if cross-compiling.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index f6cf8ff..2319cab 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -4811,20 +4811,18 @@ install-collect2: collect2 installdirs
install-lto-wrapper: lto-wrapper$(exeext)
$(INSTALL_PROGRAM) lto-wrapper$(exeext) $(DESTDIR)$(libexecsubdir)/lto-wrapper$(exeext)
-install-gcc-ar:
- set -e ; \
- for i in ar nm ranlib ; do \
- install_name=`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ;\
- target_install_name=$(target_noncanonical)-`echo gcc-$$i|sed '$(program_transform_name)'`$(exeext) ; \
- binname=gcc-$$i$(exeext) ; \
- rm -f $(DESTDIR)$(bindir)/$$install_name ; \
- rm -f $(DESTDIR)$(bindir)/$$target_install_name ; \
- $(INSTALL_PROGRAM) $$binname $(DESTDIR)$(bindir)/$$install_name ;\
- if test -f $(DESTDIR)$(bindir)$$target_install_name ; then \
+install-gcc-ar: installdirs gcc-ar$(exeext) gcc-nm$(exeext) gcc-ranlib$(exeext)
+ for i in gcc-ar gcc-nm gcc-ranlib; do \
+ install_name=`echo $$i|sed '$(program_transform_name)'` ;\
+ target_install_name=$(target_noncanonical)-`echo $$i|sed '$(program_transform_name)'` ; \
+ rm -f $(DESTDIR)$(bindir)/$$install_name$(exeext) ; \
+ $(INSTALL_PROGRAM) $$i$(exeext) $(DESTDIR)$(bindir)/$$install_name$(exeext) ;\
+ if test -f gcc-cross$(exeext); then \
:; \
else \
+ rm -f $(DESTDIR)$(bindir)/$$target_install_name$(exeext); \
( cd $(DESTDIR)$(bindir) && \
- $(LN) $$install_name $$target_install_name ) ; \
+ $(LN) $$install_name$(exeext) $$target_install_name$(exeext) ) ; \
fi ; \
done