[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