+2013-09-06 Caroline Tice <cmtice@google.com>
+
+ * doc/install.texi: Add documentation for the --enable-vtable-verify
+ and the --disable-libvtv configure options.
+
2013-09-06 Jeff Law <law@redhat.com>
* tree-ssa-dom.c (cprop_into_successor_phis): Also propagate
More documentation about multiarch can be found at
@uref{http://wiki.debian.org/Multiarch}.
+@item --enable-vtable-verify
+Specify whether to enable or disable the vtable verification feature.
+Enabling this feature causes libstdc++ to be built with its virtual calls
+in verifiable mode. This means that, when linked with libvtv, every
+virtual call in libstdc++ will verify the vtable pointer through which the
+call will be made before actually making the call. If not linked with libvtv,
+the verifier will call stub functions (in libstdc++ itself) and do nothing.
+If vtable verification is disabled, then libstdc++ is not built with its
+virtual calls in verifiable mode at all. However the libvtv library will
+still be built (see @option{--disable-libvtv} to turn off building libvtv).
+@option{--disable-vtable-verify} is the default.
+
@item --disable-multilib
Specify that multiple target
libraries to support different target variants, calling
@item --disable-libgomp
Specify that the run-time libraries used by GOMP should not be built.
+@item --disable-libvtv
+Specify that the run-time libraries used by vtable verification
+should not be built.
+
@item --with-dwarf2
Specify that the compiler should
use DWARF 2 debugging information as the default.
+2013-09-06 Caroline Tice <cmtice@google.com>
+
+ * Makefile.am: Remove #if ENABLE_VTABLE_VERIFY checks around
+ definitions of SUBDIRS, libvtv_la_SOURCES and libvtv_include_HEADERS.
+ * Makefile.in: Regenerate.
+ * configure.ac: Remove checks and tests for --enable-vtable-verify.
+ * configure: Regenerate.
+
2013-08-20 Caroline Tice <cmtice@google.com>
* Makefile.am (DEFS): Add "@DEFS@", to inherit defintions.
## along with this library; see the file COPYING3. If not see
## <http://www.gnu.org/licenses/>.
-if ENABLE_VTABLE_VERIFY
SUBDIRS = testsuite
-else
-SUBDIRS =
-endif
ACLOCAL_AMFLAGS = -I .. -I ../config
rm -f $@
$(LN_S) $(toplevel_srcdir)/libgcc/vtv_end.c $@
-if ENABLE_VTABLE_VERIFY
libvtv_la_SOURCES = $(vtv_sources)
libvtv_include_HEADERS = $(vtv_headers)
-else
-libvtv_la_SOURCES =
-libvtv_include_HEADERS =
-endif
# Least ordering for dependencies mean linking w/o libstdc++ for as
# long as the development of libvtv does not absolutely require it.
DIST_COMMON = ChangeLog $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) \
$(srcdir)/../mkinstalldirs $(srcdir)/../depcomp \
- $(am__libvtv_include_HEADERS_DIST)
+ $(libvtv_include_HEADERS)
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/../config/depstand.m4 \
libvtv_la_LIBADD =
am__objects_1 = vtv_start.lo vtv_malloc.lo vtv_rts.lo vtv_utils.lo \
vtv_end.lo
-@ENABLE_VTABLE_VERIFY_TRUE@am_libvtv_la_OBJECTS = $(am__objects_1)
+am_libvtv_la_OBJECTS = $(am__objects_1)
libvtv_la_OBJECTS = $(am_libvtv_la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/../depcomp
install-pdf-recursive install-ps-recursive install-recursive \
installcheck-recursive installdirs-recursive pdf-recursive \
ps-recursive uninstall-recursive
-am__libvtv_include_HEADERS_DIST = vtv_map.h vtv_malloc.h vtv_fail.h \
- vtv_set.h vtv_utils.h vtv_rts.h
HEADERS = $(libvtv_include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS
ETAGS = etags
CTAGS = ctags
-DIST_SUBDIRS = testsuite
+DIST_SUBDIRS = $(SUBDIRS)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
top_srcdir = @top_srcdir@
toplevel_builddir = @toplevel_builddir@
toplevel_srcdir = @toplevel_srcdir@
-@ENABLE_VTABLE_VERIFY_FALSE@SUBDIRS =
-@ENABLE_VTABLE_VERIFY_TRUE@SUBDIRS = testsuite
+SUBDIRS = testsuite
ACLOCAL_AMFLAGS = -I .. -I ../config
# May be used by toolexeclibdir.
# Link in vtv_start and vtv_end.
BUILT_SOURCES = vtv_start.c vtv_end.c
-@ENABLE_VTABLE_VERIFY_FALSE@libvtv_la_SOURCES =
-@ENABLE_VTABLE_VERIFY_TRUE@libvtv_la_SOURCES = $(vtv_sources)
-@ENABLE_VTABLE_VERIFY_FALSE@libvtv_include_HEADERS =
-@ENABLE_VTABLE_VERIFY_TRUE@libvtv_include_HEADERS = $(vtv_headers)
+libvtv_la_SOURCES = $(vtv_sources)
+libvtv_include_HEADERS = $(vtv_headers)
# Least ordering for dependencies mean linking w/o libstdc++ for as
# long as the development of libvtv does not absolutely require it.
build_vendor
build_cpu
build
-ENABLE_VTABLE_VERIFY_FALSE
-ENABLE_VTABLE_VERIFY_TRUE
target_alias
host_alias
build_alias
ac_user_opts='
enable_option_checking
enable_version_specific_runtime_libs
-enable_vtable_verify
enable_multilib
enable_maintainer_mode
enable_dependency_tracking
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory
- --enable-vtable-verify Enable vtable verification feature
--enable-multilib build many library versions (default)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $version_specific_libs" >&5
$as_echo "$version_specific_libs" >&6; }
-# Use same top-level configure hooks in libgcc/libstdc++/libvtv.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-vtable-verify" >&5
-$as_echo_n "checking for --enable-vtable-verify... " >&6; }
-# Check whether --enable-vtable-verify was given.
-if test "${enable_vtable_verify+set}" = set; then :
- enableval=$enable_vtable_verify; case "$enableval" in
- yes) enable_vtable_verify=yes ;;
- no) enable_vtable_verify=no ;;
- *) enable_vtable_verify=no;;
- esac
-else
- enable_vtable_verify=no
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_vtable_verify" >&5
-$as_echo "$enable_vtable_verify" >&6; }
-
# See if supported.
unset VTV_SUPPORTED
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for host support for vtable verification" >&5
# Decide if it's usable.
use_vtable_verify=no
if test "x$VTV_SUPPORTED" = "xyes"; then
- if test "x$enable_vtable_verify" = "xyes"; then
- use_vtable_verify=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: using vtable verification" >&5
+ use_vtable_verify=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: using vtable verification" >&5
$as_echo "$as_me: using vtable verification" >&6;}
- fi
fi
- if test $use_vtable_verify = yes; then
- ENABLE_VTABLE_VERIFY_TRUE=
- ENABLE_VTABLE_VERIFY_FALSE='#'
-else
- ENABLE_VTABLE_VERIFY_TRUE='#'
- ENABLE_VTABLE_VERIFY_FALSE=
-fi
-
# Do not delete or change the following two lines. For why, see
# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12124 "configure"
+#line 12093 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12230 "configure"
+#line 12199 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
LTLIBOBJS=$ac_ltlibobjs
-if test -z "${ENABLE_VTABLE_VERIFY_TRUE}" && test -z "${ENABLE_VTABLE_VERIFY_FALSE}"; then
- as_fn_error "conditional \"ENABLE_VTABLE_VERIFY\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -n "$EXEEXT"; then
am__EXEEXT_TRUE=
am__EXEEXT_FALSE='#'
[version_specific_libs=no])
AC_MSG_RESULT($version_specific_libs)
-# Use same top-level configure hooks in libgcc/libstdc++/libvtv.
-AC_MSG_CHECKING([for --enable-vtable-verify])
-AC_ARG_ENABLE(vtable-verify,
-[ --enable-vtable-verify Enable vtable verification feature ],
-[case "$enableval" in
- yes) enable_vtable_verify=yes ;;
- no) enable_vtable_verify=no ;;
- *) enable_vtable_verify=no;;
- esac],
-[enable_vtable_verify=no])
-AC_MSG_RESULT($enable_vtable_verify)
-
# See if supported.
unset VTV_SUPPORTED
AC_MSG_CHECKING([for host support for vtable verification])
# Decide if it's usable.
use_vtable_verify=no
if test "x$VTV_SUPPORTED" = "xyes"; then
- if test "x$enable_vtable_verify" = "xyes"; then
- use_vtable_verify=yes
- AC_MSG_NOTICE(using vtable verification)
- fi
+ use_vtable_verify=yes
+ AC_MSG_NOTICE(using vtable verification)
fi
-AM_CONDITIONAL(ENABLE_VTABLE_VERIFY, test $use_vtable_verify = yes)
# Do not delete or change the following two lines. For why, see
# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html