From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=65.50.211.136; helo=mail.zytor.com; envelope-from=pcacjr@zytor.com; receiver=edk2-devel@lists.01.org Received: from mail.zytor.com (terminus.zytor.com [65.50.211.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 37E83220D4C0F for ; Tue, 14 Nov 2017 07:36:00 -0800 (PST) Received: from [IPv6:2804:7f4:c480:4fed::1] ([IPv6:2804:7f4:c480:4fed:0:0:0:1]) (authenticated bits=0) by mail.zytor.com (8.15.2/8.15.2) with ESMTPSA id vAEFbf72029948 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Tue, 14 Nov 2017 07:37:43 -0800 To: Fan Jeff , "edk2-devel@lists.01.org" Cc: Rick Bramley , Laszlo Ersek , Andrew Fish , Eric Dong References: <8de9df9f-0386-8250-7c80-9a3cff65841e@zytor.com> From: Paulo Alcantara Message-ID: Date: Tue, 14 Nov 2017 13:37:35 -0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Subject: =?UTF-8?B?UmU6IOetlOWkjTogW1JGQyAwLzFdIFN0YWNrIHRyYWNlIHN1cHBvcnQgaW4gWDY0IGV4Y2VwdGlvbiBoYW5kbGluZw==?= X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Nov 2017 15:36:00 -0000 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Hi Fan, On 14/11/2017 12:03, Fan Jeff wrote: > Paul, > > I like this feature very much. Actually, I did some POC one year ago but > I did finalize it. > > In my POC, I could use EBP to tack the stack frame on IAS32 arch. > > But for x64, I tried to use –keepexceptiontable flag to explain stack > frame from the debug section of image. > > I may workson MSFT toolchain, but it did now work well for GCC toolchain. > > I think Eric could help to verify MSFT for your patch. If it works well, > that’s will be great! > > Say again, I like this feature!!!:-) Cool! Your help would be really appreciable! If we get this working for X64 in both toolchains, that should be easy to port it to IA-32 as well. Thank you very much for willing to help on that. Paulo > > Thanks! > > Jeff > > *发件人: *Paulo Alcantara > *发送时间: *2017年11月14日21:23 > *收件人: *edk2-devel@lists.01.org > *抄送: *Rick Bramley ; Laszlo Ersek > ; Andrew Fish ; Eric > Dong > *主题: *Re: [edk2] [RFC 0/1] Stack trace support in X64 exception handling > > Hi, > > On 14/11/2017 10:47, Paulo Alcantara wrote: >> Hi, >> >> This series adds stack trace support during a X64 CPU exception. >> >> Informations like back trace, stack contents and image module names >> (that were part of the call stack) will be dumped out. >> >> We already have such support in ARM/AArch64 (IIRC) exception handling >> (thanks to Ard), and then I thought we'd also deserve it in X64 and >> IA-32 platforms. >> >> What do you think guys? >> >> BTW, I've tested this only with OVMF (X64 only), using: >>    - gcc-6.3.0, GCC5, NOOPT >> >> Any other tests  would be really appreciable. > > I've attached a file to show you how the trace would look like. > > Thanks! > Paulo > >> >> Thanks! >> Paulo >> >> Repo: https://github.com/pcacjr/edk2.git >> Branch: stacktrace_x64 >> >> Cc: Rick Bramley >> Cc: Andrew Fish >> Cc: Eric Dong >> Cc: Laszlo Ersek >> Contributed-under: TianoCore Contribution Agreement 1.1 >> Signed-off-by: Paulo Alcantara >> --- >> >> Paulo Alcantara (1): >>    UefiCpuPkg/CpuExceptionHandlerLib/X64: Add stack trace support >> >>   UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c | 344 +++++++++++++++++++- >>   1 file changed, 342 insertions(+), 2 deletions(-) >> >