]> granicus.if.org Git - strace/commitdiff
mips: fix pipe syscall decoding
authorDmitry V. Levin <ldv@altlinux.org>
Mon, 23 Mar 2015 23:14:08 +0000 (23:14 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 24 Mar 2015 00:05:43 +0000 (00:05 +0000)
* linux/mips/arch_getrval2.c: New file.
* Makefile.am (EXTRA_DIST): Add it.
* defs.h [MIPS] (HAVE_GETRVAL2): Define.

Makefile.am
defs.h
linux/mips/arch_getrval2.c [new file with mode: 0644]

index 04506bce1cb1cd2bc5788cb88f27cd774811804d..f97d4feb65f7be5a11e5f4f99841d3583af63fe4 100644 (file)
@@ -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 5d2a76eb229d002effa25d38dbae1388f10b979c..6e4368219f2b67c3d7e549a940d04b80c7965b23 100644 (file)
--- 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 (file)
index 0000000..332f270
--- /dev/null
@@ -0,0 +1,5 @@
+long
+getrval2(struct tcb *tcp)
+{
+       return mips_regs.uregs[3];
+}