[PATCH] Re: ld testsuite breaks with latest GCC-4.0

Greg Schafer gschafer@zip.com.au
Sun Jan 2 06:24:00 GMT 2005


On Sun, Jan 02, 2005 at 12:11:44AM -0500, Daniel Jacobowitz wrote:
> On Sun, Jan 02, 2005 at 03:44:51PM +1100, Greg Schafer wrote:
> > Clearly, changes will be needed. I'm not sure what the best solution is but
> > I have a feeling that it will probably involve:
> > 
> >   `gcc -dumpspecs'
> > 
> > but that might have the potential to break older GCC's. Dunno.
> 
> That should work, as far back as I know of.

I was just worried that some installations may be using an altered "on disk"
specs file.

Anyhow, the attached patch makes it work for me on i686-pc-linux-gnu. But it
also affects the ia64-*-aix* target but I have no way of testing that.

Regards
Greg
-------------- next part --------------
2005-01-02  Greg Schafer  <gschafer@zip.com.au>

	* configure.host: Use "${CC} -dumpspecs" instead of
	"${CC} --print-file-name=specs" to appease GCC versions >= 4.0.

Index: ld/configure.host
===================================================================
RCS file: /cvs/src/src/ld/configure.host,v
retrieving revision 1.36
diff -u -r1.36 configure.host
--- ld/configure.host	17 May 2004 19:50:16 -0000	1.36
+++ ld/configure.host	2 Jan 2005 06:03:40 -0000
@@ -33,7 +33,7 @@
   ;;
 
 *-*-linux*)
-  HOSTING_CRT0='-dynamic-linker `egrep "ld[^ ]*\.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ 	][ 	]*\(.*/ld[^ ]*\.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
+  HOSTING_CRT0='-dynamic-linker `${CC} -dumpspecs | egrep "ld[^ ]*\.so" | sed -e "s,.*-dynamic-linker[ 	][ 	]*\(.*/ld[^ ]*\.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
   HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
   ;;
 
@@ -146,7 +146,7 @@
   ;;
 
 ia64-*-aix*)
-  HOSTING_CRT0='-dynamic-linker `egrep "libc.so" \`${CC} --print-file-name=specs\` | sed -e "s,.*-dynamic-linker[ 	][ 	]*\(.*/libc.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
+  HOSTING_CRT0='-dynamic-linker `${CC} -dumpspecs | egrep "libc.so" | sed -e "s,.*-dynamic-linker[ 	][ 	]*\(.*/libc.so..\).*,\1,"` `${CC} --print-file-name=crt1.o` `${CC} --print-file-name=crti.o` `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; else ${CC} --print-file-name=crtbegin.o; fi`'
   HOSTING_LIBS='-L`dirname \`${CC} --print-file-name=libc.so\`` '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` `${CC} --print-file-name=crtn.o`'
   ;;
 


More information about the Binutils mailing list