[Ltrace-devel] [PATCH] Fix ppc64 ABI support

Luis Machado luisgpm at linux.vnet.ibm.com
Fri Feb 15 14:41:07 UTC 2008


Hi folks,

The ltrace testsuite for ppc64 had a number of failures. This is due to
the fact that the current implementation of the ppc64 ABI is incomplete.

Checking the source i see that we had some functions that needed to be
platform specific being called in common code (namely umovelong and
umovestr). These two functions call PTRACE directly and thus need some
special attention since things could vary between architectures.

This patch moves those two functions to the arch-specific files
contained inside "sysdeps/linux-gnu/" and adds a new "type" parameter
that is valuable during the recovering of data through PTRACE.

The functions remain the same for all the other architectures except for
ppc, which needed some fixing in order to comply with the ABI. The
support is not yet complete, but i'll try to improve it as i have the
time.

No regressions should be introduced to any other architecture since the
code remains almost exactly the same (except for the call to
umovelong/umovestr in display_arg.c, to comply with the new "type"
parameter).

This patch also opens the path to ppc32 ABI compliance fixing
(gimme_arg_ppc32), which i plan to do soon.

With this patch, the testsuite gives full passes on ppc64.

Any comments and suggestions are welcome.

Best regards,

-- 
Luis Machado
Software Engineer 
IBM Linux Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix_ppc_abi.diff
Type: text/x-patch
Size: 28313 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/ltrace-devel/attachments/20080215/bdfb5f01/attachment-0001.bin 


More information about the Ltrace-devel mailing list