From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4826 invoked by alias); 8 May 2008 05:46:04 -0000 Received: (qmail 4815 invoked by uid 22791); 8 May 2008 05:46:02 -0000 X-Spam-Check-By: sourceware.org Received: from mylar.outflux.net (HELO mylar.outflux.net) (69.93.193.226) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 08 May 2008 05:45:34 +0000 Received: from www.outflux.net (serenity-end.outflux.net [10.2.0.2]) by mylar.outflux.net (8.13.8/8.13.8/Debian-3) with ESMTP id m485jRK3011172 for ; Wed, 7 May 2008 22:45:32 -0700 Date: Thu, 08 May 2008 16:10:00 -0000 From: Kees Cook To: gdb-patches@sourceware.org Subject: status of PIE support? Message-ID: <20080508054526.GG12850@outflux.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-MIMEDefang-Filter: outflux$Revision: 1.312 $ X-HELO: www.outflux.net Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-05/txt/msg00275.txt.bz2 Hello! I'm curious what the current status PIE support is? Many distros have been carrying variations on PIE support patches for several releases now, and I'd like to help get them into the mainline gdb. As I understand it, the code was originally from Elena Zannoni and ported by various people including Jan Kratochvil. I've trivially ported the patches that are currently in Ubuntu's 6.8 gdb to the current gdb CVS. Since they're large, I'll just link to them[1][2]. The older PIE CVS branches seem pretty far out of date: "ezannoni_pie-20030916" "ezannoni_pie-20040323" What would be required to get this code in shape for a commit? I'm currently fairly unfamiliar with gdb internals, but I'm willing to learn. :) Thanks, -Kees [1] http://outflux.net/gdb/pie-support.patch gdb/gdb/Makefile.in | 2 gdb/gdb/amd64-tdep.c | 66 ++++++++- gdb/gdb/auxv.c | 20 +- gdb/gdb/auxv.h | 4 gdb/gdb/breakpoint.c | 61 ++++++++ gdb/gdb/breakpoint.h | 5 gdb/gdb/dwarf2read.c | 2 gdb/gdb/elfread.c | 2 gdb/gdb/infrun.c | 5 gdb/gdb/objfiles.c | 17 ++ gdb/gdb/solib-svr4.c | 342 ++++++++++++++++++++++++++++++++++++++++++++++---- gdb/gdb/solib.c | 107 +++++++++++---- gdb/gdb/solist.h | 10 + gdb/gdb/symfile-mem.c | 2 gdb/gdb/symfile.c | 22 ++- gdb/gdb/varobj.c | 56 ++++++++ gdb/gdb/varobj.h | 2 17 files changed, 644 insertions(+), 81 deletions(-) [2] http://outflux.net/gdb/pie-testsuite.patch gdb/gdb/testsuite/configure | 3 gdb/gdb/testsuite/configure.ac | 2 gdb/gdb/testsuite/gdb.pie/Makefile.in | 19 gdb/gdb/testsuite/gdb.pie/attach.c | 20 gdb/gdb/testsuite/gdb.pie/attach.exp | 432 ++++++++++++++ gdb/gdb/testsuite/gdb.pie/attach2.c | 24 gdb/gdb/testsuite/gdb.pie/break.c | 146 ++++ gdb/gdb/testsuite/gdb.pie/break.exp | 973 +++++++++++++++++++++++++++++++++ gdb/gdb/testsuite/gdb.pie/break1.c | 44 + gdb/gdb/testsuite/gdb.pie/corefile.exp | 243 ++++++++ gdb/gdb/testsuite/gdb.pie/coremaker.c | 142 ++++ 11 files changed, 2046 insertions(+), 2 deletions(-) -- Kees Cook @outflux.net