From owner-freebsd-arm@freebsd.org Tue Feb 7 18:55:56 2017 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DCB2FCD443C for ; Tue, 7 Feb 2017 18:55:56 +0000 (UTC) (envelope-from freebsdml@marino.st) Received: from shepard.synsport.com (mail.synsport.com [208.69.230.148]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BA2D91BFE for ; Tue, 7 Feb 2017 18:55:56 +0000 (UTC) (envelope-from freebsdml@marino.st) Received: from [127.0.0.1] (ip72-204-83-236.fv.ks.cox.net [72.204.83.236]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by shepard.synsport.com (Postfix) with ESMTP id 78ED743CC8; Tue, 7 Feb 2017 12:54:12 -0600 (CST) Subject: Re: ARM64: PC/IP not saved in signal frame Reply-To: marino@freebsd.org References: <530c18cd-d50d-4709-a0ca-22324a0cb592@marino.st> To: freebsd-arm@freebsd.org Cc: Andreas Tobler From: John Marino Message-ID: <86279411-3979-edab-7ba2-4a1e3fa6429e@marino.st> Date: Tue, 7 Feb 2017 12:55:51 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: <530c18cd-d50d-4709-a0ca-22324a0cb592@marino.st> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Antivirus: avast! (VPS 170206-3, 02/06/2017), Outbound message X-Antivirus-Status: Clean X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Feb 2017 18:55:57 -0000 On 2/7/2017 12:47, John Marino wrote: > Hi guys, > I've been struggling to provide unwind support on the aarch64-*-freebsd* > target of FreeBSD. The only working example on this arch is > aarch64-linux (attached). I think I'm 99% done with the freebsd version > (attached) but the last value that needs to be pass to the > _Unwind_FrameState is the program counter offset. > > I know the PC is not register-based on aarch64. Linux still saves the > value in the signal context, but AFAICT FreeBSD does not. > > Can somebody > A) confirm that the program counter is missing from the saved signal > context > B) confirm that it needs to be added for proper signal frame unwinding? > > Alternatively, maybe somebody can figure out a solution given the > current freebsd structures, but I'm losing hope on that one. (line 99) Apparently attachments are stripped out on this mail list. You can see the headers here: https://leaf.dragonflybsd.org/~marino/linux-unwind.h https://leaf.dragonflybsd.org/~marino/freebsd-unwind.h John