patches/gcc/4.2.0/160-libstdc++-pic.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 17 22:46:47 2011 +0200 (2011-07-17)
changeset 2892 aa934ec4b4ee
parent 111 2e16b9fc302d
permissions -rw-r--r--
cc/gcc: add the backend/frontend infra for final gcc

Currently, we issue the bare-metal compiler from the pass_1 & pass_2
core compilers, because the final gcc breaks while doing so.

This implies we have to build some libces during the start_files step,
instead of the standard libc step. This is the case for newlib.

By adding a backend/frontend infra to the final gcc, we can abstract
what backend to call: the standard backend for non-bare-metal gcc,
and the core backend for bare-metal.

This patch is just an no-op, it just adds the final backend and
frontend without changing the way bare-metal is built, to come in a
subsequent patch.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 # DP: Build and install libstdc++_pic.a library.
     2 
     3 --- gcc/libstdc++-v3/src/Makefile.am
     4 +++ gcc/libstdc++-v3/src/Makefile.am
     5 @@ -214,6 +214,12 @@
     6  	  $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
     7  
     8  
     9 +install-exec-local:
    10 +ifeq ($(enable_shared),yes)
    11 +	$(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
    12 +	$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
    13 +endif
    14 +
    15  # Added bits to build debug library.
    16  if GLIBCXX_BUILD_DEBUG
    17  all-local: build_debug
    18 --- gcc/libstdc++-v3/src/Makefile.in
    19 +++ gcc/libstdc++-v3/src/Makefile.in
    20 @@ -627,7 +627,7 @@
    21  
    22  install-data-am: install-data-local
    23  
    24 -install-exec-am: install-toolexeclibLTLIBRARIES
    25 +install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
    26  
    27  install-info: install-info-am
    28  
    29 @@ -660,6 +660,7 @@
    30  	distclean-libtool distclean-tags distdir dvi dvi-am html \
    31  	html-am info info-am install install-am install-data \
    32  	install-data-am install-data-local install-exec \
    33 +	install-exec-local \
    34  	install-exec-am install-info install-info-am install-man \
    35  	install-strip install-toolexeclibLTLIBRARIES installcheck \
    36  	installcheck-am installdirs maintainer-clean \
    37 @@ -743,6 +743,13 @@
    38  install_debug:
    39  	(cd ${debugdir} && $(MAKE) \
    40  	toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
    41 +
    42 +install-exec-local:
    43 +ifeq ($(enable_shared),yes)
    44 +	$(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
    45 +	$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
    46 +endif
    47 +
    48  # Tell versions [3.59,3.63) of GNU make to not export all variables.
    49  # Otherwise a system limit (for SysV at least) may be exceeded.
    50  .NOEXPORT: