Dmitry V. Levin
530bed0ca8
Fix decoding of getgroups, getgroups32, setgroups, and setgroups32 syscalls
Convert parsers of these syscalls to the same scheme as were applied to parsers of other uid/gid related syscalls. That is, define two sets of parsers on architectures that support (either directly or via multiarch) 16-bit and 32-bit gid getgroups and setgroups syscalls simultaneously, and reuse essentially the same code by parametrizing uid_t and names of parser functions. * groups.c: Remove. (sys_getgroups, sys_setgroups): Move ... * uid.c: ... here and parametrize their names. * Makefile.am (strace_SOURCES): Remove groups.c. * linux/syscall.h (sys_getgroups32, sys_setgroups32): Remove. [NEED_UID16_PARSERS] (sys_getgroups16, sys_setgroups16): New prototypes. * linux/arm/syscallent.h: Rename sys_[gs]etgroups to sys_[gs]etgroups16, rename sys_[gs]etgroups32 to sys_[gs]etgroups. * linux/bfin/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * tests/uid.c: Test for getgroups. * tests/uid16.c: Likewise. * tests/uid32.c: Test for getgroups32. * tests/uid.awk: Test for getgroups/getgroups32 decoding. * tests/uid.test: Trace getgroups/getgroups32 syscalls.
This is strace, a system call tracer for Linux. strace is released under a Berkeley-style license at the request of Paul Kranenburg; see the file COPYING for details. See the file CREDITS for a list of authors and other contributors. See the file INSTALL for compilation and installation instructions. See the file NEWS for information on what has changed in recent versions. You can get the latest version of strace from its homepage at http://sourceforge.net/projects/strace/ . Please send bug reports and enhancements to the strace mailinglist at strace-devel@lists.sourceforge.net.
Description
Languages
C
92.2%
Shell
3.4%
M4
1.4%
Makefile
0.8%
Roff
0.7%
Other
1.5%