aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2015-03-23 23:14:08 +0000
committerDmitry V. Levin <ldv@altlinux.org>2015-03-24 00:05:43 +0000
commit8e8d7d219ea6e0d9cf014dc3418d80bf5a74016e (patch)
tree7530471714b3a5c594e7eee719529fc0bd2fc804
parenta3c483545a7fb3a075f885a01a3c58b2f84db8fa (diff)
downloadandroid_external_strace-8e8d7d219ea6e0d9cf014dc3418d80bf5a74016e.tar.gz
android_external_strace-8e8d7d219ea6e0d9cf014dc3418d80bf5a74016e.tar.bz2
android_external_strace-8e8d7d219ea6e0d9cf014dc3418d80bf5a74016e.zip
mips: fix pipe syscall decoding
* linux/mips/arch_getrval2.c: New file. * Makefile.am (EXTRA_DIST): Add it. * defs.h [MIPS] (HAVE_GETRVAL2): Define.
-rw-r--r--Makefile.am1
-rw-r--r--defs.h3
-rw-r--r--linux/mips/arch_getrval2.c5
3 files changed, 8 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 04506bce..f97d4feb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -319,6 +319,7 @@ EXTRA_DIST = \
linux/microblaze/print_pc.c \
linux/microblaze/syscallent.h \
linux/microblaze/userent.h \
+ linux/mips/arch_getrval2.c \
linux/mips/arch_regs.c \
linux/mips/arch_regs.h \
linux/mips/arch_sigreturn.c \
diff --git a/defs.h b/defs.h
index 5d2a76eb..6e436821 100644
--- a/defs.h
+++ b/defs.h
@@ -425,7 +425,8 @@ extern int umoven(struct tcb *, long, unsigned int, void *);
extern int umovestr(struct tcb *, long, unsigned int, char *);
extern int upeek(int pid, long, long *);
-#if defined ALPHA || defined IA64 || defined SH || defined SPARC || defined SPARC64
+#if defined ALPHA || defined IA64 || defined MIPS \
+ || defined SH || defined SPARC || defined SPARC64
# define HAVE_GETRVAL2
extern long getrval2(struct tcb *);
#else
diff --git a/linux/mips/arch_getrval2.c b/linux/mips/arch_getrval2.c
new file mode 100644
index 00000000..332f2706
--- /dev/null
+++ b/linux/mips/arch_getrval2.c
@@ -0,0 +1,5 @@
+long
+getrval2(struct tcb *tcp)
+{
+ return mips_regs.uregs[3];
+}