You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
(2) |
2
(4) |
3
(1) |
4
(7) |
5
|
|
6
|
7
(4) |
8
|
9
(3) |
10
(6) |
11
(13) |
12
(6) |
|
13
(1) |
14
|
15
(1) |
16
|
17
(4) |
18
(3) |
19
(5) |
|
20
(5) |
21
(5) |
22
(5) |
23
(6) |
24
|
25
(1) |
26
(1) |
|
27
(1) |
28
(4) |
29
(5) |
30
|
|
|
|
|
From: <sv...@va...> - 2016-11-29 22:54:12
|
Author: philippe
Date: Tue Nov 29 22:54:05 2016
New Revision: 16165
Log:
Update NEWS for the fixing of 358213 helgrind/drd bar_bad testcase hangs or
crashes with new glibc pthread barrier implementation
(this was fixed in revision 16154)
Modified:
trunk/NEWS
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Tue Nov 29 22:54:05 2016
@@ -74,6 +74,8 @@
348616 Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT)
352395 Please provide SVN revision info in --version -v
352767 Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP)
+358213 helgrind/drd bar_bad testcase hangs or crashes with new glibc pthread
+ barrier implementation
371412 Rename wrap_sys_shmat to sys_shmat like other wrappers
371869 support '%' in symbol Z-encoding
371916 execution tree xtree concept
|
|
From: <sv...@va...> - 2016-11-29 22:32:35
|
Author: philippe
Date: Tue Nov 29 22:32:27 2016
New Revision: 16164
Log:
352395 - Please provide SVN revision info in --version -v
Finally committed ... :)
Added:
trunk/auxprogs/make_or_upd_vgversion_h (with props)
Modified:
trunk/Makefile.am
trunk/NEWS
trunk/auxprogs/Makefile.am
trunk/coregrind/m_main.c
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Tue Nov 29 22:32:27 2016
@@ -62,7 +62,7 @@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = valgrind.pc
-BUILT_SOURCES = default.supp valgrind.pc
+BUILT_SOURCES = default.supp vgversion.h valgrind.pc
CLEANFILES = default.supp
default.supp: $(DEFAULT_SUPP_FILES)
@@ -116,10 +116,13 @@
valgrind.spec \
autogen.sh
+dist-hook: vgversion.h
+ cp -p include/vgversion.h $(distdir)/include/vgversion.h
+
dist_noinst_SCRIPTS = \
vg-in-place
-all-local: default.supp
+all-local: default.supp vgversion.h
mkdir -p $(inplacedir)
rm -f $(inplacedir)/default.supp
ln -s ../default.supp $(inplacedir)
@@ -129,3 +132,7 @@
# Need config.h in the installed tree, since some files depend on it
pkginclude_HEADERS = config.h
+
+# vgversion.h defines accurate versions to report with -v --version
+vgversion.h:
+ auxprogs/make_or_upd_vgversion_h
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Tue Nov 29 22:32:27 2016
@@ -72,6 +72,7 @@
where XXXXXX is the bug number as listed below.
348616 Wine/valgrind: noted but unhandled ioctl 0x5390 [..] (DVD_READ_STRUCT)
+352395 Please provide SVN revision info in --version -v
352767 Wine/valgrind: noted but unhandled ioctl 0x5307 [..] (CDROMSTOP)
371412 Rename wrap_sys_shmat to sys_shmat like other wrappers
371869 support '%' in symbol Z-encoding
@@ -81,7 +82,6 @@
372600 process loops forever when fatal signals are arriving quickly
373046 Stacks registered by core are never deregistered
-
Release 3.12.0 (20 October 2016)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: trunk/auxprogs/Makefile.am
==============================================================================
--- trunk/auxprogs/Makefile.am (original)
+++ trunk/auxprogs/Makefile.am Tue Nov 29 22:32:27 2016
@@ -6,6 +6,7 @@
gen-mdg \
gsl16test \
gsl19test \
+ make_or_upd_vgversion_h \
nightly-build-summary \
update-demangler \
posixtestsuite-1.5.1-diff-results
Added: trunk/auxprogs/make_or_upd_vgversion_h
==============================================================================
--- trunk/auxprogs/make_or_upd_vgversion_h (added)
+++ trunk/auxprogs/make_or_upd_vgversion_h Tue Nov 29 22:32:27 2016
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+extract_svn_version()
+{
+ if [ -d "$1"/.svn ]
+ then
+ svnversion -n "$1"
+ elif [ -d "$1"/.git/svn ]
+ then
+ cd "$1" || exit 1
+ git svn info . | grep '^Revision' | cut -d ' ' -f2 | tr -d '\n'
+ else
+ echo "unknown"
+ fi
+}
+
+cat > include/vgversion.h.tmp <<EOF
+/* Do not edit: file generated by auxprogs/make_or_upd_vgversion_h.
+ This file defines VGSVN and VEXSVN, used to report SVN revision
+ when using command line options: -v --version
+*/
+#define VGSVN "$(extract_svn_version .)"
+#define VEXSVN "$(extract_svn_version VEX)"
+EOF
+
+if [ -f include/vgversion.h ]
+then
+ # There is already a vgversion.h.
+ # Update it only if we found a different and real svn version
+ if grep unknown include/vgversion.h.tmp ||
+ cmp -s include/vgversion.h include/vgversion.h.tmp
+ then
+ rm include/vgversion.h.tmp
+ else
+ mv include/vgversion.h.tmp include/vgversion.h
+ fi
+else
+ # There is no vgversion.h. Use the one just generated, whatever it is.
+ mv include/vgversion.h.tmp include/vgversion.h
+fi
Modified: trunk/coregrind/m_main.c
==============================================================================
--- trunk/coregrind/m_main.c (original)
+++ trunk/coregrind/m_main.c Tue Nov 29 22:32:27 2016
@@ -28,6 +28,7 @@
The GNU General Public License is contained in the file COPYING.
*/
+#include "vgversion.h"
#include "pub_core_basics.h"
#include "pub_core_vki.h"
#include "pub_core_vkiscnums.h"
@@ -378,6 +379,7 @@
{
UInt i;
HChar* str;
+ Int need_version = 0;
vg_assert( VG_(args_for_valgrind) );
@@ -387,12 +389,13 @@
str = * (HChar**) VG_(indexXA)( VG_(args_for_valgrind), i );
vg_assert(str);
- // Nb: the version string goes to stdout.
- if VG_XACT_CLO(str, "--version", VG_(log_output_sink).fd, 1) {
- VG_(log_output_sink).is_socket = False;
- VG_(printf)("valgrind-" VERSION "\n");
- VG_(exit)(0);
- }
+ if VG_XACT_CLO(str, "--version", need_version, 1) {}
+ else if (VG_STREQ(str, "-v") ||
+ VG_STREQ(str, "--verbose"))
+ VG_(clo_verbosity)++;
+ else if (VG_STREQ(str, "-q") ||
+ VG_STREQ(str, "--quiet"))
+ VG_(clo_verbosity)--;
else if VG_XACT_CLO(str, "--help", *need_help, *need_help+1) {}
else if VG_XACT_CLO(str, "-h", *need_help, *need_help+1) {}
@@ -421,6 +424,17 @@
VG_(clo_sim_hints)) {}
}
+ if (need_version) {
+ // Nb: the version string goes to stdout.
+ VG_(log_output_sink).fd = 1;
+ VG_(log_output_sink).is_socket = False;
+ if (VG_(clo_verbosity) <= 1)
+ VG_(printf)("valgrind-" VERSION "\n");
+ else
+ VG_(printf)("valgrind-" VERSION "-" VGSVN "-vex-" VEXSVN "\n");
+ VG_(exit)(0);
+ }
+
/* For convenience */
VG_N_THREADS = VG_(clo_max_threads);
}
@@ -557,6 +571,10 @@
else if VG_STREQN(20, arg, "--command-line-only=") {}
else if VG_STREQ( arg, "--") {}
else if VG_STREQ( arg, "-d") {}
+ else if VG_STREQ( arg, "-q") {}
+ else if VG_STREQ( arg, "--quiet") {}
+ else if VG_STREQ( arg, "-v") {}
+ else if VG_STREQ( arg, "--verbose") {}
else if VG_STREQN(17, arg, "--max-stackframe=") {}
else if VG_STREQN(17, arg, "--main-stacksize=") {}
else if VG_STREQN(14, arg, "--max-threads=") {}
@@ -587,15 +605,8 @@
" (or --vex-iropt-register-updates=allregs-at-each-insn)\n");
}
- // These options are new.
- else if (VG_STREQ(arg, "-v") ||
- VG_STREQ(arg, "--verbose"))
- VG_(clo_verbosity)++;
-
- else if (VG_STREQ(arg, "-q") ||
- VG_STREQ(arg, "--quiet"))
- VG_(clo_verbosity)--;
-
+ /* These options are new, not yet handled by
+ early_process_cmd_line_options. */
else if VG_BOOL_CLO(arg, "--sigill-diagnostics", VG_(clo_sigill_diag))
sigill_diag_set = True;
|
|
From: Petar J. <mip...@gm...> - 2016-11-29 15:00:17
|
On Sat, Oct 22, 2016 at 11:08 AM, Marcin Juszkiewicz <mju...@re...> wrote: > If you have access to mips64 machine then can you copy PRE(fadvise64) > from other 64bit arch (amd64, arm64, ppc64, s390x) and test? > > mips64 is the only 64-bit arch in valgrind which is using generic > wrapper for this syscall. And generic one looks like written for 32bit > targets. > Thank you for noticing this. Change committed in r16163. Regards, Petar |
|
From: <sv...@va...> - 2016-11-29 14:57:57
|
Author: petarj
Date: Tue Nov 29 14:57:51 2016
New Revision: 16163
Log:
mips64: fix fadvise64 syscall wrappers
Use platform specific pre-wrapper for fadvise64 system call and respect
size of parameters, instead of using generic wrapper written for 32bit
architectures.
Issue reported by Marcin Juszkiewicz.
Modified:
trunk/coregrind/m_syswrap/syswrap-mips64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-mips64-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips64-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-mips64-linux.c Tue Nov 29 14:57:51 2016
@@ -317,6 +317,7 @@
DECL_TEMPLATE (mips_linux, sys_mmap);
DECL_TEMPLATE (mips_linux, sys_rt_sigreturn);
DECL_TEMPLATE (mips_linux, sys_pipe);
+DECL_TEMPLATE (mips_linux, sys_fadvise64);
PRE(sys_tee)
{
@@ -667,6 +668,13 @@
WRAPPER_POST_NAME(linux, sys_prctl)(tid, arrghs, status);
}
+PRE(sys_fadvise64)
+{
+ PRINT("sys_fadvise64 ( %ld, %ld, %lu, %ld )", SARG1, SARG2, ARG3, SARG4);
+ PRE_REG_READ4(long, "fadvise64",
+ int, fd, vki_loff_t, offset, vki_loff_t, len, int, advice);
+}
+
#undef PRE
#undef POST
@@ -898,7 +906,7 @@
/* LINXY(__NR_fcntl64,sys_fcntl64), */
LINX_ (__NR_set_tid_address, sys_set_tid_address),
LINX_ (__NR_semtimedop, sys_semtimedop),
- LINX_ (__NR_fadvise64, sys_fadvise64),
+ PLAX_ (__NR_fadvise64, sys_fadvise64),
LINXY (__NR_timer_create, sys_timer_create),
LINXY (__NR_timer_settime, sys_timer_settime),
LINXY (__NR_timer_gettime, sys_timer_gettime),
|
|
From: <sv...@va...> - 2016-11-29 14:27:35
|
Author: petarj
Date: Tue Nov 29 14:27:25 2016
New Revision: 16162
Log:
mips32: fix fadvise64 system call
For fadvise64 system call, 7th 32-bit argument slot (third on the stack)
will also be used due to MIPS O32 calling convention in passing 64-bit
values.
sys_fadvise64(int fd, loff_t offset, loff_t len, int advice);
NR_fadvise64 -> v0 (sysno)
fd -> a0 (ARG1)
offset -> a2, a3 (ARG3, ARG4)
len -> SP + 16, SP + 20 (ARG5, ARG6)
advise -> SP + 24 (ARG7)
Change the code according to it.
Patch by Aleksandar Rikalo.
Modified:
trunk/coregrind/m_syswrap/priv_types_n_macros.h
trunk/coregrind/m_syswrap/syswrap-generic.c
trunk/coregrind/m_syswrap/syswrap-linux.c
trunk/coregrind/m_syswrap/syswrap-main.c
trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
Modified: trunk/coregrind/m_syswrap/priv_types_n_macros.h
==============================================================================
--- trunk/coregrind/m_syswrap/priv_types_n_macros.h (original)
+++ trunk/coregrind/m_syswrap/priv_types_n_macros.h Tue Nov 29 14:27:25 2016
@@ -110,7 +110,7 @@
Int o_arg4;
Int s_arg5;
Int s_arg6;
- Int uu_arg7;
+ Int s_arg7;
Int uu_arg8;
# elif defined(VGP_x86_darwin) || defined(VGP_x86_solaris)
Int s_arg1;
@@ -181,16 +181,7 @@
fixed sized table exposed to the caller, but that's too inflexible;
hence now use a function which can do arbitrary messing around to
find the required entry. */
-#if defined(VGP_mips32_linux)
- /* Up to 6 parameters, 4 in registers 2 on stack. */
-# define PRA1(s,t,a) PRRAn(1,s,t,a)
-# define PRA2(s,t,a) PRRAn(2,s,t,a)
-# define PRA3(s,t,a) PRRAn(3,s,t,a)
-# define PRA4(s,t,a) PRRAn(4,s,t,a)
-# define PRA5(s,t,a) PSRAn(5,s,t,a)
-# define PRA6(s,t,a) PSRAn(6,s,t,a)
-#endif
#if defined(VGO_linux)
extern
SyscallTableEntry* ML_(get_linux_syscall_entry)( UInt sysno );
@@ -407,6 +398,7 @@
# define PRA4(s,t,a) PRRAn(4,s,t,a)
# define PRA5(s,t,a) PSRAn(5,s,t,a)
# define PRA6(s,t,a) PSRAn(6,s,t,a)
+# define PRA7(s,t,a) PSRAn(7,s,t,a)
#elif defined(VGO_linux) && !defined(VGP_mips32_linux)
/* Up to 6 parameters, all in registers. */
@@ -637,6 +629,19 @@
#define POST_FIELD_WRITE(zzfield) \
POST_MEM_WRITE((UWord)&zzfield, sizeof(zzfield))
+// Macros to support 64-bit syscall args split into two 32 bit values
+#define LOHI64(lo,hi) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
+#if defined(VG_LITTLEENDIAN)
+#define MERGE64(lo,hi) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
+#define MERGE64_FIRST(name) name##_low
+#define MERGE64_SECOND(name) name##_high
+#elif defined(VG_BIGENDIAN)
+#define MERGE64(hi,lo) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
+#define MERGE64_FIRST(name) name##_high
+#define MERGE64_SECOND(name) name##_low
+#else
+#error Unknown endianness
+#endif
#endif // __PRIV_TYPES_N_MACROS_H
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c Tue Nov 29 14:27:25 2016
@@ -2429,19 +2429,6 @@
#define PRE(name) DEFN_PRE_TEMPLATE(generic, name)
#define POST(name) DEFN_POST_TEMPLATE(generic, name)
-// Macros to support 64-bit syscall args split into two 32 bit values
-#if defined(VG_LITTLEENDIAN)
-#define MERGE64(lo,hi) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
-#define MERGE64_FIRST(name) name##_low
-#define MERGE64_SECOND(name) name##_high
-#elif defined(VG_BIGENDIAN)
-#define MERGE64(hi,lo) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
-#define MERGE64_FIRST(name) name##_high
-#define MERGE64_SECOND(name) name##_low
-#else
-#error Unknown endianness
-#endif
-
PRE(sys_exit)
{
ThreadState* tst;
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c Tue Nov 29 14:27:25 2016
@@ -519,20 +519,6 @@
#define PRE(name) DEFN_PRE_TEMPLATE(linux, name)
#define POST(name) DEFN_POST_TEMPLATE(linux, name)
-// Macros to support 64-bit syscall args split into two 32 bit values
-#define LOHI64(lo,hi) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
-#if defined(VG_LITTLEENDIAN)
-#define MERGE64(lo,hi) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
-#define MERGE64_FIRST(name) name##_low
-#define MERGE64_SECOND(name) name##_high
-#elif defined(VG_BIGENDIAN)
-#define MERGE64(hi,lo) ( ((ULong)(lo)) | (((ULong)(hi)) << 32) )
-#define MERGE64_FIRST(name) name##_high
-#define MERGE64_SECOND(name) name##_low
-#else
-#error Unknown endianness
-#endif
-
/* ---------------------------------------------------------------------
*mount wrappers
------------------------------------------------------------------ */
Modified: trunk/coregrind/m_syswrap/syswrap-main.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-main.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-main.c Tue Nov 29 14:27:25 2016
@@ -549,8 +549,9 @@
canonical->arg2 = gst->guest_r5; // a1
canonical->arg3 = gst->guest_r6; // a2
canonical->arg4 = gst->guest_r7; // a3
- canonical->arg5 = *((UInt*) (gst->guest_r29 + 16)); // 16(guest_SP/sp)
- canonical->arg6 = *((UInt*) (gst->guest_r29 + 20)); // 20(sp)
+ canonical->arg5 = *((UInt*) (gst->guest_r29 + 16)); // 16(guest_SP)
+ canonical->arg6 = *((UInt*) (gst->guest_r29 + 20)); // 20(guest_SP)
+ canonical->arg7 = *((UInt*) (gst->guest_r29 + 24)); // 24(guest_SP)
canonical->arg8 = 0;
} else {
// Fixme hack handle syscall()
@@ -1490,7 +1491,7 @@
layout->o_arg4 = OFFSET_mips32_r7;
layout->s_arg5 = sizeof(UWord) * 4;
layout->s_arg6 = sizeof(UWord) * 5;
- layout->uu_arg7 = -1; /* impossible value */
+ layout->s_arg7 = sizeof(UWord) * 6;
layout->uu_arg8 = -1; /* impossible value */
#elif defined(VGP_mips64_linux)
Modified: trunk/coregrind/m_syswrap/syswrap-mips32-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-mips32-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-mips32-linux.c Tue Nov 29 14:27:25 2016
@@ -518,6 +518,7 @@
DECL_TEMPLATE (mips_linux, sys_mmap2);
DECL_TEMPLATE (mips_linux, sys_stat64);
DECL_TEMPLATE (mips_linux, sys_lstat64);
+DECL_TEMPLATE (mips_linux, sys_fadvise64);
DECL_TEMPLATE (mips_linux, sys_fstatat64);
DECL_TEMPLATE (mips_linux, sys_fstat64);
DECL_TEMPLATE (mips_linux, sys_clone);
@@ -590,6 +591,22 @@
POST_MEM_WRITE (ARG2, sizeof (struct vki_stat64));
}
+PRE(sys_fadvise64)
+{
+ PRINT("sys_fadvise64 ( %ld, %llu, %llu, %ld )",
+ SARG1, MERGE64(ARG3,ARG4), MERGE64(ARG5, ARG6), SARG7);
+
+ if (VG_(tdict).track_pre_reg_read) {
+ PRRSN;
+ PRA1("fadvise64", int, fd);
+ PRA3("fadvise64", vki_u32, MERGE64_FIRST(offset));
+ PRA4("fadvise64", vki_u32, MERGE64_SECOND(offset));
+ PRA5("fadvise64", vki_u32, MERGE64_FIRST(len));
+ PRA6("fadvise64", vki_u32, MERGE64_SECOND(len));
+ PRA7("fadvise64", int, advice);
+ }
+}
+
PRE(sys_fstatat64)
{
// ARG4 = int flags; Flags are or'ed together, therefore writing them
@@ -1101,7 +1118,7 @@
LINXY (__NR_epoll_wait, sys_epoll_wait), // 250
//..
LINX_ (__NR_set_tid_address, sys_set_tid_address), // 252
- LINX_ (__NR_fadvise64, sys_fadvise64), // 254
+ PLAX_ (__NR_fadvise64, sys_fadvise64), // 254
GENXY (__NR_statfs64, sys_statfs64), // 255
GENXY (__NR_fstatfs64, sys_fstatfs64), // 256
//..
|