From: Petar Jovanovic Date: Wed, 14 Aug 2019 15:27:25 +0000 (+0000) Subject: mips: hook up tee syscall correctly X-Git-Tag: VALGRIND_3_16_0~240 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=04614dae3b3e9d0ba25ed8f12fd930f758a98119;p=thirdparty%2Fvalgrind.git mips: hook up tee syscall correctly Hook up sys_tee for mips32 and mips64 correctly. For mips64, it is just a simplification to use generic linux implementation. This fixes tee01 test in the LTP test suite for mips32. --- diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c index fe58d0925a..606b9e2539 100644 --- a/coregrind/m_syswrap/syswrap-mips32-linux.c +++ b/coregrind/m_syswrap/syswrap-mips32-linux.c @@ -1062,6 +1062,7 @@ static SyscallTableEntry syscall_main_table[] = { //.. LINX_ (__NR_splice, sys_splice), // 304 PLAX_ (__NR_sync_file_range, sys_sync_file_range), // 305 + LINX_ (__NR_tee, sys_tee), // 306 //.. LINX_ (__NR_set_robust_list, sys_set_robust_list), // 309 LINXY (__NR_get_robust_list, sys_get_robust_list), // 310 diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c index 0af43a7b7c..d0bb3cdf17 100644 --- a/coregrind/m_syswrap/syswrap-mips64-linux.c +++ b/coregrind/m_syswrap/syswrap-mips64-linux.c @@ -216,7 +216,6 @@ SysRes sys_set_tls ( ThreadId tid, Addr tlsptr ) file, but that requires even more macro magic. */ DECL_TEMPLATE (mips_linux, sys_set_thread_area); -DECL_TEMPLATE (mips_linux, sys_tee); DECL_TEMPLATE (mips_linux, sys_vmsplice); DECL_TEMPLATE (mips_linux, sys_ustat); DECL_TEMPLATE (mips_linux, sys_sysfs); @@ -235,14 +234,6 @@ DECL_TEMPLATE (mips_linux, sys_rt_sigreturn); DECL_TEMPLATE (mips_linux, sys_pipe); DECL_TEMPLATE (mips_linux, sys_fadvise64); -PRE(sys_tee) -{ - PRINT("sys_tee ( %ld, %ld, %" FMT_REGWORD "u, %#" FMT_REGWORD "x )", - SARG1, SARG2, ARG3, ARG4); - PRE_REG_READ4(long, "sys_tee", int, fdin, int, fdout, vki_size_t, len, - int, flags); -} - PRE(sys_vmsplice) { PRINT("sys_vmsplice ( %ld, %#" FMT_REGWORD "x, %" FMT_REGWORD "u, %ld )", @@ -796,7 +787,7 @@ static SyscallTableEntry syscall_main_table[] = { PLAX_ (__NR_unshare, sys_unshare), LINX_ (__NR_splice, sys_splice), LINX_ (__NR_sync_file_range, sys_sync_file_range), - PLAX_ (__NR_tee, sys_tee), + LINX_ (__NR_tee, sys_tee), PLAX_ (__NR_vmsplice, sys_vmsplice), LINX_ (__NR_set_robust_list, sys_set_robust_list), LINXY (__NR_get_robust_list, sys_get_robust_list),