[PATCH] Re: ld testsuite breaks with latest GCC-4.0
Greg Schafer
gschafer@zip.com.au
Thu Jan 6 12:25:00 GMT 2005
On Wed, Jan 05, 2005 at 09:47:30AM +1100, Greg Schafer wrote:
> On Tue, Jan 04, 2005 at 11:43:26AM +0100, Jakub Jelinek wrote:
>
> > So, I think the patch should use ${CC} --print-file-name=specs,
> > if that prints just specs, it should use ${CC} -dumpspecs,
> > otherwise cat the specs file.
> > specs=`${CC} --print-file-name=specs`
> > { if [ x"$specs" = xspecs ]; then ${CC} -dumpspecs; else cat "$specs"; fi; } \
> > | egrep ...
>
> Yes. That would seem saner and definitely more robust. I'll try to make a
> new patch and test it
Here is a new patch that tested out fine for me with gcc-4 and gcc-3.4.3.
Nick approved the previous patch, so if this one is also approved, could
someone please apply it as I don't have commit priv's.
Thanks
Greg
-------------- next part --------------
2005-01-02 Jakub Jelinek <jakub@redhat.com>
Greg Schafer <gschafer@zip.com.au>
* configure.host (*-*-linux*): Allow HOSTING_CRT0 to handle GCC
versions >= 4.0 that don't install a specs file.
(ia64-*-aix*): Remove support.
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 6 Jan 2005 10:17:37 -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 `specs=\`${CC} --print-file-name=specs\`; { if [ x"$specs" = xspecs ]; then ${CC} -dumpspecs; else cat "$specs"; fi; } | 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`'
;;
@@ -145,11 +145,6 @@
HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"`
;;
-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_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`'
- ;;
-
mips*-sgi-irix4* | mips*-sgi-irix5*)
HOSTING_CRT0=/usr/lib/crt1.o
HOSTING_LIBS="$HOSTING_LIBS"' /usr/lib/crtn.o'
More information about the Binutils
mailing list