diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 67cf9e57a89..34ae31ff0e1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-09-06 Caroline Tice + + * doc/install.texi: Add documentation for the --enable-vtable-verify + and the --disable-libvtv configure options. + 2013-09-06 Jeff Law * tree-ssa-dom.c (cprop_into_successor_phis): Also propagate diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 221e60e952c..82306251177 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -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. diff --git a/libvtv/ChangeLog b/libvtv/ChangeLog index c9a1cc3590e..9b42df273fc 100644 --- a/libvtv/ChangeLog +++ b/libvtv/ChangeLog @@ -1,3 +1,11 @@ +2013-09-06 Caroline Tice + + * 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 * Makefile.am (DEFS): Add "@DEFS@", to inherit defintions. diff --git a/libvtv/Makefile.am b/libvtv/Makefile.am index 567bd81e5b6..c3983effb7d 100644 --- a/libvtv/Makefile.am +++ b/libvtv/Makefile.am @@ -19,11 +19,7 @@ ## along with this library; see the file COPYING3. If not see ## . -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. diff --git a/libvtv/Makefile.in b/libvtv/Makefile.in index a1b71bfabcd..e021d42fd14 100644 --- a/libvtv/Makefile.in +++ b/libvtv/Makefile.in @@ -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. diff --git a/libvtv/configure b/libvtv/configure index 6c50457fd22..bb56cb0cb97 100755 --- a/libvtv/configure +++ b/libvtv/configure @@ -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='#' diff --git a/libvtv/configure.ac b/libvtv/configure.ac index 60350dfccc3..6db97dc60b8 100644 --- a/libvtv/configure.ac +++ b/libvtv/configure.ac @@ -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