|
From: <sv...@va...> - 2006-02-01 14:59:52
|
Author: sewardj
Date: 2006-02-01 14:59:42 +0000 (Wed, 01 Feb 2006)
New Revision: 5603
Log:
Change the number of client request args from 4 to 5 as that may
be useful in future.
Modified:
trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
trunk/coregrind/pub_core_clreq.h
trunk/coregrind/vg_preloaded.c
trunk/include/valgrind.h
trunk/memcheck/mac_replace_strmem.c
trunk/memcheck/memcheck.h
Modified: trunk/coregrind/m_replacemalloc/vg_replace_malloc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2006-01-29 18:18:=
18 UTC (rev 5602)
+++ trunk/coregrind/m_replacemalloc/vg_replace_malloc.c 2006-02-01 14:59:=
42 UTC (rev 5603)
@@ -442,7 +442,7 @@
init_done =3D 1;
=20
VALGRIND_DO_CLIENT_REQUEST(res, -1, VG_USERREQ__GET_MALLOCFUNCS, &inf=
o,
- 0, 0, 0);
+ 0, 0, 0, 0);
}
=20
/*--------------------------------------------------------------------*/
Modified: trunk/coregrind/pub_core_clreq.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/pub_core_clreq.h 2006-01-29 18:18:18 UTC (rev 5602)
+++ trunk/coregrind/pub_core_clreq.h 2006-02-01 14:59:42 UTC (rev 5603)
@@ -66,7 +66,7 @@
va_start(vargs, format);
VALGRIND_DO_CLIENT_REQUEST(
_qzz_res, 0, VG_USERREQ__INTERNAL_PRINTF,
- (unsigned long)format, (unsigned long)vargs, 0, 0
+ (unsigned long)format, (unsigned long)vargs, 0, 0, 0
);
va_end(vargs);
return _qzz_res;
Modified: trunk/coregrind/vg_preloaded.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/vg_preloaded.c 2006-01-29 18:18:18 UTC (rev 5602)
+++ trunk/coregrind/vg_preloaded.c 2006-02-01 14:59:42 UTC (rev 5603)
@@ -60,7 +60,8 @@
__libc_freeres();
#endif
VALGRIND_DO_CLIENT_REQUEST(res, 0 /* default */,
- VG_USERREQ__LIBC_FREERES_DONE, 0, 0, 0, 0)=
;
+ VG_USERREQ__LIBC_FREERES_DONE,=20
+ 0, 0, 0, 0, 0);
/*NOTREACHED*/
*(int *)0 =3D 'x';
}
Modified: trunk/include/valgrind.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/include/valgrind.h 2006-01-29 18:18:18 UTC (rev 5602)
+++ trunk/include/valgrind.h 2006-02-01 14:59:42 UTC (rev 5603)
@@ -121,7 +121,7 @@
assert()) */
#define VALGRIND_DO_CLIENT_REQUEST( \
_zzq_rlval, _zzq_default, _zzq_request, \
- _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
{ \
(_zzq_rlval) =3D (_zzq_default); \
}
@@ -140,13 +140,13 @@
value gets put in the return slot, so that everything works when
this is executed not under Valgrind. Args are passed in a memory
block, and so there's no intrinsic limit to the number that could
- be passed, but it's currently four.
+ be passed, but it's currently five.
=20
The macro args are:=20
_zzq_rlval result lvalue
_zzq_default default value (result returned when running on real =
CPU)
_zzq_request request code
- _zzq_arg1..4 request params
+ _zzq_arg1..5 request params
=20
The other two macros are used to support function wrapping, and are
a lot simpler. VALGRIND_GET_NR_CONTEXT returns the value of the
@@ -179,14 +179,15 @@
=20
#define VALGRIND_DO_CLIENT_REQUEST( \
_zzq_rlval, _zzq_default, _zzq_request, \
- _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
- { volatile unsigned int _zzq_args[5]; \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
+ { volatile unsigned int _zzq_args[6]; \
volatile unsigned int _zzq_result; \
_zzq_args[0] =3D (unsigned int)(_zzq_request); \
_zzq_args[1] =3D (unsigned int)(_zzq_arg1); \
_zzq_args[2] =3D (unsigned int)(_zzq_arg2); \
_zzq_args[3] =3D (unsigned int)(_zzq_arg3); \
_zzq_args[4] =3D (unsigned int)(_zzq_arg4); \
+ _zzq_args[5] =3D (unsigned int)(_zzq_arg5); \
__asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE \
/* %EDX =3D client_request ( %EAX ) */ \
"xchgl %%ebx,%%ebx" \
@@ -232,14 +233,15 @@
=20
#define VALGRIND_DO_CLIENT_REQUEST( \
_zzq_rlval, _zzq_default, _zzq_request, \
- _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
- { volatile unsigned long long int _zzq_args[5]; \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
+ { volatile unsigned long long int _zzq_args[6]; \
volatile unsigned long long int _zzq_result; \
_zzq_args[0] =3D (unsigned long long int)(_zzq_request); \
_zzq_args[1] =3D (unsigned long long int)(_zzq_arg1); \
_zzq_args[2] =3D (unsigned long long int)(_zzq_arg2); \
_zzq_args[3] =3D (unsigned long long int)(_zzq_arg3); \
_zzq_args[4] =3D (unsigned long long int)(_zzq_arg4); \
+ _zzq_args[5] =3D (unsigned long long int)(_zzq_arg5); \
__asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE \
/* %RDX =3D client_request ( %RAX ) */ \
"xchgq %%rbx,%%rbx" \
@@ -285,9 +287,9 @@
=20
#define VALGRIND_DO_CLIENT_REQUEST( \
_zzq_rlval, _zzq_default, _zzq_request, \
- _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
\
- { unsigned int _zzq_args[5]; \
+ { unsigned int _zzq_args[6]; \
register unsigned int _zzq_result __asm__("r3"); \
register unsigned int* _zzq_ptr __asm__("r4"); \
_zzq_args[0] =3D (unsigned int)(_zzq_request); \
@@ -295,6 +297,7 @@
_zzq_args[2] =3D (unsigned int)(_zzq_arg2); \
_zzq_args[3] =3D (unsigned int)(_zzq_arg3); \
_zzq_args[4] =3D (unsigned int)(_zzq_arg4); \
+ _zzq_args[5] =3D (unsigned int)(_zzq_arg5); \
_zzq_ptr =3D _zzq_args; \
__asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE \
/* %R3 =3D client_request ( %R4 ) */ \
@@ -341,9 +344,9 @@
=20
#define VALGRIND_DO_CLIENT_REQUEST( \
_zzq_rlval, _zzq_default, _zzq_request, \
- _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4) \
+ _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5) \
\
- { unsigned long long int _zzq_args[5]; \
+ { unsigned long long int _zzq_args[6]; \
register unsigned long long int _zzq_result __asm__("r3"); \
register unsigned long long int* _zzq_ptr __asm__("r4"); \
_zzq_args[0] =3D (unsigned long long int)(_zzq_request); \
@@ -351,6 +354,7 @@
_zzq_args[2] =3D (unsigned long long int)(_zzq_arg2); \
_zzq_args[3] =3D (unsigned long long int)(_zzq_arg3); \
_zzq_args[4] =3D (unsigned long long int)(_zzq_arg4); \
+ _zzq_args[5] =3D (unsigned long long int)(_zzq_arg5); \
_zzq_ptr =3D _zzq_args; \
__asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE \
/* %R3 =3D client_request ( %R4 ) */ \
@@ -1017,7 +1021,7 @@
({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* if not */, \
VG_USERREQ__RUNNING_ON_VALGRIND, \
- 0, 0, 0, 0); \
+ 0, 0, 0, 0, 0); \
_qzz_res; \
})
=20
@@ -1030,7 +1034,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__DISCARD_TRANSLATIONS, \
- _qzz_addr, _qzz_len, 0, 0); \
+ _qzz_addr, _qzz_len, 0, 0, 0); \
}
=20
=20
@@ -1054,7 +1058,8 @@
va_list vargs;
va_start(vargs, format);
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, VG_USERREQ__PRINTF,
- (unsigned long)format, (unsigned long)vargs, =
0, 0);
+ (unsigned long)format, (unsigned long)varg=
s,=20
+ 0, 0, 0);
va_end(vargs);
return (int)_qzz_res;
}
@@ -1069,7 +1074,8 @@
va_list vargs;
va_start(vargs, format);
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, VG_USERREQ__PRINTF_BACKTRACE,
- (unsigned long)format, (unsigned long)vargs, =
0, 0);
+ (unsigned long)format, (unsigned long)varg=
s,=20
+ 0, 0, 0);
va_end(vargs);
return (int)_qzz_res;
}
@@ -1084,7 +1090,7 @@
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
VG_USERREQ__CLIENT_CALL0, \
_qyy_fn, \
- 0, 0, 0); \
+ 0, 0, 0, 0); \
_qyy_res; \
})
=20
@@ -1093,7 +1099,7 @@
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
VG_USERREQ__CLIENT_CALL1, \
_qyy_fn, \
- _qyy_arg1, 0, 0); \
+ _qyy_arg1, 0, 0, 0); \
_qyy_res; \
})
=20
@@ -1102,7 +1108,7 @@
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
VG_USERREQ__CLIENT_CALL2, \
_qyy_fn, \
- _qyy_arg1, _qyy_arg2, 0); \
+ _qyy_arg1, _qyy_arg2, 0, 0); \
_qyy_res; \
})
=20
@@ -1111,7 +1117,8 @@
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
VG_USERREQ__CLIENT_CALL3, \
_qyy_fn, \
- _qyy_arg1, _qyy_arg2, _qyy_arg3); \
+ _qyy_arg1, _qyy_arg2, \
+ _qyy_arg3, 0); \
_qyy_res; \
})
=20
@@ -1123,7 +1130,7 @@
({unsigned int _qyy_res; \
VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \
VG_USERREQ__COUNT_ERRORS, \
- 0, 0, 0, 0); \
+ 0, 0, 0, 0, 0); \
_qyy_res; \
})
=20
@@ -1151,7 +1158,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__MALLOCLIKE_BLOCK, \
- addr, sizeB, rzB, is_zeroed); \
+ addr, sizeB, rzB, is_zeroed, 0); \
}
=20
/* Mark a block of memory as having been freed by a free()-like function=
.
@@ -1162,7 +1169,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__FREELIKE_BLOCK, \
- addr, rzB, 0, 0); \
+ addr, rzB, 0, 0, 0); \
}
=20
/* Create a memory pool. */
@@ -1170,7 +1177,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__CREATE_MEMPOOL, \
- pool, rzB, is_zeroed, 0); \
+ pool, rzB, is_zeroed, 0, 0); \
}
=20
/* Destroy a memory pool. */
@@ -1178,7 +1185,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__DESTROY_MEMPOOL, \
- pool, 0, 0, 0); \
+ pool, 0, 0, 0, 0); \
}
=20
/* Associate a piece of memory with a memory pool. */
@@ -1186,7 +1193,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__MEMPOOL_ALLOC, \
- pool, addr, size, 0); \
+ pool, addr, size, 0, 0); \
}
=20
/* Disassociate a piece of memory from a memory pool. */
@@ -1194,7 +1201,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__MEMPOOL_FREE, \
- pool, addr, 0, 0); \
+ pool, addr, 0, 0, 0); \
}
=20
/* Mark a piece of memory as being a stack. Returns a stack id. */
@@ -1202,7 +1209,7 @@
({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__STACK_REGISTER, \
- start, end, 0, 0); \
+ start, end, 0, 0, 0); \
_qzz_res; \
})
=20
@@ -1212,7 +1219,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__STACK_DEREGISTER, \
- id, 0, 0, 0); \
+ id, 0, 0, 0, 0); \
}
=20
/* Change the start and end address of the stack id. */
@@ -1220,7 +1227,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__STACK_CHANGE, \
- id, start, end, 0); \
+ id, start, end, 0, 0); \
}
=20
=20
Modified: trunk/memcheck/mac_replace_strmem.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mac_replace_strmem.c 2006-01-29 18:18:18 UTC (rev 5602=
)
+++ trunk/memcheck/mac_replace_strmem.c 2006-02-01 14:59:42 UTC (rev 5603=
)
@@ -94,7 +94,7 @@
Word unused_res; \
VALGRIND_DO_CLIENT_REQUEST(unused_res, 0, \
_VG_USERREQ__MEMCHECK_RECORD_OVERLAP_ERROR, \
- s, p_extra, 0, 0); \
+ s, p_extra, 0, 0, 0); \
}
=20
static __inline__
Modified: trunk/memcheck/memcheck.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/memcheck.h 2006-01-29 18:18:18 UTC (rev 5602)
+++ trunk/memcheck/memcheck.h 2006-02-01 14:59:42 UTC (rev 5603)
@@ -101,7 +101,7 @@
(__extension__({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* default return */, \
VG_USERREQ__MAKE_NOACCESS, \
- _qzz_addr, _qzz_len, 0, 0); \
+ _qzz_addr, _qzz_len, 0, 0, 0); \
_qzz_res; \
}))
=20
@@ -111,7 +111,7 @@
(__extension__({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* default return */, \
VG_USERREQ__MAKE_WRITABLE, \
- _qzz_addr, _qzz_len, 0, 0); \
+ _qzz_addr, _qzz_len, 0, 0, 0); \
_qzz_res; \
}))
=20
@@ -121,7 +121,7 @@
(__extension__({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* default return */, \
VG_USERREQ__MAKE_READABLE, \
- _qzz_addr, _qzz_len, 0, 0); \
+ _qzz_addr, _qzz_len, 0, 0, 0); \
_qzz_res; \
}))
=20
@@ -133,7 +133,8 @@
(__extension__({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* default return */, \
VG_USERREQ__CREATE_BLOCK, \
- _qzz_addr, _qzz_len, _qzz_desc, 0); \
+ _qzz_addr, _qzz_len, _qzz_desc, \
+ 0, 0); \
_qzz_res; \
}))
=20
@@ -143,7 +144,7 @@
(__extension__ ({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* default return */, \
VG_USERREQ__DISCARD, \
- 0, _qzz_blkindex, 0, 0); \
+ 0, _qzz_blkindex, 0, 0, 0); \
_qzz_res; \
}))
=20
@@ -158,7 +159,7 @@
(__extension__({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__CHECK_WRITABLE, \
- _qzz_addr, _qzz_len, 0, 0); \
+ _qzz_addr, _qzz_len, 0, 0, 0); \
_qzz_res; \
}))
=20
@@ -170,7 +171,7 @@
(__extension__({unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__CHECK_READABLE, \
- _qzz_addr, _qzz_len, 0, 0); \
+ _qzz_addr, _qzz_len, 0, 0, 0); \
_qzz_res; \
}))
=20
@@ -189,7 +190,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__DO_LEAK_CHECK, \
- 0, 0, 0, 0); \
+ 0, 0, 0, 0, 0); \
}
=20
/* Just display summaries of leaked memory, rather than all the
@@ -198,7 +199,7 @@
{unsigned int _qzz_res; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__DO_LEAK_CHECK, \
- 1, 0, 0, 0); \
+ 1, 0, 0, 0, 0); \
}
=20
/* Return number of leaked, dubious, reachable and suppressed bytes foun=
d by
@@ -207,7 +208,8 @@
{unsigned int _qzz_res; =
\
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, =
\
VG_USERREQ__COUNT_LEAKS, =
\
- &leaked, &dubious, &reachable, &suppressed);=
\
+ &leaked, &dubious, &reachable, &suppressed, =
\
+ 0); =
\
}
=20
=20
@@ -227,7 +229,7 @@
char* czzvbits =3D (char*)zzvbits; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__GET_VBITS, \
- czzsrc, czzvbits, zznbytes,0 ); \
+ czzsrc, czzvbits, zznbytes, 0, 0); \
_qzz_res; \
}))
=20
@@ -247,7 +249,7 @@
char* czzvbits =3D (char*)zzvbits; \
VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \
VG_USERREQ__SET_VBITS, \
- czzdst, czzvbits, zznbytes,0 ); \
+ czzdst, czzvbits, zznbytes, 0, 0); \
_qzz_res; \
}))
=20
|