From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20926 invoked by alias); 25 Jan 2004 23:59:15 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 20917 invoked from network); 25 Jan 2004 23:59:15 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sources.redhat.com with SMTP; 25 Jan 2004 23:59:15 -0000 Received: from drow by nevyn.them.org with local (Exim 4.30 #1 (Debian)) id 1Aku9q-0002Gb-19 for ; Sun, 25 Jan 2004 18:59:14 -0500 Date: Sun, 25 Jan 2004 23:59:00 -0000 From: Daniel Jacobowitz To: gdb@sources.redhat.com Subject: Re: [RFC] Non-executable stack on SPARC Message-ID: <20040125235913.GA5120@nevyn.them.org> Mail-Followup-To: gdb@sources.redhat.com References: <200401252350.i0PNoB1O021806@elgar.kettenis.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200401252350.i0PNoB1O021806@elgar.kettenis.dyndns.org> User-Agent: Mutt/1.5.1i X-SW-Source: 2004-01/txt/msg00295.txt.bz2 On Mon, Jan 26, 2004 at 12:50:11AM +0100, Mark Kettenis wrote: > A while ago, I established that getting inferior function calls on > SPARC working with a non-executable stack is remarkably simple. Just > acknowledging that breakpoint instructions may cause SIGSEGV, as per > the attached patch, is enough. However, some people were afraid that > blindly applying this patch might cause some problems on other > targets. I think there are two alternatives: > > 1. Only check for SIGSEGV if the target in question uses "ON_STACK" > for its call_dummy_location. > > 2. Add a new method to the architecture vector to check whether a > particular signal may have been the result of a breakpoint > instruction. Suggested name & signature: > > int breakpoint_signal_p (struct gdbarch *gdbarch, int signal) > > Preferences? I think just the patch you included will be OK. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer