From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3399 invoked by alias); 13 Nov 2005 21:13:19 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 3370 invoked by uid 22791); 13 Nov 2005 21:13:13 -0000 Received: from zproxy.gmail.com (HELO zproxy.gmail.com) (64.233.162.196) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Sun, 13 Nov 2005 21:13:13 +0000 Received: by zproxy.gmail.com with SMTP id l1so1145535nzf for ; Sun, 13 Nov 2005 13:13:12 -0800 (PST) Received: by 10.37.2.6 with SMTP id e6mr3417149nzi; Sun, 13 Nov 2005 13:13:11 -0800 (PST) Received: by 10.37.2.35 with HTTP; Sun, 13 Nov 2005 13:13:11 -0800 (PST) Message-ID: <8f2776cb0511131313x20a21c11o8aad3157c1e35a29@mail.gmail.com> Date: Sun, 13 Nov 2005 23:58:00 -0000 From: Jim Blandy To: Andrew STUBBS , gdb-patches@sources.redhat.com Subject: Re: [SH][PATCH] Disable ABI frame sniffer In-Reply-To: <20051113183624.GE3599@nevyn.them.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <43722DEF.8060300@st.com> <20051110013122.GB11334@nevyn.them.org> <437321EE.7010904@st.com> <20051110133905.GB21420@nevyn.them.org> <43735A1D.6010406@st.com> <20051110231336.GB3195@nevyn.them.org> <4374863D.60601@st.com> <20051113183624.GE3599@nevyn.them.org> X-SW-Source: 2005-11/txt/msg00178.txt.bz2 On 11/13/05, Daniel Jacobowitz wrote: > Instead of whatever C language routine you use to start threads, start > them using an assembly wrapper. Have it set up a non-unwindable frame > using DWARF2 CFI as mentioned in one of my earlier postings in this > thread. You can do this easily by marking the return address column as > undefined. Then have it call the C thread start routine. GDB will > cleanly terminate the backtrace right there You'll have one more frame > in your stack, but it will be a real frame. There's an example of how to do this in libgloss/m32c/crt0.S (and other places, I'm sure).