[llvm-commits] [PATCH] Add placeholder for eight-byte mandatory traceback table on PPC64
Hal Finkel
hfinkel at anl.gov
Wed Aug 29 11:35:26 PDT 2012
On Wed, 29 Aug 2012 12:33:36 -0500
"William J. Schmidt" <wschmidt at linux.vnet.ibm.com> wrote:
> On Wed, 2012-08-29 at 12:15 -0500, Hal Finkel wrote:
> > Bill,
> >
> > Why did you change the wording in the comment from "Eventually we
> > should add" to "Eventually it would be potentially useful to fill
> > in"? What's the rationale for the softer wording?
>
> Hi Hal,
>
> Yes, this was intentional; I felt I had worded it too strongly the
> first time. Although the ABI calls for these fields to be filled in
> fully, no compiler on Linux currently does this, and GDB does not
> read these fields. GDB uses the first word of zeroes during
> exception handling to find the end of the function and the size
> field, allowing it to compute the beginning of the function. DWARF
> information is used for everything else. We need the extra 8 bytes
> of pad so the size field is found in the right place.
>
> (As a comparison, GCC fills in a few of the fields -- language, number
> of saved registers -- but ignores the rest. IBM's proprietary OSes do
> make use of the full traceback table facility.)
>
> So although we will remain technically out of ABI compliance by not
> filling in these fields, it is very low priority compared to other
> work that needs to be done on the back end. That's all I'm trying to
> convey. Someday it should probably be done in case some tools want to
> leverage the information, but for now the need for it is speculative.
>
> (For the record, I will accept whatever language you would prefer in
> the comment. ;)
Thanks for the explanation. I'll update the comment to read:
// FIXME: We should fill in the eight-byte mandatory fields as
described in the PPC64 ELF ABI (this is a low-priority item because
GDB does not currently make use of these fields).
And I'll include a more detailed note in the commit message.
Thanks again,
Hal
>
> Thanks,
> Bill
>
> >
> > -Hal
> >
> > On Wed, 29 Aug 2012 11:53:06 -0500
> > "William J. Schmidt" <wschmidt at linux.vnet.ibm.com> wrote:
> >
> > > After offline discussion it became clear we need to reserve space
> > > for the mandatory traceback fields, though leaving them as zero is
> > > appropriate for now. This small patch adds the extra eight bytes
> > > and updates the associated test case.
> > >
> > > Please commit if OK.
> > >
> > > Thanks!
> > > Bill
> > >
> >
> >
> >
>
>
--
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits
mailing list