On Mon, May 06, 2013 at 03:17:55PM -0700, Chris Zankel wrote:
> The number of arguments specified in syscallent.h does not include
> registers that are skipped to align 64-bit arguments to even/odd
> register pairs. So, always retrieve all registers used for arguments.

The number of arguments specified in syscallent.h is used for two purposes:
- it is the number of syscall arguments to fetch from registers
  (and maybe memory on some architectures);
- it is also the number of syscall arguments to print by printargs
  (and in rare cases by other parsers).

Fetching all registers is not the best approach to fix the issue
for two reasons:
- printargs would still print wrong number of arguments;
- on xtensa, every extra argument fetch means extra upeek call.

I'd prefer to have syscallent.h fixed instead.



-- 
ldv

Attachment: pgp_8QV7Tjh2Y.pgp
Description: PGP signature

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________
Strace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to