diff options
Diffstat (limited to 'src/linux/sh/get_syscall_args.c')
-rw-r--r-- | src/linux/sh/get_syscall_args.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/linux/sh/get_syscall_args.c b/src/linux/sh/get_syscall_args.c new file mode 100644 index 000000000..3b9391e85 --- /dev/null +++ b/src/linux/sh/get_syscall_args.c @@ -0,0 +1,17 @@ +/* + * Copyright (c) 2015-2020 The strace developers. + * All rights reserved. + * + * SPDX-License-Identifier: LGPL-2.1-or-later + */ + +/* Return -1 on error or 1 on success (never 0!). */ +static int +arch_get_syscall_args(struct tcb *tcp) +{ + static const unsigned int syscall_regs[MAX_ARGS] = { 4, 5, 6, 7, 0, 1 }; + + for (unsigned int i = 0; i < n_args(tcp); ++i) + tcp->u_arg[i] = sh_regs.regs[syscall_regs[i]]; + return 1; +} |