Thanks for catching the missing parts. Here is the updated patch. Does this patch look correct? I sent this patch to test on the gccfarm and will send an email to gcc-patches after it completes regstrap.
Thanks, Sebastian On Tue, Nov 25, 2008 at 5:08 PM, ghazi at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > ------- Comment #2 from ghazi at gcc dot gnu dot org 2008-11-25 23:08 ------- > (In reply to comment #1) >> Subject: Re: New: [4.4 regression] GCC components unnecessarily link with >> shared gmp/mpfr >> Here is a patch from Dwarak for fixing this. >> He will send this to review on gcc-patches@ list. >> Sebastian Pop >> -- >> AMD - GNU Tools > > Thanks, however I don't understand why in this patch xgcc and cpp are being > linked with BACKENDLIBS. They don't linked with libbackend.a. > > Also, there are many more places where you do need to add BACKENDLIBS like > cc1plus, cc1obj, f951, jc1, etc. See here for all the places you'll need to > catch: > > http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00187.html > > > -- > > ghazi at gcc dot gnu dot org changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Status|UNCONFIRMED |NEW > Ever Confirmed|0 |1 > Last reconfirmed|0000-00-00 00:00:00 |2008-11-25 23:08:54 > date| | > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38262 > >
Index: gcc/java/Make-lang.in =================================================================== --- gcc/java/Make-lang.in (revision 142224) +++ gcc/java/Make-lang.in (working copy) @@ -101,7 +101,7 @@ jvspec.o-warn = -Wno-error jc1$(exeext): $(JAVA_OBJS) $(BACKEND) $(LIBDEPS) attribs.o rm -f $@ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ - $(JAVA_OBJS) $(BACKEND) $(ZLIB) $(LIBICONV) $(LIBS) attribs.o $(GMPLIBS) + $(JAVA_OBJS) $(BACKEND) $(ZLIB) $(LIBICONV) $(LIBS) attribs.o $(BACKENDLIBS) jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIBDEPS) rm -f $@ Index: gcc/objc/Make-lang.in =================================================================== --- gcc/objc/Make-lang.in (revision 142224) +++ gcc/objc/Make-lang.in (working copy) @@ -54,7 +54,7 @@ objc_OBJS = $(OBJC_OBJS) cc1obj-checksum cc1obj-dummy$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ $(OBJC_OBJS) $(C_AND_OBJC_OBJS) dummy-checksum.o \ - $(BACKEND) $(LIBS) $(GMPLIBS) + $(BACKEND) $(LIBS) $(BACKENDLIBS) cc1obj-checksum.c : cc1obj-dummy$(exeext) build/genchecksum$(build_exeext) build/genchecksum$(build_exeext) cc1obj-dummy$(exeext) > $@ @@ -64,7 +64,7 @@ cc1obj-checksum.o : cc1obj-checksum.c cc1obj$(exeext): $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ $(OBJC_OBJS) $(C_AND_OBJC_OBJS) cc1obj-checksum.o \ - $(BACKEND) $(LIBS) $(GMPLIBS) + $(BACKEND) $(LIBS) $(BACKENDLIBS) # Objective C language specific files. Index: gcc/objcp/Make-lang.in =================================================================== --- gcc/objcp/Make-lang.in (revision 142224) +++ gcc/objcp/Make-lang.in (working copy) @@ -56,7 +56,7 @@ obj-c++_OBJS = $(OBJCXX_OBJS) cc1objplus cc1objplus-dummy$(exeext): $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) \ $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ - $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) $(LIBS) $(GMPLIBS) + $(OBJCXX_OBJS) dummy-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS) cc1objplus-checksum.c : cc1objplus-dummy$(exeext) build/genchecksum$(build_exeext) build/genchecksum$(build_exeext) cc1objplus-dummy$(exeext) > $@ @@ -65,7 +65,7 @@ cc1objplus-checksum.o : cc1objplus-check cc1objplus$(exeext): $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ - $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBS) $(GMPLIBS) + $(OBJCXX_OBJS) cc1objplus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS) # Objective C++ language specific files. Index: gcc/cp/Make-lang.in =================================================================== --- gcc/cp/Make-lang.in (revision 142224) +++ gcc/cp/Make-lang.in (working copy) @@ -93,7 +93,7 @@ cp-warn = $(STRICT_WARN) cc1plus-dummy$(exeext): $(CXX_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ - $(CXX_OBJS) dummy-checksum.o $(BACKEND) $(LIBS) $(GMPLIBS) + $(CXX_OBJS) dummy-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS) cc1plus-checksum.c : cc1plus-dummy$(exeext) build/genchecksum$(build_exeext) build/genchecksum$(build_exeext) cc1plus-dummy$(exeext) > $@ @@ -102,7 +102,7 @@ cc1plus-checksum.o : cc1plus-checksum.c cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ - $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(LIBS) $(GMPLIBS) + $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS) # Special build rules. $(srcdir)/cp/cfns.h: $(srcdir)/cp/cfns.gperf Index: gcc/ada/gcc-interface/Make-lang.in =================================================================== --- gcc/ada/gcc-interface/Make-lang.in (revision 142224) +++ gcc/ada/gcc-interface/Make-lang.in (working copy) @@ -299,7 +299,7 @@ TARGET_ADA_SRCS = # Since the RTL should be built with the latest compiler, remove the # stamp target in the parent directory whenever gnat1 is rebuilt gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBDEPS) - $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBS) $(SYSLIBS) $(GMPLIBS) $(CFLAGS) + $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBS) $(SYSLIBS) $(BACKENDLIBS) $(CFLAGS) $(RM) stamp-gnatlib2-rts stamp-tools gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS) Index: gcc/fortran/Make-lang.in =================================================================== --- gcc/fortran/Make-lang.in (revision 142224) +++ gcc/fortran/Make-lang.in (working copy) @@ -98,7 +98,7 @@ gfortran-cross$(exeext): gfortran$(exeex f951$(exeext): $(F95_OBJS) \ $(BACKEND) $(LIBDEPS) attribs.o $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ \ - $(F95_OBJS) $(BACKEND) $(LIBS) attribs.o $(GMPLIBS) + $(F95_OBJS) $(BACKEND) $(LIBS) attribs.o $(BACKENDLIBS) gt-fortran-trans.h : s-gtype; @true # Index: gcc/Makefile.in =================================================================== --- gcc/Makefile.in (revision 142224) +++ gcc/Makefile.in (working copy) @@ -920,9 +920,8 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY) # How to link with both our special library facilities # and the system's installed libraries. -LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) \ - $(GMPLIBS) $(CLOOGLIBS) $(PPLLIBS) - +LIBS = @LIBS@ $(CPPLIB) $(LIBINTL) $(LIBICONV) $(LIBIBERTY) $(LIBDECNUMBER) +BACKENDLIBS = $(GMPLIBS) $(CLOOGLIBS) $(PPLLIBS) # Any system libraries needed just for GNAT. SYSLIBS = @GNAT_LIBEXC@ @@ -1655,7 +1654,7 @@ dummy-checksum.o : dummy-checksum.c cc1-dummy$(exeext): $(C_OBJS) dummy-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) dummy-checksum.o \ - $(BACKEND) $(LIBS) $(GMPLIBS) + $(BACKEND) $(LIBS) $(BACKENDLIBS) cc1-checksum.c : cc1-dummy$(exeext) build/genchecksum$(build_exeext) build/genchecksum$(build_exeext) cc1-dummy$(exeext) > $@ @@ -1664,7 +1663,7 @@ cc1-checksum.o : cc1-checksum.c cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS) $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(C_OBJS) cc1-checksum.o \ - $(BACKEND) $(LIBS) $(GMPLIBS) + $(BACKEND) $(LIBS) $(BACKENDLIBS) # # Build libgcc.a.