aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaroline Tice <cmtice@google.com>2016-03-25 16:19:46 (GMT)
committerCaroline Tice <cmtice@google.com>2016-03-25 16:19:46 (GMT)
commit859df16485d512e69b529f57a9c747107dec23bc (patch)
tree9d42f3bd7c75c2297e43e8083c7393011e1ca3fc
parentac16f08b86701ecf70e32f4ead8db63d92603808 (diff)
downloadtoolchain_gcc-859df16485d512e69b529f57a9c747107dec23bc.zip
toolchain_gcc-859df16485d512e69b529f57a9c747107dec23bc.tar.gz
toolchain_gcc-859df16485d512e69b529f57a9c747107dec23bc.tar.bz2
Fix issue of generating symlinks for libgnustl_shared.so
With the changes that unified the Android & ChromeOS GCC compiler, some of the conditional changes introduced with the enable-bionic-libs flags were causing libgnustl_shared.so to be generated with symbol versions and symbolic links, which broke certain things. This CL fixes that issue (https://buganizer.corp.google.com/issues/27832514) Change-Id: Ib7fe825f2be353e0ff7beba008a71793b1ad2244
-rw-r--r--gcc-4.9/libstdc++-v3/src/Makefile.am53
-rw-r--r--gcc-4.9/libstdc++-v3/src/Makefile.in103
2 files changed, 51 insertions, 105 deletions
diff --git a/gcc-4.9/libstdc++-v3/src/Makefile.am b/gcc-4.9/libstdc++-v3/src/Makefile.am
index e1f6956..3209ae0 100644
--- a/gcc-4.9/libstdc++-v3/src/Makefile.am
+++ b/gcc-4.9/libstdc++-v3/src/Makefile.am
@@ -58,45 +58,43 @@ cxx11_sources = \
compatibility-chrono.cc \
compatibility-condvar.cc
-if ENABLE_BIONIC_LIBS
- libgnustl_shared_la_SOURCES = $(cxx98_sources) $(cxx11_sources)
+libgnustl_shared_la_SOURCES = $(cxx98_sources) $(cxx11_sources)
- libgnustl_shared_la_LIBADD = \
+libgnustl_shared_la_LIBADD = \
$(GLIBCXX_LIBS) \
$(top_builddir)/libsupc++/libsupc++convenience.la \
$(top_builddir)/src/c++98/libc++98convenience.la \
$(top_builddir)/src/c++11/libc++11convenience.la
- libgnustl_shared_la_DEPENDENCIES = \
+libgnustl_shared_la_DEPENDENCIES = \
${version_dep} \
$(top_builddir)/libsupc++/libsupc++convenience.la \
$(top_builddir)/src/c++98/libc++98convenience.la \
$(top_builddir)/src/c++11/libc++11convenience.la
- libgnustl_shared_la_LDFLAGS = \
+libgnustl_shared_la_LDFLAGS = \
${libtool_version_info_string} ${version_arg} -lm
- libgnustl_shared_la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
-else
- libstdc___la_SOURCES = $(cxx98_sources) $(cxx11_sources)
+libgnustl_shared_la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+
+libstdc___la_SOURCES = $(cxx98_sources) $(cxx11_sources)
- libstdc___la_LIBADD = \
+libstdc___la_LIBADD = \
$(GLIBCXX_LIBS) \
$(top_builddir)/libsupc++/libsupc++convenience.la \
$(top_builddir)/src/c++98/libc++98convenience.la \
$(top_builddir)/src/c++11/libc++11convenience.la
- libstdc___la_DEPENDENCIES = \
+libstdc___la_DEPENDENCIES = \
${version_dep} \
$(top_builddir)/libsupc++/libsupc++convenience.la \
$(top_builddir)/src/c++98/libc++98convenience.la \
$(top_builddir)/src/c++11/libc++11convenience.la
- libstdc___la_LDFLAGS = \
+libstdc___la_LDFLAGS = \
${libtool_version_info_string} ${version_arg} -lm
- libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
-endif
+libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
# Use special rules for compatibility-ldbl.cc compilation, as we need to
# pass -mlong-double-64.
@@ -247,8 +245,7 @@ endif
if ENABLE_SYMVERS_SUN
version_arg = -Wl,-M,libstdc++-symbols.ver-sun
version_dep = libstdc++-symbols.ver-sun
- if ENABLE_BIONIC_LIBS
- libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
+libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
$(toplevel_srcdir)/contrib/make_sunver.pl \
$(libgnustl_shared_la_OBJECTS) $(libgnustl_shared_la_LIBADD)
CXXFILT="$(CXXFILT)"; export CXXFILT; \
@@ -258,34 +255,11 @@ version_dep = libstdc++-symbols.ver-sun
`echo $(libgnustl_shared_la_LIBADD) | \
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
> $@ || (rm -f $@ ; exit 1)
- else
- libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
- $(toplevel_srcdir)/contrib/make_sunver.pl \
- $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
- CXXFILT="$(CXXFILT)"; export CXXFILT; \
- perl $(toplevel_srcdir)/contrib/make_sunver.pl \
- libstdc++-symbols.ver \
- $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
- `echo $(libstdc___la_LIBADD) | \
- sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
- > $@ || (rm -f $@ ; exit 1)
- endif
endif
if ENABLE_SYMVERS_DARWIN
version_arg = -Wl,-exported_symbols_list,libstdc++-symbols.explist
version_dep = libstdc++-symbols.explist
- if ENABLE_BIONIC_LIBS
- libstdc++-symbols.explist : libstdc++-symbols.ver \
- ${glibcxx_srcdir}/scripts/make_exports.pl \
- $(libgnustl_shared_la_OBJECTS) $(libgnustl_shared_la_LIBADD)
- perl ${glibcxx_srcdir}/scripts/make_exports.pl \
- libstdc++-symbols.ver \
- $(libgnustl_shared_la_OBJECTS:%.lo=.libs/%.o) \
- `echo $(libgnustl_shared_la_LIBADD) | \
- sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
- > $@ || (rm -f $@ ; exit 1)
- else
- libstdc++-symbols.explist : libstdc++-symbols.ver \
+libstdc++-symbols.explist : libstdc++-symbols.ver \
${glibcxx_srcdir}/scripts/make_exports.pl \
$(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
perl ${glibcxx_srcdir}/scripts/make_exports.pl \
@@ -294,7 +268,6 @@ version_dep = libstdc++-symbols.explist
`echo $(libstdc___la_LIBADD) | \
sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
> $@ || (rm -f $@ ; exit 1)
- endif
endif
CLEANFILES += $(version_dep)
diff --git a/gcc-4.9/libstdc++-v3/src/Makefile.in b/gcc-4.9/libstdc++-v3/src/Makefile.in
index d9637d8..3fa09e0 100644
--- a/gcc-4.9/libstdc++-v3/src/Makefile.in
+++ b/gcc-4.9/libstdc++-v3/src/Makefile.in
@@ -95,13 +95,11 @@ am__objects_2 = compatibility.lo compatibility-debug_list.lo \
am__objects_3 = compatibility-c++0x.lo compatibility-atomic-c++0x.lo \
compatibility-thread-c++0x.lo compatibility-chrono.lo \
compatibility-condvar.lo
-@ENABLE_BIONIC_LIBS_TRUE@am_libgnustl_shared_la_OBJECTS = \
-@ENABLE_BIONIC_LIBS_TRUE@ $(am__objects_2) $(am__objects_3)
+am_libgnustl_shared_la_OBJECTS = $(am__objects_2) $(am__objects_3)
libgnustl_shared_la_OBJECTS = $(am_libgnustl_shared_la_OBJECTS)
@ENABLE_BIONIC_LIBS_TRUE@am_libgnustl_shared_la_rpath = -rpath \
@ENABLE_BIONIC_LIBS_TRUE@ $(toolexeclibdir)
-@ENABLE_BIONIC_LIBS_FALSE@am_libstdc___la_OBJECTS = $(am__objects_2) \
-@ENABLE_BIONIC_LIBS_FALSE@ $(am__objects_3)
+am_libstdc___la_OBJECTS = $(am__objects_2) $(am__objects_3)
libstdc___la_OBJECTS = $(am_libstdc___la_OBJECTS)
@ENABLE_BIONIC_LIBS_FALSE@am_libstdc___la_rpath = -rpath \
@ENABLE_BIONIC_LIBS_FALSE@ $(toolexeclibdir)
@@ -372,40 +370,40 @@ cxx11_sources = \
compatibility-chrono.cc \
compatibility-condvar.cc
-@ENABLE_BIONIC_LIBS_TRUE@libgnustl_shared_la_SOURCES = $(cxx98_sources) $(cxx11_sources)
-@ENABLE_BIONIC_LIBS_TRUE@libgnustl_shared_la_LIBADD = \
-@ENABLE_BIONIC_LIBS_TRUE@ $(GLIBCXX_LIBS) \
-@ENABLE_BIONIC_LIBS_TRUE@ $(top_builddir)/libsupc++/libsupc++convenience.la \
-@ENABLE_BIONIC_LIBS_TRUE@ $(top_builddir)/src/c++98/libc++98convenience.la \
-@ENABLE_BIONIC_LIBS_TRUE@ $(top_builddir)/src/c++11/libc++11convenience.la
-
-@ENABLE_BIONIC_LIBS_TRUE@libgnustl_shared_la_DEPENDENCIES = \
-@ENABLE_BIONIC_LIBS_TRUE@ ${version_dep} \
-@ENABLE_BIONIC_LIBS_TRUE@ $(top_builddir)/libsupc++/libsupc++convenience.la \
-@ENABLE_BIONIC_LIBS_TRUE@ $(top_builddir)/src/c++98/libc++98convenience.la \
-@ENABLE_BIONIC_LIBS_TRUE@ $(top_builddir)/src/c++11/libc++11convenience.la
-
-@ENABLE_BIONIC_LIBS_TRUE@libgnustl_shared_la_LDFLAGS = \
-@ENABLE_BIONIC_LIBS_TRUE@ ${libtool_version_info_string} ${version_arg} -lm
-
-@ENABLE_BIONIC_LIBS_TRUE@libgnustl_shared_la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
-@ENABLE_BIONIC_LIBS_FALSE@libstdc___la_SOURCES = $(cxx98_sources) $(cxx11_sources)
-@ENABLE_BIONIC_LIBS_FALSE@libstdc___la_LIBADD = \
-@ENABLE_BIONIC_LIBS_FALSE@ $(GLIBCXX_LIBS) \
-@ENABLE_BIONIC_LIBS_FALSE@ $(top_builddir)/libsupc++/libsupc++convenience.la \
-@ENABLE_BIONIC_LIBS_FALSE@ $(top_builddir)/src/c++98/libc++98convenience.la \
-@ENABLE_BIONIC_LIBS_FALSE@ $(top_builddir)/src/c++11/libc++11convenience.la
-
-@ENABLE_BIONIC_LIBS_FALSE@libstdc___la_DEPENDENCIES = \
-@ENABLE_BIONIC_LIBS_FALSE@ ${version_dep} \
-@ENABLE_BIONIC_LIBS_FALSE@ $(top_builddir)/libsupc++/libsupc++convenience.la \
-@ENABLE_BIONIC_LIBS_FALSE@ $(top_builddir)/src/c++98/libc++98convenience.la \
-@ENABLE_BIONIC_LIBS_FALSE@ $(top_builddir)/src/c++11/libc++11convenience.la
-
-@ENABLE_BIONIC_LIBS_FALSE@libstdc___la_LDFLAGS = \
-@ENABLE_BIONIC_LIBS_FALSE@ ${libtool_version_info_string} ${version_arg} -lm
-
-@ENABLE_BIONIC_LIBS_FALSE@libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+libgnustl_shared_la_SOURCES = $(cxx98_sources) $(cxx11_sources)
+libgnustl_shared_la_LIBADD = \
+ $(GLIBCXX_LIBS) \
+ $(top_builddir)/libsupc++/libsupc++convenience.la \
+ $(top_builddir)/src/c++98/libc++98convenience.la \
+ $(top_builddir)/src/c++11/libc++11convenience.la
+
+libgnustl_shared_la_DEPENDENCIES = \
+ ${version_dep} \
+ $(top_builddir)/libsupc++/libsupc++convenience.la \
+ $(top_builddir)/src/c++98/libc++98convenience.la \
+ $(top_builddir)/src/c++11/libc++11convenience.la
+
+libgnustl_shared_la_LDFLAGS = \
+ ${libtool_version_info_string} ${version_arg} -lm
+
+libgnustl_shared_la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+libstdc___la_SOURCES = $(cxx98_sources) $(cxx11_sources)
+libstdc___la_LIBADD = \
+ $(GLIBCXX_LIBS) \
+ $(top_builddir)/libsupc++/libsupc++convenience.la \
+ $(top_builddir)/src/c++98/libc++98convenience.la \
+ $(top_builddir)/src/c++11/libc++11convenience.la
+
+libstdc___la_DEPENDENCIES = \
+ ${version_dep} \
+ $(top_builddir)/libsupc++/libsupc++convenience.la \
+ $(top_builddir)/src/c++98/libc++98convenience.la \
+ $(top_builddir)/src/c++11/libc++11convenience.la
+
+libstdc___la_LDFLAGS = \
+ ${libtool_version_info_string} ${version_arg} -lm
+
+libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
# A note on compatibility and static libraries.
#
@@ -917,8 +915,7 @@ compatibility-condvar.o: compatibility-condvar.cc
@ENABLE_SYMVERS_TRUE@ $(EGREP) -v '^[ ]*#(#| |$$)' $@.tmp | \
@ENABLE_SYMVERS_TRUE@ $(CC) -E -P -include $(CONFIG_HEADER) - > $@ || (rm -f $@ ; exit 1)
@ENABLE_SYMVERS_TRUE@ rm -f $@.tmp
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ if ENABLE_BIONIC_LIBS
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
+@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ $(toplevel_srcdir)/contrib/make_sunver.pl \
@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libgnustl_shared_la_OBJECTS) $(libgnustl_shared_la_LIBADD)
@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ CXXFILT="$(CXXFILT)"; export CXXFILT; \
@@ -928,30 +925,7 @@ compatibility-condvar.o: compatibility-condvar.cc
@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ `echo $(libgnustl_shared_la_LIBADD) | \
@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ > $@ || (rm -f $@ ; exit 1)
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ else
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.ver-sun : libstdc++-symbols.ver \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ $(toplevel_srcdir)/contrib/make_sunver.pl \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ CXXFILT="$(CXXFILT)"; export CXXFILT; \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ perl $(toplevel_srcdir)/contrib/make_sunver.pl \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.ver \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libstdc___la_OBJECTS:%.lo=.libs/%.o) \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ `echo $(libstdc___la_LIBADD) | \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ > $@ || (rm -f $@ ; exit 1)
-@ENABLE_SYMVERS_SUN_TRUE@@ENABLE_SYMVERS_TRUE@ endif
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ if ENABLE_BIONIC_LIBS
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.explist : libstdc++-symbols.ver \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ ${glibcxx_srcdir}/scripts/make_exports.pl \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libgnustl_shared_la_OBJECTS) $(libgnustl_shared_la_LIBADD)
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.ver \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libgnustl_shared_la_OBJECTS:%.lo=.libs/%.o) \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ `echo $(libgnustl_shared_la_LIBADD) | \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ > $@ || (rm -f $@ ; exit 1)
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ else
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ libstdc++-symbols.explist : libstdc++-symbols.ver \
+@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@libstdc++-symbols.explist : libstdc++-symbols.ver \
@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ ${glibcxx_srcdir}/scripts/make_exports.pl \
@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ $(libstdc___la_OBJECTS) $(libstdc___la_LIBADD)
@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ perl ${glibcxx_srcdir}/scripts/make_exports.pl \
@@ -960,7 +934,6 @@ compatibility-condvar.o: compatibility-condvar.cc
@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ `echo $(libstdc___la_LIBADD) | \
@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \
@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ > $@ || (rm -f $@ ; exit 1)
-@ENABLE_SYMVERS_DARWIN_TRUE@@ENABLE_SYMVERS_TRUE@ endif
# Control additional build primary rules.
all-once: libstdc++convenience.la $(STAMP_DEBUG)