From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23843 invoked by alias); 26 Feb 2019 19:05:19 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 23822 invoked by uid 89); 26 Feb 2019 19:05:19 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: gateway21.websitewelcome.com Received: from gateway21.websitewelcome.com (HELO gateway21.websitewelcome.com) (192.185.45.2) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 Feb 2019 19:05:17 +0000 Received: from cm10.websitewelcome.com (cm10.websitewelcome.com [100.42.49.4]) by gateway21.websitewelcome.com (Postfix) with ESMTP id 543394010A24C for ; Tue, 26 Feb 2019 13:05:16 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id yi2WgxkRR2PzOyi2WgOaUf; Tue, 26 Feb 2019 13:05:16 -0600 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Q1C/jsibfGIt5ZPwnlJxljWEZqnzqnYFrD44PAxbUKs=; b=yP6ef05nDAlqjQblacK3k9pLgA N+Kovtb8wl4M2FtWD4NFPX/mfsn5BlDsmbE1+F74p6UkJuPUBr4vpWwmdxfRZfdP58wK8amnsI8Uu lBPzvECVqbhpvJ3pPi0UlE/AW; Received: from 75-166-85-218.hlrn.qwest.net ([75.166.85.218]:35756 helo=murgatroyd) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1gyi2V-002xXF-Un; Tue, 26 Feb 2019 13:05:16 -0600 From: Tom Tromey To: David Griffiths Cc: Jan Kratochvil , Andrew Burgess , dwk , GDB Subject: Re: Is nexti confused by pushq? References: <20190226073236.GD10887@embecosm.com> <20190226101245.GA1496753@host1.jankratochvil.net> Date: Tue, 26 Feb 2019 19:05:00 -0000 In-Reply-To: (David Griffiths's message of "Tue, 26 Feb 2019 11:50:37 +0000") Message-ID: <87h8cqfk0k.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2019-02/txt/msg00070.txt.bz2 >>>>> "David" == David Griffiths writes: David> Ok, so in my case this is generated code with no debug info (Java JIT David> generated) so does that mean I shouldn't attempt to use nexti? (I've got David> other issues which probably preclude using nexti anyway but just curious) There are a few options to deal with this sort of problem. As Jan said, the JIT could generate debug info using one of the gdb-provided JIT interfaces. That's kind of heavyweight but gives a lot of control. Another option is to write an unwinder in Python. The crucial thing here is to ensure that the frame ID is constant for the duration of a frame. In DWARF this is done by using the CFA as part of the identity; for the JIT you'd want to do something similar. I thought there was already such an unwinder for OpenJDK at least... ? Tom