patches/gcc/4.3.3/190-libstdc++-pic.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 14 22:16:01 2011 +0100 (2011-03-14)
changeset 2335 805e9f2a06fa
permissions -rw-r--r--
samples: new PPC e300c3 sample

Gustavo wrote:

---8<---
Attached my ct-ng e300c3 toolchain config for:

powerpc-e300c3-linux-gnu [l X]
OS : linux-2.6.36.3
Companion libs : gmp-5.0.1 mpfr-3.0.0 ppl-0.10.2 cloog-ppl-0.15.10 mpc-0.8.2 libelf-0.8.13
binutils : binutils-2.21
C compiler : gcc-4.5.2 (C,C++)
C library : eglibc-2_12
Tools :
---8<---

Reported-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
["Yann E. MORIN" : updated to match new config options]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 Original patch from: ../4.3.2/190-libstdc++-pic.patch
     2 
     3 -= BEGIN original header =-
     4 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/54_all_300-libstdc++-pic.patch
     5 install libstdc++_pic.a if we have pic objs
     6 
     7 -= END original header =-
     8 
     9 diff -durN gcc-4.3.3.orig/libstdc++-v3/src/Makefile.am gcc-4.3.3/libstdc++-v3/src/Makefile.am
    10 --- gcc-4.3.3.orig/libstdc++-v3/src/Makefile.am	2008-02-29 19:26:50.000000000 +0100
    11 +++ gcc-4.3.3/libstdc++-v3/src/Makefile.am	2009-01-27 22:19:34.000000000 +0100
    12 @@ -289,6 +289,13 @@
    13  	  $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
    14  
    15  
    16 +install-exec-local:
    17 +	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
    18 +	if [ x"$$pic_objs" != x ]; then \
    19 +		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
    20 +		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
    21 +	fi
    22 +
    23  # Added bits to build debug library.
    24  if GLIBCXX_BUILD_DEBUG
    25  all-local: build_debug
    26 diff -durN gcc-4.3.3.orig/libstdc++-v3/src/Makefile.in gcc-4.3.3/libstdc++-v3/src/Makefile.in
    27 --- gcc-4.3.3.orig/libstdc++-v3/src/Makefile.in	2008-02-29 19:26:50.000000000 +0100
    28 +++ gcc-4.3.3/libstdc++-v3/src/Makefile.in	2009-01-27 22:19:34.000000000 +0100
    29 @@ -693,7 +693,7 @@
    30  
    31  install-data-am: install-data-local
    32  
    33 -install-exec-am: install-toolexeclibLTLIBRARIES
    34 +install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
    35  
    36  install-info: install-info-am
    37  
    38 @@ -732,7 +732,7 @@
    39  	maintainer-clean-generic mostlyclean mostlyclean-compile \
    40  	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
    41  	tags uninstall uninstall-am uninstall-info-am \
    42 -	uninstall-toolexeclibLTLIBRARIES
    43 +	uninstall-toolexeclibLTLIBRARIES install-exec-local
    44  
    45  
    46  # Symbol versioning for shared libraries.
    47 @@ -858,6 +858,14 @@
    48  install_debug:
    49  	(cd ${debugdir} && $(MAKE) \
    50  	toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
    51 +
    52 +install-exec-local:
    53 +	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
    54 +	if [ x"$$pic_objs" != x ]; then \
    55 +		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
    56 +		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
    57 +	fi
    58 +
    59  # Tell versions [3.59,3.63) of GNU make to not export all variables.
    60  # Otherwise a system limit (for SysV at least) may be exceeded.
    61  .NOEXPORT: