Add documentation for the options --enable-vtable-verify,

--disable-vtable-verify and --disable-libvtv.  Also 
update configure and make files in libvtv not to use 
--enable-vtable-verify.

From-SVN: r202346
This commit is contained in:
Caroline Tice 2013-09-06 10:56:35 -07:00 committed by Caroline Tice
parent 5e8d9b4559
commit 87f3fea84f
7 changed files with 41 additions and 76 deletions

View 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

View 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.

View 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.

View File

@ -19,11 +19,7 @@
## 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.

View 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.

43
libvtv/configure vendored
View File

@ -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='#'

View 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