[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [libunwind] libunwind and .savepsp
From: |
Lu, Hongjiu |
Subject: |
RE: [libunwind] libunwind and .savepsp |
Date: |
Mon, 20 Sep 2004 12:29:51 -0700 |
A `(' was missing in the patch. After adding it, I rebuilt gcc, glibc
and kernel with the new assembler. I got no regressions in gcc nor
glibc. I'd like to see this patch in binutils.
Thanks.
H.J. Lu
Intel Corporation
>-----Original Message-----
>From: James E Wilson [mailto:address@hidden
>Sent: Thursday, September 16, 2004 11:26 AM
>To: David Mosberger
>Cc: Anthony C Brewer; Lu, Hongjiu; address@hidden
>Subject: Re: [libunwind] libunwind and .savepsp
>
>On Wed, 2004-09-15 at 04:05, David Mosberger wrote:
>> Jim, HJ, do you agree?
>
>Yes, I agree that this is a gas bug.
>
>The assembler manual states that the offset is (psp - pspoff), and the
>SCRA in Appendix B states that the encoded offset is (psp + 16 - (4 *
>pspoff). So the assembler must translate.
>
>The docs do appear a little ambiguous, because the encoded form of the
>offset is clearly stated in the descriptions of the P7 and P8 unwind
>record formats, but it is not stated at all for the X1 and X3 unwind
>record formats. I see the unwind dumping code in readelf that you
>wrote
>treats X1 and X3 same as P7 and P8, so I have done the same for gas.
>
>Here is an untested patch that works for the given testcase.
>--
>Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
gas-ia64-psp-2.patch
Description: gas-ia64-psp-2.patch