|
From: <sv...@va...> - 2015-11-19 09:34:37
|
Author: iraisr
Date: Thu Nov 19 09:34:29 2015
New Revision: 15732
Log:
Solaris syscall: Fix pset(getloadavg).
The buffer holds integers, not doubles.
n-i-bz
Modified:
trunk/coregrind/m_syswrap/syswrap-solaris.c
trunk/memcheck/tests/solaris/scalar.stderr.exp
Modified: trunk/coregrind/m_syswrap/syswrap-solaris.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-solaris.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-solaris.c Thu Nov 19 09:34:29 2015
@@ -9246,9 +9246,9 @@
int nelem); */
PRINT("sys_pset ( %ld, %ld, %#lx, %ld )", SARG1, SARG2, ARG3, SARG4);
PRE_REG_READ4(long, SC2("pset", "getloadavg"), int, subcode,
- vki_psetid_t, pset, double, loadavg[], int, nelem);
+ vki_psetid_t, pset, int *, buf, int, nelem);
if (ARG3 != 0)
- PRE_MEM_WRITE("pset(loadavg)", ARG3, SARG4 * sizeof(double));
+ PRE_MEM_WRITE("pset(buf)", ARG3, SARG4 * sizeof(int));
break;
case VKI_PSET_LIST:
/* Libc: int pset_list(psetid_t *psetlist, uint_t *numpsets); */
@@ -9341,7 +9341,7 @@
break;
case VKI_PSET_GETLOADAVG:
if (ARG3 != 0)
- POST_MEM_WRITE(ARG3, MIN(SARG4, VKI_LOADAVG_NSTATS) * sizeof(double));
+ POST_MEM_WRITE(ARG3, MIN(SARG4, VKI_LOADAVG_NSTATS) * sizeof(int));
break;
case VKI_PSET_LIST:
if (ARG3 != 0)
Modified: trunk/memcheck/tests/solaris/scalar.stderr.exp
==============================================================================
--- trunk/memcheck/tests/solaris/scalar.stderr.exp (original)
+++ trunk/memcheck/tests/solaris/scalar.stderr.exp Thu Nov 19 09:34:29 2015
@@ -4338,13 +4338,13 @@
Syscall param pset_getloadavg(pset) contains uninitialised byte(s)
...
-Syscall param pset_getloadavg(loadavg[]) contains uninitialised byte(s)
+Syscall param pset_getloadavg(buf) contains uninitialised byte(s)
...
Syscall param pset_getloadavg(nelem) contains uninitialised byte(s)
...
-Syscall param pset(loadavg) points to unaddressable byte(s)
+Syscall param pset(buf) points to unaddressable byte(s)
...
Address 0x........ is not stack'd, malloc'd or (recently) free'd
|