aboutsummaryrefslogtreecommitdiff
path: root/linux/mips
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2015-11-29 00:06:45 +0000
committerDmitry V. Levin <ldv@altlinux.org>2015-11-29 00:06:45 +0000
commit0c8c5c9f4e2a71e3a34110c47026f577bf483a52 (patch)
tree4eb4157ef3000a02acd32625e167d4f69237f233 /linux/mips
parent527b42ff8da3f52fa7c48eb766b2b57fb0f0b977 (diff)
downloadstrace-0c8c5c9f4e2a71e3a34110c47026f577bf483a52.tar.gz
cleanup: make get_error.c files more readable
Make get_error.c files more self-sustained. While they are still being included by syscall.c, the latter no longer defines get_error function. * linux/aarch64/get_error.c: Include "arm/get_error.c" with get_error temporarily defined to arm_get_error. (get_error): Define. * linux/alpha/get_error.c (get_error): Define. * linux/arc/get_error.c: Likewise. * linux/arm/get_error.c: Likewise. * linux/avr32/get_error.c: Likewise. * linux/bfin/get_error.c: Likewise. * linux/crisv10/get_error.c: Likewise. * linux/hppa/get_error.c: Likewise. * linux/i386/get_error.c: Likewise. * linux/ia64/get_error.c: Likewise. * linux/m68k/get_error.c: Likewise. * linux/metag/get_error.c: Likewise. * linux/microblaze/get_error.c: Likewise. * linux/mips/get_error.c: Likewise. * linux/nios2/get_error.c: Likewise. * linux/or1k/get_error.c: Likewise. * linux/powerpc/get_error.c: Likewise. * linux/s390/get_error.c: Likewise. * linux/sh/get_error.c: Likewise. * linux/sh64/get_error.c: Likewise. * linux/sparc/get_error.c: Likewise. * linux/sparc64/get_error.c: Likewise. * linux/tile/get_error.c: Likewise. * linux/x86_64/get_error.c: Likewise. * linux/xtensa/get_error.c: Likewise. * syscall.c: Include "get_error.c" in file scope. (get_error): Remove. Move arch independent code ... (get_syscall_result): ... here. Update get_error invocation. Requested-by: Denys Vlasenko <dvlasenk@redhat.com>
Diffstat (limited to 'linux/mips')
-rw-r--r--linux/mips/get_error.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/linux/mips/get_error.c b/linux/mips/get_error.c
index e934af08..e58055e1 100644
--- a/linux/mips/get_error.c
+++ b/linux/mips/get_error.c
@@ -1,9 +1,14 @@
-if (check_errno && mips_REG_A3) {
- tcp->u_rval = -1;
- tcp->u_error = mips_REG_V0;
-} else {
-# if defined LINUX_MIPSN32
- tcp->u_lrval = mips_REG_V0;
-# endif
- tcp->u_rval = mips_REG_V0;
+static void
+get_error(struct tcb *tcp, const bool check_errno)
+{
+ if (check_errno && mips_REG_A3) {
+ tcp->u_rval = -1;
+ tcp->u_error = mips_REG_V0;
+ } else {
+ tcp->u_rval = mips_REG_V0;
+#ifdef LINUX_MIPSN32
+ /* tcp->u_rval contains a truncated value */
+ tcp->u_lrval = mips_REG_V0;
+#endif
+ }
}