From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1188 invoked by alias); 25 Feb 2013 19:31:43 -0000 Received: (qmail 1087 invoked by uid 22791); 25 Feb 2013 19:31:41 -0000 X-SWARE-Spam-Status: No, hits=-4.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mail-wi0-f174.google.com (HELO mail-wi0-f174.google.com) (209.85.212.174) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 25 Feb 2013 19:31:33 +0000 Received: by mail-wi0-f174.google.com with SMTP id hi8so3889562wib.1 for ; Mon, 25 Feb 2013 11:31:32 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:from:date:message-id:subject:to:cc :content-type:x-gm-message-state; bh=2UEvb2TZYrHVaeTo8Yw1d+lZq/27qQTlr95OTvlZ2dI=; b=YYB1dlQvvKRG3ITN2eduXTvMn4MYorGbKZXD9fqYPk822zYnyhFF14beWgAoE4XdXl P3WOTT9BKwZ918U/L24yPb+mx32WsNRbstfj9ImnRgW/2KyWDDEn7+G7c6RfFEiEEYIT LatLUdfoaQlhKjeLYX3W0NN07VlZfU/Yx6SD/1MWUKOxOrgFiE+YO2iBZGWPYtBsJYkF rrzYlgIyQAHx2V2pKREjL+1DE5nIZJBuus0jGonn2Grh44riLvokz/43CBH+FZhoZb5K JryIwzji/H+9ahhjhF5IlRYKcrz8alACsA4SrLuUhbAuch+4xefGNDyrYiPnxBbAndVo IFnA== X-Received: by 10.180.73.212 with SMTP id n20mr14593422wiv.11.1361820692037; Mon, 25 Feb 2013 11:31:32 -0800 (PST) MIME-Version: 1.0 Received: by 10.194.151.232 with HTTP; Mon, 25 Feb 2013 11:31:11 -0800 (PST) From: Caroline Tice Date: Mon, 25 Feb 2013 19:31:00 -0000 Message-ID: Subject: [PATCH, updated] Vtable pointer verification, runtime library changes (patch 3 of 3) To: GCC Patches , libstdc++@gcc.gnu.org Cc: Diego Novillo , Luis Lozano , Bhaskar Janakiraman Content-Type: text/plain; charset=ISO-8859-1 X-Gm-Message-State: ALoCoQlVfBQsbcWhP9YL3Dq+LNoNy5IkJqbCyBkij8M/MwNUY72UcvMBw0TqIgIwdOtQcrlRj1taZFnZFxgrn9GIto0kNzJbyk6Ph4InvMOdluwwEnt/o4aDtdLgKwi1J7VjGYonYEVv6IlGxj2Dv9aYbBNcXUkJRMMSkTPKJ6BsyjlkR1bHJmQSUWfjytxihkjtA2zvIgtP X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2013-02/txt/msg01124.txt.bz2 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.