[Ltrace-devel] Fetch backend for Itanium

Petr Machata pmachata at redhat.com
Fri Sep 7 23:38:33 UTC 2012


Hi there,

this week I rewrote the ia64 backend to use fetch interface
(ARCH_HAVE_FETCH_ARG).  The current back end worked pretty well overall,
but there were 11 failures in parameters.exp, mostly related to passing
structures in registers, exactly what fetch interface solves.

With the new back end, most of the test suite works, with the exception
of the following two test cases:

  FAIL: printf(\"sotnuh %d %ld %g %c.n\", 5, 6, 1.500*, 'X')
  FAIL: printf(\"many_args[...]

I ignored parts of the ABI spec devoted to passing vararg lists, and
apparently that's what we are hitting here.  I hope to get to it next
week.

In addition, there's a bunch of new test cases for testing homogeneous
floating-point aggregates (the support for which constitutes a
significant part of the fetch code).  The transition between parts
passed in floating point registers, parts passed in general registers,
and parts passed on the stack is tricky to get right, and I wanted to be
sure that it works, so there's fair amount of testing for HFA's.

If you care, you can review my work on the branch pmachata/ia64.
I intend to merge it sometime next week, hopefully with a couple
additional fixes.

Thank you,
PM



More information about the Ltrace-devel mailing list