I got too excited about being done and forgot to attach the patch. :-( Sorry. Here it is. -- Caroline cmtice@google.com On Mon, Feb 25, 2013 at 11:31 AM, Caroline Tice wrote: > 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 > > * 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.