From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 82447 invoked by alias); 25 Apr 2017 12:40:09 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 82422 invoked by uid 89); 25 Apr 2017 12:40:08 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=awesome, expectations, Hx-languages-length:1652, heads X-Spam-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: gnu.wildebeest.org Message-ID: <1493124006.31726.33.camel@klomp.org> Subject: Re: frame unwinding patches From: Mark Wielaard To: Ulf Hermann Cc: elfutils-devel@sourceware.org Date: Tue, 25 Apr 2017 12:50:00 -0000 In-Reply-To: <8d1df705-d3db-0195-fbb4-d6b80aaa786d@qt.io> References: <1487201610-8381-1-git-send-email-mark@klomp.org> <3915502.JGE1jdPxOT@milian-kdab2> <75e83a7d-b372-3436-ba7a-3a49900e92dd@qt.io> <20170403211516.GB9584@stream> <1491560851.8380.162.camel@klomp.org> <1492631295.21701.180.camel@klomp.org> <8d1df705-d3db-0195-fbb4-d6b80aaa786d@qt.io> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Evolution 3.12.11 (3.12.11-22.el7) Mime-Version: 1.0 X-SW-Source: 2017-q2/txt/msg00080.txt.bz2 On Thu, 2017-04-20 at 11:26 +0200, Ulf Hermann wrote: > The x86_64 case already works with the test case I sent. Maybe we can > accept that one before the others. The aarch64 case almost works, but > seems to generally duplicate the first entry it unwinds by frame > pointer after unwinding anything by CFI. That should be fixable. I > will research it and post a follow up patch. The 32bit arm case is a > horrible mess and we may indeed need to lower our expectations for > that one. Or maybe I can find a raise() that follows the same frame > conventions as the gcc I'm using ... I tweaked the testcases a little to test more things. I reverted the "Optionally allow unknown symbols in the backtrace tests" and added an explicit check for a frame in the middle, the backtracegen function. That showed the ppc32 core testfiles were generated without CFI for the main executable, so I regenerated those. Then I added your x86_64 frame pointer unwinder, testcases, my i386 frame pointer unwinder and your aarch64 frame pointer unwinder. I dropped the arm32 frame pointer unwinder for now (maybe we need a less demanding testcase for that or, more awesome, add code to translate the exidx section for that). I do have a question about the aarch64 frame pointer unwinder (and the initial frame), but I'll reply to the patch email for that. I'll post the patches as reply to this message (stripping the binaries) and have pushed them all to the (rebased) mjw/fpunwind branch: https://sourceware.org/git/?p=3Delfutils.git;a=3Dshortlog;h=3Drefs/heads/mj= w/fp-unwind Could you take a look and see if that looks good? Thanks, Mark