diff options
author | David 'Digit' Turner <digit@google.com> | 2011-10-10 18:01:38 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2011-10-10 18:05:34 +0200 |
commit | 0059fb2aa9c710cfe7dfd3d67a1cdc7b5e3e284a (patch) | |
tree | f5124e13a5cbcfbe65b0e7e0b8c774482294be97 /build/tools/toolchain-patches/gcc | |
parent | 13b5f454053aa62ea4cda3c5aa0fb80cfca82dad (diff) | |
download | ndk-0059fb2aa9c710cfe7dfd3d67a1cdc7b5e3e284a.tar.gz |
gnustl_shared: New C++ runtime
This patch fixes build-gnu-libstdc++.sh to work properly
and generate libgnustl_shared.so from the GNU libstdc++ sources.
This is done by a custom patch to the gcc toolchain source tree
to force the generation of libgnustl_shared.so from the same objects
than libstdc++.so. This is required because there is no way to change
the internal DT_SONAME of a given shared library, so a simple rename
will not work.
We also ensure that libgnustl_static.a is properly generated and
used by the make-standalone-toolchain.sh script (which uses
copy-libstdcxx.sh)
+ Update definitions.mk to make "gnustl_shared" available in APP_STL
+ Update documentation to reflect that STLport now supports RTTI
+ Update documentation to reflect the new gnustl_shared runtime
Change-Id: Ie3ffaf825ba2d65eca027ec0be5e320d0ee39cbc
Diffstat (limited to 'build/tools/toolchain-patches/gcc')
-rw-r--r-- | build/tools/toolchain-patches/gcc/0006-Disable-libstdc++-versioning.patch | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/build/tools/toolchain-patches/gcc/0006-Disable-libstdc++-versioning.patch b/build/tools/toolchain-patches/gcc/0006-Disable-libstdc++-versioning.patch index 5bd8b38a1..acb23eae9 100644 --- a/build/tools/toolchain-patches/gcc/0006-Disable-libstdc++-versioning.patch +++ b/build/tools/toolchain-patches/gcc/0006-Disable-libstdc++-versioning.patch @@ -1,6 +1,6 @@ diff -burN gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.am gcc-b/gcc-4.4.3/libstdc++-v3/src/Makefile.am ---- gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.am 2011-10-02 22:00:20.352164415 +0200 -+++ gcc-b/gcc-4.4.3/libstdc++-v3/src/Makefile.am 2011-10-02 22:00:37.311501551 +0200 +--- gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.am 2011-10-10 17:32:21.983349054 +0200 ++++ gcc-b/gcc-4.4.3/libstdc++-v3/src/Makefile.am 2011-10-10 17:10:06.474674579 +0200 @@ -206,7 +206,7 @@ $(top_builddir)/libsupc++/libsupc++convenience.la @@ -11,8 +11,17 @@ diff -burN gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.am gcc-b/gcc-4.4.3/libstdc+ # Use special rules for the deprecated source files so that they find # deprecated include files. diff -burN gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.in gcc-b/gcc-4.4.3/libstdc++-v3/src/Makefile.in ---- gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.in 2011-10-02 22:00:20.352164415 +0200 -+++ gcc-b/gcc-4.4.3/libstdc++-v3/src/Makefile.in 2011-10-02 22:00:37.311501551 +0200 +--- gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.in 2011-10-10 17:32:21.983349054 +0200 ++++ gcc-b/gcc-4.4.3/libstdc++-v3/src/Makefile.in 2011-10-10 17:10:06.514673034 +0200 +@@ -350,7 +350,7 @@ + AM_CPPFLAGS = $(GLIBCXX_INCLUDES) + + # Cross compiler support. +-toolexeclib_LTLIBRARIES = libstdc++.la ++toolexeclib_LTLIBRARIES = libstdc++.la libgnustl_shared.la + @ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist + @ENABLE_SYMVERS_FALSE@version_arg = + @ENABLE_SYMVERS_GNU_NAMESPACE_TRUE@@ENABLE_SYMVERS_TRUE@version_arg = -Wl,--version-script=libstdc++-symbols.ver @@ -454,7 +454,7 @@ $(top_builddir)/libsupc++/libsupc++convenience.la @@ -22,3 +31,13 @@ diff -burN gcc-a/gcc-4.4.3/libstdc++-v3/src/Makefile.in gcc-b/gcc-4.4.3/libstdc+ # Use special rules for the deprecated source files so that they find +@@ -576,6 +576,9 @@ + libstdc++.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) + $(CXXLINK) -rpath $(toolexeclibdir) $(libstdc___la_LDFLAGS) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS) + ++libgnustl_shared.la: $(libstdc___la_OBJECTS) $(libstdc___la_DEPENDENCIES) ++ $(CXXLINK) -rpath $(toolexeclibdir) $(libstdc___la_LDFLAGS) $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD) $(LIBS) ++ + mostlyclean-compile: + -rm -f *.$(OBJEXT) + |