From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23139 invoked by alias); 22 Dec 2005 21:17:40 -0000 Received: (qmail 23123 invoked by uid 22791); 22 Dec 2005 21:17:39 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Thu, 22 Dec 2005 21:17:38 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1EpXoc-0003RL-Ve; Thu, 22 Dec 2005 16:17:35 -0500 Date: Thu, 22 Dec 2005 21:17:00 -0000 From: Daniel Jacobowitz To: gdb@sourceware.org Cc: libc-alpha@sourceware.org Subject: Stepping over longjmp presumably broken for glibc Message-ID: <20051222211734.GA13178@nevyn.them.org> Mail-Followup-To: gdb@sourceware.org, libc-alpha@sourceware.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.8i X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2005-12/txt/msg00177.txt.bz2 GDB sets breakpoints at longjmp, and when it hits one, it fetches the address of the jmp_buf, reads the PC from it, sets a breakpoint at that PC, and continues. This needs to be redone, probably to single-step. Current versions of glibc for many platforms xor the saved PC with a randomized canary, so setting a breakpoint at that "address" isn't going to work especially well. -- Daniel Jacobowitz CodeSourcery, LLC