diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2014-12-03 20:08:44 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2014-12-03 21:20:47 +0000 |
commit | 600e33cd4521ad950472ed63290cbc034e515959 (patch) | |
tree | 70020c80ebe1ddcc640e111bb83fd3a43f91497d | |
parent | f6eb0d6b27ccf218fbda16ceec797818ac2319fc (diff) | |
download | strace-600e33cd4521ad950472ed63290cbc034e515959.tar.gz |
mips: move sysmips parser to a separate file
* sysmips.c: New file.
* Makefile.am (strace_SOURCES): Add it.
* system.c: Fix typo in the check for <linux/utsname.h>.
Move inclusions of <linux/utsname.h> and <asm/sysmips.h> to sysmips.c.
[MIPS]: Likewise.
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | sysmips.c | 42 | ||||
-rw-r--r-- | system.c | 40 |
3 files changed, 43 insertions, 40 deletions
diff --git a/Makefile.am b/Makefile.am index 38193f2d5..3c8972529 100644 --- a/Makefile.am +++ b/Makefile.am @@ -53,6 +53,7 @@ strace_SOURCES = \ stream.c \ syscall.c \ sysinfo.c \ + sysmips.c \ system.c \ term.c \ time.c \ diff --git a/sysmips.c b/sysmips.c new file mode 100644 index 000000000..521b08165 --- /dev/null +++ b/sysmips.c @@ -0,0 +1,42 @@ +#include "defs.h" + +#ifdef MIPS + +#ifdef HAVE_LINUX_UTSNAME_H +# include <linux/utsname.h> +#endif +#ifdef HAVE_ASM_SYSMIPS_H +# include <asm/sysmips.h> +#endif + +#ifndef __NEW_UTS_LEN +# define __NEW_UTS_LEN 64 +#endif + +#include "xlat/sysmips_operations.h" + +int sys_sysmips(struct tcb *tcp) +{ + if (entering(tcp)) { + printxval(sysmips_operations, tcp->u_arg[0], "???"); + if (!verbose(tcp)) { + tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]); + } else if (tcp->u_arg[0] == SETNAME) { + char nodename[__NEW_UTS_LEN + 1]; + if (umovestr(tcp, tcp->u_arg[1], (__NEW_UTS_LEN + 1), nodename) < 0) + tprintf(", %#lx", tcp->u_arg[1]); + else + tprintf(", \"%.*s\"", (int)(__NEW_UTS_LEN + 1), nodename); + } else if (tcp->u_arg[0] == MIPS_ATOMIC_SET) { + tprintf(", %#lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]); + } else if (tcp->u_arg[0] == MIPS_FIXADE) { + tprintf(", 0x%lx", tcp->u_arg[1]); + } else { + tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]); + } + } + + return 0; +} + +#endif /* MIPS */ @@ -72,12 +72,6 @@ #ifdef HAVE_ASM_CACHECTL_H # include <asm/cachectl.h> #endif -#ifdef HAVE_LINUX_USTNAME_H -# include <linux/utsname.h> -#endif -#ifdef HAVE_ASM_SYSMIPS_H -# include <asm/sysmips.h> -#endif #include <linux/sysctl.h> #include <linux/personality.h> @@ -576,37 +570,3 @@ sys_sysctl(struct tcb *tcp) free(name); return 0; } - -#ifdef MIPS - -#ifndef __NEW_UTS_LEN -#define __NEW_UTS_LEN 64 -#endif - -#include "xlat/sysmips_operations.h" - -int sys_sysmips(struct tcb *tcp) -{ - if (entering(tcp)) { - printxval(sysmips_operations, tcp->u_arg[0], "???"); - if (!verbose(tcp)) { - tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]); - } else if (tcp->u_arg[0] == SETNAME) { - char nodename[__NEW_UTS_LEN + 1]; - if (umovestr(tcp, tcp->u_arg[1], (__NEW_UTS_LEN + 1), nodename) < 0) - tprintf(", %#lx", tcp->u_arg[1]); - else - tprintf(", \"%.*s\"", (int)(__NEW_UTS_LEN + 1), nodename); - } else if (tcp->u_arg[0] == MIPS_ATOMIC_SET) { - tprintf(", %#lx, 0x%lx", tcp->u_arg[1], tcp->u_arg[2]); - } else if (tcp->u_arg[0] == MIPS_FIXADE) { - tprintf(", 0x%lx", tcp->u_arg[1]); - } else { - tprintf("%ld, %ld, %ld", tcp->u_arg[1], tcp->u_arg[2], tcp->u_arg[3]); - } - } - - return 0; -} - -#endif /* MIPS */ |