This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH, updated] Vtable pointer verification, runtime library changes (patch 3 of 3)


Here are the latest changes to the vtable pointer verification patches
(again there are 3 patches: c++ front end, main gcc, and c++ runtime
library).  I think these address all the review comments I have
received so far.  This patch is the for C++ runtime library changes.
Please review these changes and let me know if they will be ok to
commit once stage 1 opens.

-- Caroline Tice
cmtice@google.com

2013-02-25  Caroline Tice  <cmtice@google.com>

	* config/abi/pre/gnu.ver:  Add vtable verification runtime functions to
	the list of globally visible symbols.
	* acinclude.m4: Add GLIBCXX_ENABLE_VTABLE_VERIFY option and comments.
	* configure (ENABLE_VTABLE_VERIFY_FALSE, ENABLE_VTABLE_VERIFY_TRUE,
	enable_vtable_verify):  New definitions.
	(predep_objects): Add vtv_start.o. if --enable-vtable-verify=yes was
	used.
	(postdep_objects):  Add vtv_end.o. if --enable-vtable-verify=yes was
	used.
	Add test for --enable-vtabkle-verify=yes. Add definitions for
	ENABLE_VTABLE_VERIFY_FALSE and ENABLE_VTABLE_VERIFY_TRUE.
	* src/Makefile.am (libvtv__la_LIBADD): Add definition, conditioned on
	ENABLE_VTABLE_VERIFY.
	(LIBVTV_FLAGS): Add definition, conditioned on ENABLE_VTABLE_VERIFY.
	(libstdc___la_LDFLAGS): Add 'Wl,-u_vtable_map_var_start,
	-u_vtable_map_var_end' if ENABLE_VTABLE_VERIFY is true.
	(CXXLINK):  Add LIBVTV_FLAGS.
	* src/Makefile.in: Regenerate from Makefile.am.
	* configure.ac (GLIBCXX_ENABLE_VTABLE_VERIFY): New definition.
	* libsupc++/vtv_utils.cc:  New file.
	* libsupc++/vtv_rts.h:  New file.
	* libsupc++/vtv_map.h:  New file.
	* libsupc++/vtv_set.h:  New file.
	* libsupc++/vtv_utils.h:  New file.
	* libsupc++/vtv_init.cc:  New file.
	* libsupc++/vtv_malloc.h:  New file.
	* libsupc++/Makefile.am (sources):  Add vtv_rts.cc, vtv_malloc.cc and
	vtv_utils.cc to the list.
	(vtv_init_sources, vtv_stubs_soruces, libvtv_init_la_sources,
	libvtv_stubs_la_sources):  New definitions.
	(toolexeclib_LTLIBRARIES):  Add libvtv_init.la and libvtv_stubs.la.
	* libsupc++/Makefile.in:  Regenerate from Makefile.am.
	* libsupc++/vtv_stubs.cc:  New file.
	* libsupc++/vtv_malloc.cc:  New file.
	* libsupc++/vtv_rts.cc:  New file.
	* libsupc++/vtv_fail.h:  New file.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]