This is the mail archive of the
libstdc++-cvs@gcc.gnu.org
mailing list for the libstdc++ project.
r195588 - in /branches/google/gcc-4_6-mobile-vt...
- From: ctice at gcc dot gnu dot org
- To: libstdc++-cvs at gcc dot gnu dot org
- Date: Wed, 30 Jan 2013 19:16:18 -0000
- Subject: r195588 - in /branches/google/gcc-4_6-mobile-vt...
Author: ctice
Date: Wed Jan 30 19:16:16 2013
New Revision: 195588
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=195588
Log:
Change vtable verification to put vtable map variables (and
other variables we need to protect) into their own named
section (".vtable_map_vars") rather than into .relro. This is
to avoid changing permissions on the entiro relro segment.
Force the new section to be page-aligned and page-size-padded
through two special symbols (_vtable_map_vars_start,
vtable_map_vars_end). Read section header out of files on disk
to find the section in memory, to change protections on it.
Using mechanism similar to crtbegin/crtend, force
_vtable_map_vars_start to be very first symbol in section; force
_vtable_map_vars_end to be very last symbol in section. Update
driver to put out appropriate linker options.
Modified:
branches/google/gcc-4_6-mobile-vtable-security/libstdc++-v3/configure
branches/google/gcc-4_6-mobile-vtable-security/libstdc++-v3/libsupc++/vtv_rts.cc
branches/google/gcc-4_6-mobile-vtable-security/libstdc++-v3/libsupc++/vtv_utils.h
Changes in other areas also in this revision:
Added:
branches/google/gcc-4_6-mobile-vtable-security/libgcc/vtv_end.c
branches/google/gcc-4_6-mobile-vtable-security/libgcc/vtv_start.c
Modified:
branches/google/gcc-4_6-mobile-vtable-security/ChangeLog.vtable-security
branches/google/gcc-4_6-mobile-vtable-security/configure
branches/google/gcc-4_6-mobile-vtable-security/gcc/cgraph.h
branches/google/gcc-4_6-mobile-vtable-security/gcc/config.gcc
branches/google/gcc-4_6-mobile-vtable-security/gcc/config/gnu-user.h
branches/google/gcc-4_6-mobile-vtable-security/gcc/config/i386/linux.h
branches/google/gcc-4_6-mobile-vtable-security/gcc/config/i386/linux64.h
branches/google/gcc-4_6-mobile-vtable-security/gcc/cp/g++spec.c
branches/google/gcc-4_6-mobile-vtable-security/gcc/cp/vtable-class-hierarchy.c
branches/google/gcc-4_6-mobile-vtable-security/gcc/tree-vtable-verify.c
branches/google/gcc-4_6-mobile-vtable-security/gcc/varasm.c
branches/google/gcc-4_6-mobile-vtable-security/gcc/varpool.c
branches/google/gcc-4_6-mobile-vtable-security/libgcc/Makefile.in
branches/google/gcc-4_6-mobile-vtable-security/libgcc/config.host