Fixes BZ#376455.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16225
The GNU General Public License is contained in the file COPYING.
*/
-/* Copyright 2013-2016, Ivo Raisr <ivosh@ivosh.net>. */
+/* Copyright 2013-2017, Ivo Raisr <ivosh@ivosh.net>. */
/* Copyright 2015-2015, Tomas Jedlicka <jedlickat@gmail.com>. */
(Addr) minfo->mi_validity, SARG2 * sizeof(vki_uint_t));
}
break;
+ case VKI_LGRP_SYS_GENERATION:
+ /* Liblgrp: lgrp_gen_t lgrp_generation(lgrp_view_t view); */
+ PRINT("sys_lgrpsys ( %ld, %ld )", SARG1, SARG2);
+ PRE_REG_READ2(long, SC2("lgrpsys", "generation"), int, subcode,
+ vki_lgrp_view_t, view);
+ break;
+ case VKI_LGRP_SYS_VERSION:
+ /* Liblgrp: int lgrp_version(int version); */
+ PRINT("sys_lgrpsys ( %ld, %ld )", SARG1, SARG2);
+ PRE_REG_READ2(long, SC2("lgrpsys", "version"), int, subcode,
+ int, version);
+ break;
+ case VKI_LGRP_SYS_SNAPSHOT:
+ /* Liblgrp: int lgrp_snapshot(void *buf, size_t bufsize); */
+ PRINT("sys_lgrpsys ( %ld, %lu, %#lx )", SARG1, ARG2, ARG3);
+ PRE_REG_READ3(long, SC2("lgrpsys", "snapshot"), int, subcode,
+ vki_size_t, bufsize, void *, buf);
+ PRE_MEM_WRITE("lgrpsys(buf)", ARG3, ARG2);
+ break;
default:
VG_(unimplemented)("Syswrap of the lgrpsys call with subcode %ld.",
SARG1);
POST_MEM_WRITE((Addr) minfo->mi_validity, SARG2 * sizeof(vki_uint_t));
}
break;
+ case VKI_LGRP_SYS_GENERATION:
+ case VKI_LGRP_SYS_VERSION:
+ break;
+ case VKI_LGRP_SYS_SNAPSHOT:
+ POST_MEM_WRITE(ARG3, RES);
+ break;
default:
vg_assert(0);
break;
#define vki_semid64_ds semid_ds64
+#include <sys/lgrp_user.h>
+#define vki_lgrp_view_t lgrp_view_t
+
+
#include <sys/lgrp_user_impl.h>
#define VKI_LGRP_SYS_MEMINFO LGRP_SYS_MEMINFO
#define VKI_LGRP_SYS_GENERATION LGRP_SYS_GENERATION
SY(SYS_lgrpsys, x0 + LGRP_SYS_MEMINFO, x0 + 1, x0 + &minfo); FAIL;
}
+__attribute__((noinline))
+static void sys_lgrpsys4(void)
+{
+ GO(SYS_lgrpsys, "(LGRP_SYS_GENERATION) 2s 0m");
+ SY(SYS_lgrpsys, x0 + LGRP_SYS_GENERATION, x0 + 0); SUCC;
+}
+
+__attribute__((noinline))
+static void sys_lgrpsys5(void)
+{
+ GO(SYS_lgrpsys, "(LGRP_SYS_VERSION) 2s 0m");
+ SY(SYS_lgrpsys, x0 + LGRP_SYS_VERSION, x0 + 0); SUCC;
+}
+
+__attribute__((noinline))
+static void sys_lgrpsys6(void)
+{
+ GO(SYS_lgrpsys, "(LGRP_SYS_SNAPSHOT) 3s 1m");
+ SY(SYS_lgrpsys, x0 + LGRP_SYS_SNAPSHOT, x0 + 10, x0 + 1); FAIL;
+}
+
__attribute__((noinline))
static void sys_rusagesys(void)
{
sys_lgrpsys();
sys_lgrpsys2();
sys_lgrpsys3();
+ sys_lgrpsys4();
+ sys_lgrpsys5();
+ sys_lgrpsys6();
/* SYS_rusagesys 181 */
sys_rusagesys();
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
+---------------------------------------------------------
+180: SYS_lgrpsys (LGRP_SYS_GENERATION) 2s 0m
+---------------------------------------------------------
+Syscall param lgrpsys_generation(subcode) contains uninitialised byte(s)
+ ...
+
+Syscall param lgrpsys_generation(view) contains uninitialised byte(s)
+ ...
+
+---------------------------------------------------------
+180: SYS_lgrpsys (LGRP_SYS_VERSION) 2s 0m
+---------------------------------------------------------
+Syscall param lgrpsys_version(subcode) contains uninitialised byte(s)
+ ...
+
+Syscall param lgrpsys_version(version) contains uninitialised byte(s)
+ ...
+
+---------------------------------------------------------
+180: SYS_lgrpsys (LGRP_SYS_SNAPSHOT) 3s 1m
+---------------------------------------------------------
+Syscall param lgrpsys_snapshot(subcode) contains uninitialised byte(s)
+ ...
+
+Syscall param lgrpsys_snapshot(bufsize) contains uninitialised byte(s)
+ ...
+
+Syscall param lgrpsys_snapshot(buf) contains uninitialised byte(s)
+ ...
+
+Syscall param lgrpsys(buf) points to unaddressable byte(s)
+ ...
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
---------------------------------------------------------
181: SYS_rusagesys (_RUSAGESYS_GETRUSAGE) 2s 1m
---------------------------------------------------------