From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 102300 invoked by alias); 9 Mar 2016 16:16:19 -0000 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 Received: (qmail 102284 invoked by uid 89); 9 Mar 2016 16:16:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=no version=3.3.2 spammy=enhances, funcs, analyzer X-HELO: e06smtp13.uk.ibm.com Received: from e06smtp13.uk.ibm.com (HELO e06smtp13.uk.ibm.com) (195.75.94.109) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Wed, 09 Mar 2016 16:16:18 +0000 Received: from localhost by e06smtp13.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 9 Mar 2016 16:16:14 -0000 Received: from d06dlp02.portsmouth.uk.ibm.com (9.149.20.14) by e06smtp13.uk.ibm.com (192.168.101.143) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 9 Mar 2016 16:16:13 -0000 X-IBM-Helo: d06dlp02.portsmouth.uk.ibm.com X-IBM-MailFrom: arnez@linux.vnet.ibm.com X-IBM-RcptTo: gdb-patches@sourceware.org Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 460542190066 for ; Wed, 9 Mar 2016 16:15:56 +0000 (GMT) Received: from d06av09.portsmouth.uk.ibm.com (d06av09.portsmouth.uk.ibm.com [9.149.37.250]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u29GGDOf2621870 for ; Wed, 9 Mar 2016 16:16:13 GMT Received: from d06av09.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u29GGD2T002554 for ; Wed, 9 Mar 2016 09:16:13 -0700 Received: from oc1027705133.ibm.com (dyn-9-152-212-180.boeblingen.de.ibm.com [9.152.212.180]) by d06av09.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u29GGCpp002550 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 9 Mar 2016 09:16:13 -0700 From: Andreas Arnez To: gdb-patches@sourceware.org Subject: [PUSHED] [PATCH] S390: Add use of unavailable-stack frame ID References: Date: Wed, 09 Mar 2016 16:16:00 -0000 In-Reply-To: (Andreas Arnez's message of "Mon, 07 Mar 2016 11:19:57 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16030916-0013-0000-0000-000008FE565F X-IsSubscribed: yes X-SW-Source: 2016-03/txt/msg00130.txt.bz2 Pushed. On Mon, Mar 07 2016, Andreas Arnez wrote: > When determining the frame ID of an inline frame, GDB currently asserts > that a valid ID of the underlying real frame is found, and that it does > not match outer_frame_id. From inline_frame_this_id(): > > /* For now, require we don't match outer_frame_id either (see > comment above). */ > gdb_assert (!frame_id_eq (*this_id, outer_frame_id)); > > However, this assertion may fail when the real frame's unwinder can not > determine the frame ID. This happened on an s390x target with a binary > that lacked call frame information and also confused the prologue > analyzer, because then s390_frame_this_id() left the frame ID at its > default. > > To fix this, this change enhances s390_frame_this_id such that an > unavailable-stack frame ID is built if no frame base can be determined > but the function address is available. > > gdb/ChangeLog: > > * s390-linux-tdep.c (s390_prologue_frame_unwind_cache): Store > frame func's PC in info->func before any other failure can occur. > (s390_frame_this_id): Use frame_id_build_unavailable_stack if > info->func has been filled out. -- Andreas Arnez