Add documentation for the options --enable-vtable-verify,
authorCaroline Tice <cmtice@google.com>
Fri, 6 Sep 2013 17:56:35 +0000 (10:56 -0700)
committerCaroline Tice <ctice@gcc.gnu.org>
Fri, 6 Sep 2013 17:56:35 +0000 (10:56 -0700)
--disable-vtable-verify and --disable-libvtv.  Also
update configure and make files in libvtv not to use
--enable-vtable-verify.

From-SVN: r202346

gcc/ChangeLog
gcc/doc/install.texi
libvtv/ChangeLog
libvtv/Makefile.am
libvtv/Makefile.in
libvtv/configure
libvtv/configure.ac

index 67cf9e57a89ba45e19bfe03d56ff4dc255966e7b..34ae31ff0e174bdfde19a3092cecb1947ec74c00 100644 (file)
@@ -1,3 +1,8 @@
+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
index 221e60e952c602020aca00bb035e4834bfe73a65..82306251177e2897fc9c46dbf18e130edf1e048c 100644 (file)
@@ -1036,6 +1036,18 @@ and for cross builds configured with @option{--with-sysroot}, and without
 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
@@ -1422,6 +1434,10 @@ support for @code{libquadmath} on systems supporting it.
 @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.
index c9a1cc3590e8a3a938b05b237b70a7c16d801987..9b42df273fc2e4dd66d0c7c4bb245ff6fba65a36 100644 (file)
@@ -1,3 +1,11 @@
+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.
index 567bd81e5b62a74b9ea84ff4872c532c9901b440..c3983effb7d88e3b81ee09d411df8f9254518c2e 100644 (file)
 ## 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
 
@@ -67,13 +63,8 @@ vtv_end.c:
        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.
index a1b71bfabcd1af446b7d6aae12af1981bfbdeefe..e021d42fd14d9d3b49384491d8df6bb38c8141ea 100644 (file)
@@ -40,7 +40,7 @@ subdir = .
 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 \
@@ -86,7 +86,7 @@ LTLIBRARIES = $(toolexeclib_LTLIBRARIES)
 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
@@ -118,8 +118,6 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
        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
@@ -127,7 +125,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-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@
@@ -265,8 +263,7 @@ top_builddir = @top_builddir@
 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.
@@ -296,10 +293,8 @@ libvtv_includedir = $(includedir)
 
 # 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.
index 6c50457fd227a4ab204e8de141e235717b4f791a..bb56cb0cb975045fcfa0466a4ef8bc0887aa3f9c 100755 (executable)
@@ -699,8 +699,6 @@ build_os
 build_vendor
 build_cpu
 build
-ENABLE_VTABLE_VERIFY_FALSE
-ENABLE_VTABLE_VERIFY_TRUE
 target_alias
 host_alias
 build_alias
@@ -743,7 +741,6 @@ ac_subst_files=''
 ac_user_opts='
 enable_option_checking
 enable_version_specific_runtime_libs
-enable_vtable_verify
 enable_multilib
 enable_maintainer_mode
 enable_dependency_tracking
@@ -1385,7 +1382,6 @@ Optional Features:
   --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
@@ -2343,23 +2339,6 @@ fi
 { $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
@@ -2371,20 +2350,10 @@ $as_echo "$VTV_SUPPORTED" >&6; }
 # 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
@@ -12121,7 +12090,7 @@ else
   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
@@ -12227,7 +12196,7 @@ else
   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
@@ -15637,10 +15606,6 @@ LIBOBJS=$ac_libobjs
 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='#'
index 60350dfccc364c10d7788c603dc3bb2bed4d9609..6db97dc60b86edd42eddfa7c61c6a016fe8dbad9 100644 (file)
@@ -20,18 +20,6 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
 [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])
@@ -41,12 +29,9 @@ AC_MSG_RESULT($VTV_SUPPORTED)
 # 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