[PATCH, updated] Vtable pointer verification, main gcc changes (patch 2 of 3)

Caroline Tice cmtice@google.com
Mon Feb 25 19:28:00 GMT 2013


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 main gcc.  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>

	* configure (CXX_FOR_TARGET): Add libstdc++-v3/libsupc++/.libs to the
	library search path.
	* ligbcc/config.host (extra_parts):  Add vtv_start.o and vtv_end.o to
	the list.
	* libgcc/Makefile.in: Add definitin for gcc_srcdir; add rules for
	building vtv_start.o and vtv_end.o.
	* passes.c (init_optimization_pass): Add pass_vtable_verify.
	* vtv_start.c:  New file.
	* tree-pass.h (pass_vtable_verify): Declare new pass.
	* tree-vtable-verify.c:  New file, contains vtable verification tree
	pass.
	* tree-vtable-verify.h: New file.
	* common.opt: (fvtable-verify=): New option. Also define vtv_priority
	values for the option.
	* timevar.def (TV_VTABLE_VERIFICATION):  Declare new time var.
	* config/gnu-user.h: Add vtv_start.o to STARTFILE_SPEC if
	fvtable-verify is present; Add vtv_end.o to ENDFILE_SPEC if
	fvtable-verify is present.
	* tree.h: Add extern function declaration for save_vtable_map_decl.
	* vtv_end.c:  New file.
	* flag-types.h (vtv_priority):  New enum, for values for new
	'-fvtable-verify=' option.
	* Makefile.in (OBJS):  Add tree-vtable-verify.o to list of object
	files.
	(tree-vtable-verify.o):  Add rule for building object file.
	(GTFILES): Add tree-vtable-verify.c to list of files that use GCC's
	garbage collector.
	* varasm.c (assemble_variable): Add code for handling variables that
	go into the ".vtable_map_vars" section.
	(assemble_vtv_perinit_initializer):  New function.
	(default_section_type_flags):  Add SECTION_LINKONCE to
	".vtable_map_vars" section items.
	* output.h (assemble_vtv_preinit_initializer):  External function decl.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fsf-vtable-verification.v5.gcc-main.patch
Type: application/octet-stream
Size: 52354 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20130225/b13686b1/attachment.obj>


More information about the Gcc-patches mailing list