Patchwork PR 51417

login
register
mail settings
Submitter Ralf Corsépius
Date March 5, 2012, 3:55 p.m.
Message ID <4F54E202.7060402@gcc.gnu.org>
Download mbox | patch
Permalink /patch/144762/
State New
Headers show

Comments

Ralf Corsépius - March 5, 2012, 3:55 p.m.
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
Richard Guenther - March 6, 2012, 9:43 a.m.
On Mon, 5 Mar 2012, Ralf Corsépius wrote:

> 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?

Ok for trunk and the 4.7 branch if you've done one native build
and install successfully.

Thanks,
Richard.
Ralf Corsepius - March 7, 2012, 7:55 a.m.
On 03/06/2012 10:43 AM, Richard Guenther wrote:
> On Mon, 5 Mar 2012, Ralf Corsépius wrote:
>
>> 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?
>
> Ok for trunk and the 4.7 branch if you've done one native build
> and install successfully.

The patch seems to work for native build/install tests (Here 
fedora-16-x86_64):

# ../configure --disable-nls --prefix=/foo/bar --enable-languages=c,c++ 
--disable-multilib --with-system-zlib
# make
# make install DESTDIR=~/tmp/INSTALL

# cd ~/tmp/INSTALL
# ls -l foo/bar/bin/*
-rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51 foo/bar/bin/c++
-rwxr-xr-x. 1 rtems rtems 2096784 Mar  7 08:51 foo/bar/bin/cpp
-rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51 foo/bar/bin/g++
-rwxr-xr-x. 3 rtems rtems 2094252 Mar  7 08:51 foo/bar/bin/gcc
-rwxr-xr-x. 2 rtems rtems  113695 Mar  7 08:51 foo/bar/bin/gcc-ar
-rwxr-xr-x. 2 rtems rtems  113631 Mar  7 08:51 foo/bar/bin/gcc-nm
-rwxr-xr-x. 2 rtems rtems  113643 Mar  7 08:51 foo/bar/bin/gcc-ranlib
-rwxr-xr-x. 1 rtems rtems 1064274 Mar  7 08:51 foo/bar/bin/gcov
-rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51 
foo/bar/bin/x86_64-unknown-linux-gnu-c++
-rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51 
foo/bar/bin/x86_64-unknown-linux-gnu-g++
-rwxr-xr-x. 3 rtems rtems 2094252 Mar  7 08:51 
foo/bar/bin/x86_64-unknown-linux-gnu-gcc
-rwxr-xr-x. 3 rtems rtems 2094252 Mar  7 08:51 
foo/bar/bin/x86_64-unknown-linux-gnu-gcc-4.7.0
-rwxr-xr-x. 2 rtems rtems  113695 Mar  7 08:51 
foo/bar/bin/x86_64-unknown-linux-gnu-gcc-ar
-rwxr-xr-x. 2 rtems rtems  113631 Mar  7 08:51 
foo/bar/bin/x86_64-unknown-linux-gnu-gcc-nm
-rwxr-xr-x. 2 rtems rtems  113643 Mar  7 08:51 
foo/bar/bin/x86_64-unknown-linux-gnu-gcc-ranlib

Ralf
Richard Guenther - March 7, 2012, 9:11 a.m.
On Wed, 7 Mar 2012, Ralf Corsepius wrote:

> On 03/06/2012 10:43 AM, Richard Guenther wrote:
> > On Mon, 5 Mar 2012, Ralf Corsépius wrote:
> > 
> > > 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?
> > 
> > Ok for trunk and the 4.7 branch if you've done one native build
> > and install successfully.
> 
> The patch seems to work for native build/install tests (Here
> fedora-16-x86_64):
> 
> # ../configure --disable-nls --prefix=/foo/bar --enable-languages=c,c++
> --disable-multilib --with-system-zlib
> # make
> # make install DESTDIR=~/tmp/INSTALL
> 
> # cd ~/tmp/INSTALL
> # ls -l foo/bar/bin/*
> -rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51 foo/bar/bin/c++
> -rwxr-xr-x. 1 rtems rtems 2096784 Mar  7 08:51 foo/bar/bin/cpp
> -rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51 foo/bar/bin/g++
> -rwxr-xr-x. 3 rtems rtems 2094252 Mar  7 08:51 foo/bar/bin/gcc
> -rwxr-xr-x. 2 rtems rtems  113695 Mar  7 08:51 foo/bar/bin/gcc-ar
> -rwxr-xr-x. 2 rtems rtems  113631 Mar  7 08:51 foo/bar/bin/gcc-nm
> -rwxr-xr-x. 2 rtems rtems  113643 Mar  7 08:51 foo/bar/bin/gcc-ranlib
> -rwxr-xr-x. 1 rtems rtems 1064274 Mar  7 08:51 foo/bar/bin/gcov
> -rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51
> foo/bar/bin/x86_64-unknown-linux-gnu-c++
> -rwxr-xr-x. 4 rtems rtems 2099206 Mar  7 08:51
> foo/bar/bin/x86_64-unknown-linux-gnu-g++
> -rwxr-xr-x. 3 rtems rtems 2094252 Mar  7 08:51
> foo/bar/bin/x86_64-unknown-linux-gnu-gcc
> -rwxr-xr-x. 3 rtems rtems 2094252 Mar  7 08:51
> foo/bar/bin/x86_64-unknown-linux-gnu-gcc-4.7.0
> -rwxr-xr-x. 2 rtems rtems  113695 Mar  7 08:51
> foo/bar/bin/x86_64-unknown-linux-gnu-gcc-ar
> -rwxr-xr-x. 2 rtems rtems  113631 Mar  7 08:51
> foo/bar/bin/x86_64-unknown-linux-gnu-gcc-nm
> -rwxr-xr-x. 2 rtems rtems  113643 Mar  7 08:51
> foo/bar/bin/x86_64-unknown-linux-gnu-gcc-ranlib

The patch is ok to install on the trunk and on the 4.7 branch then.

Thanks,
Richard.

Patch

2012-03-05  Ralf Corsépius  <ralf.corsepius@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