While building a cross-compiler, the the libstdc++-v3 includes a copy of
Libtool script, which includes a reference to libstdc++ itself. This prevent
the user to build a new compiler without existing libstdc++ for the target
triplet.

The following is a patch that tested to be working for this problem, but I
think it should be done in a better way.
#######BEGIN OF PATCH CODE######

diff -Naur gcc-4.3-20080410.orig/libstdc++-v3/src/Makefile.in
gcc-4.3-20080410/libstdc++-v3/src/Makefile.in
--- gcc-4.3-20080410.orig/libstdc++-v3/src/Makefile.in  2008-03-01
05:26:50.000000000 +1100
+++ gcc-4.3-20080410/libstdc++-v3/src/Makefile.in       2008-04-14
23:16:35.000000000 +1000
@@ -212,6 +212,7 @@
 LIBS = @LIBS@
 LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
 LIBTOOL = @LIBTOOL@
+LIBTOOLLINK = @[EMAIL PROTECTED]
 LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBOBJS = @LTLIBOBJS@
@@ -472,7 +473,7 @@
 # course is problematic at this point.  So, we get the top-level
 # directory to configure libstdc++-v3 to use gcc as the C++
 # compilation driver.
-CXXLINK = $(LIBTOOL) --tag CXX --mode=link $(CXX) \
+CXXLINK = $(LIBTOOLLINK) --tag CXX --mode=link $(CXX) \
          $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@

 debugdir = debug
@@ -536,7 +537,8 @@
          echo "rm -f \"$${dir}/so_locations\""; \
          rm -f "$${dir}/so_locations"; \
        done
-libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) 
+libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES)
+       sed '/postdeps=/[EMAIL PROTECTED]@\-lm@' `echo $(LIBTOOL) | cut -d\  
-f2` >
`echo $(LIBTOOLLINK) | cut -d\  -f2` 
        $(CXXLINK) -rpath $(toolexeclibdir) $(libstdc___la_LDFLAGS)
$(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS)

 mostlyclean-compile:
#######END OF PATCH CODE######


-- 
           Summary: Self Reference In Dinamic Linked Library builds for
                    building Cross-Compiler
           Product: gcc
           Version: 4.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: earthengine at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35942

Reply via email to