patches/gcc/4.3.3/190-libstdc++-pic.patch
author Cody P Schafer <dev@codyps.com>
Mon May 12 00:02:13 2014 +0200 (2014-05-12)
changeset 3322 eb13867a034c
permissions -rw-r--r--
arch/powerpc: add powerpc64le support

Technically, I don't forbid powerpcle support either, but I'm not sure that
there is any library/compiler support for that at the moment (though the hw
technically makes it possible).

powerpc64le needs glibc 2.19 and gcc 4.9. I haven't looked into the support
tools, but at least gdb 7.5 is too old (7.7.1 definitely has support).

Also make powerpc64 non-experimental. It's practically old at this point.

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