aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/src/Makefile.am')
-rw-r--r--libstdc++-v3/src/Makefile.am16
1 files changed, 15 insertions, 1 deletions
diff --git a/libstdc++-v3/src/Makefile.am b/libstdc++-v3/src/Makefile.am
index cc17c962eae..6c005f2c4c3 100644
--- a/libstdc++-v3/src/Makefile.am
+++ b/libstdc++-v3/src/Makefile.am
@@ -73,10 +73,23 @@ libstdc___la_DEPENDENCIES = \
$(top_builddir)/src/c++98/libc++98convenience.la \
$(top_builddir)/src/c++11/libc++11convenience.la
+if ENABLE_VTABLE_VERIFY
libstdc___la_LDFLAGS = \
- -version-info $(libtool_VERSION) ${version_arg} -lm
+ -version-info $(libtool_VERSION) ${version_arg} -lm -Wl,-u_vtable_map_vars_start,-u_vtable_map_vars_end
libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+libvtv___la_LIBADD = \
+ $(top_builddir)/libsupc++/.libs
+LIBVTV_FLAGS = \
+ -L$(libvtv___la_LIBADD) --whole-archive -lvtv_init --no-whole-archive
+else
+libstdc___la_LDFLAGS = \
+ -version-info $(libtool_VERSION) ${version_arg} -lm
+libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS)
+
+libvtv___la_LIBADD =
+LIBVTV_FLAGS =
+endif
# Use special rules for parallel mode compilation.
@@ -193,6 +206,7 @@ CXXLINK = \
$(LIBTOOL) --tag CXX \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CXX) \
+ $(LIBVTV_FLAGS) \
$(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@