V8 Project
valgrind.h File Reference
#include <stdarg.h>
#include <stdint.h>
+ Include dependency graph for valgrind.h:

Go to the source code of this file.

Macros

#define __VALGRIND_MAJOR__   3
 
#define __VALGRIND_MINOR__   6
 
#define NVALGRIND   1
 
#define VALGRIND_DO_CLIENT_REQUEST(_zzq_rlval, _zzq_default, _zzq_request, _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)
 
#define VALGRIND_DO_CLIENT_REQUEST_EXPR( _zzq_default, _zzq_request, _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)    (_zzq_default)
 
#define VG_CONCAT4(_aa, _bb, _cc, _dd)   _aa##_bb##_cc##_dd
 
#define I_WRAP_SONAME_FNNAME_ZU(soname, fnname)    VG_CONCAT4(_vgwZU_,soname,_,fnname)
 
#define I_WRAP_SONAME_FNNAME_ZZ(soname, fnname)    VG_CONCAT4(_vgwZZ_,soname,_,fnname)
 
#define VALGRIND_GET_ORIG_FN(_lval)   VALGRIND_GET_NR_CONTEXT(_lval)
 
#define CALL_FN_v_v(fnptr)
 
#define CALL_FN_v_W(fnptr, arg1)
 
#define CALL_FN_v_WW(fnptr, arg1, arg2)
 
#define CALL_FN_v_WWW(fnptr, arg1, arg2, arg3)
 
#define CALL_FN_v_WWWW(fnptr, arg1, arg2, arg3, arg4)
 
#define CALL_FN_v_5W(fnptr, arg1, arg2, arg3, arg4, arg5)
 
#define CALL_FN_v_6W(fnptr, arg1, arg2, arg3, arg4, arg5, arg6)
 
#define CALL_FN_v_7W(fnptr, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
 
#define VG_USERREQ_TOOL_BASE(a, b)    ((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16))
 
#define VG_IS_TOOL_USERREQ(a, b, v)    (VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000))
 
#define __extension__   /* */
 
#define RUNNING_ON_VALGRIND
 
#define VALGRIND_DISCARD_TRANSLATIONS(_qzz_addr, _qzz_len)
 
#define VALGRIND_NON_SIMD_CALL0(_qyy_fn)
 
#define VALGRIND_NON_SIMD_CALL1(_qyy_fn, _qyy_arg1)
 
#define VALGRIND_NON_SIMD_CALL2(_qyy_fn, _qyy_arg1, _qyy_arg2)
 
#define VALGRIND_NON_SIMD_CALL3(_qyy_fn, _qyy_arg1, _qyy_arg2, _qyy_arg3)
 
#define VALGRIND_COUNT_ERRORS
 
#define VALGRIND_MALLOCLIKE_BLOCK(addr, sizeB, rzB, is_zeroed)
 
#define VALGRIND_RESIZEINPLACE_BLOCK(addr, oldSizeB, newSizeB, rzB)
 
#define VALGRIND_FREELIKE_BLOCK(addr, rzB)
 
#define VALGRIND_CREATE_MEMPOOL(pool, rzB, is_zeroed)
 
#define VALGRIND_DESTROY_MEMPOOL(pool)
 
#define VALGRIND_MEMPOOL_ALLOC(pool, addr, size)
 
#define VALGRIND_MEMPOOL_FREE(pool, addr)
 
#define VALGRIND_MEMPOOL_TRIM(pool, addr, size)
 
#define VALGRIND_MOVE_MEMPOOL(poolA, poolB)
 
#define VALGRIND_MEMPOOL_CHANGE(pool, addrA, addrB, size)
 
#define VALGRIND_MEMPOOL_EXISTS(pool)
 
#define VALGRIND_STACK_REGISTER(start, end)
 
#define VALGRIND_STACK_DEREGISTER(id)
 
#define VALGRIND_STACK_CHANGE(id, start, end)
 
#define VALGRIND_LOAD_PDB_DEBUGINFO(fd, ptr, total_size, delta)
 
#define VALGRIND_MAP_IP_TO_SRCLOC(addr, buf64)
 

Enumerations

enum  Vg_ClientRequest {
  VG_USERREQ__RUNNING_ON_VALGRIND = 0x1001 , VG_USERREQ__DISCARD_TRANSLATIONS = 0x1002 , VG_USERREQ__CLIENT_CALL0 = 0x1101 , VG_USERREQ__CLIENT_CALL1 = 0x1102 ,
  VG_USERREQ__CLIENT_CALL2 = 0x1103 , VG_USERREQ__CLIENT_CALL3 = 0x1104 , VG_USERREQ__COUNT_ERRORS = 0x1201 , VG_USERREQ__GDB_MONITOR_COMMAND = 0x1202 ,
  VG_USERREQ__MALLOCLIKE_BLOCK = 0x1301 , VG_USERREQ__RESIZEINPLACE_BLOCK = 0x130b , VG_USERREQ__FREELIKE_BLOCK = 0x1302 , VG_USERREQ__CREATE_MEMPOOL = 0x1303 ,
  VG_USERREQ__DESTROY_MEMPOOL = 0x1304 , VG_USERREQ__MEMPOOL_ALLOC = 0x1305 , VG_USERREQ__MEMPOOL_FREE = 0x1306 , VG_USERREQ__MEMPOOL_TRIM = 0x1307 ,
  VG_USERREQ__MOVE_MEMPOOL = 0x1308 , VG_USERREQ__MEMPOOL_CHANGE = 0x1309 , VG_USERREQ__MEMPOOL_EXISTS = 0x130a , VG_USERREQ__PRINTF = 0x1401 ,
  VG_USERREQ__PRINTF_BACKTRACE = 0x1402 , VG_USERREQ__PRINTF_VALIST_BY_REF = 0x1403 , VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF = 0x1404 , VG_USERREQ__STACK_REGISTER = 0x1501 ,
  VG_USERREQ__STACK_DEREGISTER = 0x1502 , VG_USERREQ__STACK_CHANGE = 0x1503 , VG_USERREQ__LOAD_PDB_DEBUGINFO = 0x1601 , VG_USERREQ__MAP_IP_TO_SRCLOC = 0x1701
}
 

Functions

static int VALGRIND_PRINTF (const char *format,...)
 
static int VALGRIND_PRINTF_BACKTRACE (const char *format,...)
 

Macro Definition Documentation

◆ __extension__

#define __extension__   /* */

Definition at line 3652 of file valgrind.h.

◆ __VALGRIND_MAJOR__

#define __VALGRIND_MAJOR__   3

Definition at line 91 of file valgrind.h.

◆ __VALGRIND_MINOR__

#define __VALGRIND_MINOR__   6

Definition at line 92 of file valgrind.h.

◆ CALL_FN_v_5W

#define CALL_FN_v_5W (   fnptr,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5 
)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_5W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5); } while (0)

Definition at line 724 of file valgrind.h.

◆ CALL_FN_v_6W

#define CALL_FN_v_6W (   fnptr,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6 
)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_6W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6); } while (0)

Definition at line 728 of file valgrind.h.

◆ CALL_FN_v_7W

#define CALL_FN_v_7W (   fnptr,
  arg1,
  arg2,
  arg3,
  arg4,
  arg5,
  arg6,
  arg7 
)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_7W(_junk,fnptr,arg1,arg2,arg3,arg4,arg5,arg6,arg7); } while (0)

Definition at line 732 of file valgrind.h.

◆ CALL_FN_v_v

#define CALL_FN_v_v (   fnptr)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_v(_junk,fnptr); } while (0)

Definition at line 704 of file valgrind.h.

◆ CALL_FN_v_W

#define CALL_FN_v_W (   fnptr,
  arg1 
)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_W(_junk,fnptr,arg1); } while (0)

Definition at line 708 of file valgrind.h.

◆ CALL_FN_v_WW

#define CALL_FN_v_WW (   fnptr,
  arg1,
  arg2 
)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_WW(_junk,fnptr,arg1,arg2); } while (0)

Definition at line 712 of file valgrind.h.

◆ CALL_FN_v_WWW

#define CALL_FN_v_WWW (   fnptr,
  arg1,
  arg2,
  arg3 
)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_WWW(_junk,fnptr,arg1,arg2,arg3); } while (0)

Definition at line 716 of file valgrind.h.

◆ CALL_FN_v_WWWW

#define CALL_FN_v_WWWW (   fnptr,
  arg1,
  arg2,
  arg3,
  arg4 
)
Value:
do { volatile unsigned long _junk; \
CALL_FN_W_WWWW(_junk,fnptr,arg1,arg2,arg3,arg4); } while (0)

Definition at line 720 of file valgrind.h.

◆ I_WRAP_SONAME_FNNAME_ZU

#define I_WRAP_SONAME_FNNAME_ZU (   soname,
  fnname 
)     VG_CONCAT4(_vgwZU_,soname,_,fnname)

Definition at line 689 of file valgrind.h.

◆ I_WRAP_SONAME_FNNAME_ZZ

#define I_WRAP_SONAME_FNNAME_ZZ (   soname,
  fnname 
)     VG_CONCAT4(_vgwZZ_,soname,_,fnname)

Definition at line 692 of file valgrind.h.

◆ NVALGRIND

#define NVALGRIND   1

Definition at line 146 of file valgrind.h.

◆ RUNNING_ON_VALGRIND

#define RUNNING_ON_VALGRIND
Value:
(unsigned)VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* if not */, \
0, 0, 0, 0, 0) \
@ VG_USERREQ__RUNNING_ON_VALGRIND
Definition: valgrind.h:3589
#define VALGRIND_DO_CLIENT_REQUEST_EXPR( _zzq_default, _zzq_request, _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)
Definition: valgrind.h:177

Definition at line 3660 of file valgrind.h.

◆ VALGRIND_COUNT_ERRORS

#define VALGRIND_COUNT_ERRORS
Value:
0 /* default return */, \
0, 0, 0, 0, 0)
@ VG_USERREQ__COUNT_ERRORS
Definition: valgrind.h:3605

Definition at line 3812 of file valgrind.h.

◆ VALGRIND_CREATE_MEMPOOL

#define VALGRIND_CREATE_MEMPOOL (   pool,
  rzB,
  is_zeroed 
)
Value:
pool, rzB, is_zeroed, 0, 0)
@ VG_USERREQ__CREATE_MEMPOOL
Definition: valgrind.h:3617

Definition at line 3941 of file valgrind.h.

◆ VALGRIND_DESTROY_MEMPOOL

#define VALGRIND_DESTROY_MEMPOOL (   pool)
Value:
pool, 0, 0, 0, 0)
@ VG_USERREQ__DESTROY_MEMPOOL
Definition: valgrind.h:3618

Definition at line 3947 of file valgrind.h.

◆ VALGRIND_DISCARD_TRANSLATIONS

#define VALGRIND_DISCARD_TRANSLATIONS (   _qzz_addr,
  _qzz_len 
)
Value:
_qzz_addr, _qzz_len, 0, 0, 0)
@ VG_USERREQ__DISCARD_TRANSLATIONS
Definition: valgrind.h:3590

Definition at line 3670 of file valgrind.h.

◆ VALGRIND_DO_CLIENT_REQUEST

#define VALGRIND_DO_CLIENT_REQUEST (   _zzq_rlval,
  _zzq_default,
  _zzq_request,
  _zzq_arg1,
  _zzq_arg2,
  _zzq_arg3,
  _zzq_arg4,
  _zzq_arg5 
)
Value:
{ (_zzq_rlval) = VALGRIND_DO_CLIENT_REQUEST_EXPR((_zzq_default), \
(_zzq_request), (_zzq_arg1), (_zzq_arg2), \
(_zzq_arg3), (_zzq_arg4), (_zzq_arg5)); }

Definition at line 165 of file valgrind.h.

◆ VALGRIND_DO_CLIENT_REQUEST_EXPR

#define VALGRIND_DO_CLIENT_REQUEST_EXPR (   _zzq_default,
  _zzq_request,
  _zzq_arg1,
  _zzq_arg2,
  _zzq_arg3,
  _zzq_arg4,
  _zzq_arg5 
)     (_zzq_default)

Definition at line 177 of file valgrind.h.

◆ VALGRIND_FREELIKE_BLOCK

#define VALGRIND_FREELIKE_BLOCK (   addr,
  rzB 
)
Value:
addr, rzB, 0, 0, 0)
@ VG_USERREQ__FREELIKE_BLOCK
Definition: valgrind.h:3615

Definition at line 3935 of file valgrind.h.

◆ VALGRIND_GET_ORIG_FN

#define VALGRIND_GET_ORIG_FN (   _lval)    VALGRIND_GET_NR_CONTEXT(_lval)

Definition at line 699 of file valgrind.h.

◆ VALGRIND_LOAD_PDB_DEBUGINFO

#define VALGRIND_LOAD_PDB_DEBUGINFO (   fd,
  ptr,
  total_size,
  delta 
)
Value:
fd, ptr, total_size, delta, 0)
@ VG_USERREQ__LOAD_PDB_DEBUGINFO
Definition: valgrind.h:3645

Definition at line 4008 of file valgrind.h.

◆ VALGRIND_MALLOCLIKE_BLOCK

#define VALGRIND_MALLOCLIKE_BLOCK (   addr,
  sizeB,
  rzB,
  is_zeroed 
)
Value:
addr, sizeB, rzB, is_zeroed, 0)
@ VG_USERREQ__MALLOCLIKE_BLOCK
Definition: valgrind.h:3613

Definition at line 3919 of file valgrind.h.

◆ VALGRIND_MAP_IP_TO_SRCLOC

#define VALGRIND_MAP_IP_TO_SRCLOC (   addr,
  buf64 
)
Value:
addr, buf64, 0, 0, 0)
@ VG_USERREQ__MAP_IP_TO_SRCLOC
Definition: valgrind.h:3648

Definition at line 4017 of file valgrind.h.

◆ VALGRIND_MEMPOOL_ALLOC

#define VALGRIND_MEMPOOL_ALLOC (   pool,
  addr,
  size 
)
Value:
pool, addr, size, 0, 0)
enable harmony numeric enable harmony object literal extensions Optimize object size
@ VG_USERREQ__MEMPOOL_ALLOC
Definition: valgrind.h:3619

Definition at line 3953 of file valgrind.h.

◆ VALGRIND_MEMPOOL_CHANGE

#define VALGRIND_MEMPOOL_CHANGE (   pool,
  addrA,
  addrB,
  size 
)
Value:
pool, addrA, addrB, size, 0)
@ VG_USERREQ__MEMPOOL_CHANGE
Definition: valgrind.h:3623

Definition at line 3977 of file valgrind.h.

◆ VALGRIND_MEMPOOL_EXISTS

#define VALGRIND_MEMPOOL_EXISTS (   pool)
Value:
pool, 0, 0, 0, 0)
@ VG_USERREQ__MEMPOOL_EXISTS
Definition: valgrind.h:3624

Definition at line 3983 of file valgrind.h.

◆ VALGRIND_MEMPOOL_FREE

#define VALGRIND_MEMPOOL_FREE (   pool,
  addr 
)
Value:
pool, addr, 0, 0, 0)
@ VG_USERREQ__MEMPOOL_FREE
Definition: valgrind.h:3620

Definition at line 3959 of file valgrind.h.

◆ VALGRIND_MEMPOOL_TRIM

#define VALGRIND_MEMPOOL_TRIM (   pool,
  addr,
  size 
)
Value:
pool, addr, size, 0, 0)
@ VG_USERREQ__MEMPOOL_TRIM
Definition: valgrind.h:3621

Definition at line 3965 of file valgrind.h.

◆ VALGRIND_MOVE_MEMPOOL

#define VALGRIND_MOVE_MEMPOOL (   poolA,
  poolB 
)
Value:
poolA, poolB, 0, 0, 0)
@ VG_USERREQ__MOVE_MEMPOOL
Definition: valgrind.h:3622

Definition at line 3971 of file valgrind.h.

◆ VALGRIND_NON_SIMD_CALL0

#define VALGRIND_NON_SIMD_CALL0 (   _qyy_fn)
Value:
VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */, \
_qyy_fn, \
0, 0, 0, 0)
@ VG_USERREQ__CLIENT_CALL0
Definition: valgrind.h:3597

Definition at line 3783 of file valgrind.h.

◆ VALGRIND_NON_SIMD_CALL1

#define VALGRIND_NON_SIMD_CALL1 (   _qyy_fn,
  _qyy_arg1 
)
Value:
VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */, \
_qyy_fn, \
_qyy_arg1, 0, 0, 0)
@ VG_USERREQ__CLIENT_CALL1
Definition: valgrind.h:3598

Definition at line 3789 of file valgrind.h.

◆ VALGRIND_NON_SIMD_CALL2

#define VALGRIND_NON_SIMD_CALL2 (   _qyy_fn,
  _qyy_arg1,
  _qyy_arg2 
)
Value:
VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */, \
_qyy_fn, \
_qyy_arg1, _qyy_arg2, 0, 0)
@ VG_USERREQ__CLIENT_CALL2
Definition: valgrind.h:3599

Definition at line 3795 of file valgrind.h.

◆ VALGRIND_NON_SIMD_CALL3

#define VALGRIND_NON_SIMD_CALL3 (   _qyy_fn,
  _qyy_arg1,
  _qyy_arg2,
  _qyy_arg3 
)
Value:
VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */, \
_qyy_fn, \
_qyy_arg1, _qyy_arg2, \
_qyy_arg3, 0)
@ VG_USERREQ__CLIENT_CALL3
Definition: valgrind.h:3600

Definition at line 3801 of file valgrind.h.

◆ VALGRIND_RESIZEINPLACE_BLOCK

#define VALGRIND_RESIZEINPLACE_BLOCK (   addr,
  oldSizeB,
  newSizeB,
  rzB 
)
Value:
addr, oldSizeB, newSizeB, rzB, 0)
@ VG_USERREQ__RESIZEINPLACE_BLOCK
Definition: valgrind.h:3614

Definition at line 3927 of file valgrind.h.

◆ VALGRIND_STACK_CHANGE

#define VALGRIND_STACK_CHANGE (   id,
  start,
  end 
)
Value:
id, start, end, 0, 0)
@ VG_USERREQ__STACK_CHANGE
Definition: valgrind.h:3642

Definition at line 4002 of file valgrind.h.

◆ VALGRIND_STACK_DEREGISTER

#define VALGRIND_STACK_DEREGISTER (   id)
Value:
id, 0, 0, 0, 0)
@ VG_USERREQ__STACK_DEREGISTER
Definition: valgrind.h:3641

Definition at line 3996 of file valgrind.h.

◆ VALGRIND_STACK_REGISTER

#define VALGRIND_STACK_REGISTER (   start,
  end 
)
Value:
start, end, 0, 0, 0)
@ VG_USERREQ__STACK_REGISTER
Definition: valgrind.h:3640

Definition at line 3989 of file valgrind.h.

◆ VG_CONCAT4

#define VG_CONCAT4 (   _aa,
  _bb,
  _cc,
  _dd 
)    _aa##_bb##_cc##_dd

Definition at line 687 of file valgrind.h.

◆ VG_IS_TOOL_USERREQ

#define VG_IS_TOOL_USERREQ (   a,
  b,
 
)     (VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000))

Definition at line 3581 of file valgrind.h.

◆ VG_USERREQ_TOOL_BASE

#define VG_USERREQ_TOOL_BASE (   a,
 
)     ((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16))

Definition at line 3579 of file valgrind.h.

Enumeration Type Documentation

◆ Vg_ClientRequest

Enumerator
VG_USERREQ__RUNNING_ON_VALGRIND 
VG_USERREQ__DISCARD_TRANSLATIONS 
VG_USERREQ__CLIENT_CALL0 
VG_USERREQ__CLIENT_CALL1 
VG_USERREQ__CLIENT_CALL2 
VG_USERREQ__CLIENT_CALL3 
VG_USERREQ__COUNT_ERRORS 
VG_USERREQ__GDB_MONITOR_COMMAND 
VG_USERREQ__MALLOCLIKE_BLOCK 
VG_USERREQ__RESIZEINPLACE_BLOCK 
VG_USERREQ__FREELIKE_BLOCK 
VG_USERREQ__CREATE_MEMPOOL 
VG_USERREQ__DESTROY_MEMPOOL 
VG_USERREQ__MEMPOOL_ALLOC 
VG_USERREQ__MEMPOOL_FREE 
VG_USERREQ__MEMPOOL_TRIM 
VG_USERREQ__MOVE_MEMPOOL 
VG_USERREQ__MEMPOOL_CHANGE 
VG_USERREQ__MEMPOOL_EXISTS 
VG_USERREQ__PRINTF 
VG_USERREQ__PRINTF_BACKTRACE 
VG_USERREQ__PRINTF_VALIST_BY_REF 
VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF 
VG_USERREQ__STACK_REGISTER 
VG_USERREQ__STACK_DEREGISTER 
VG_USERREQ__STACK_CHANGE 
VG_USERREQ__LOAD_PDB_DEBUGINFO 
VG_USERREQ__MAP_IP_TO_SRCLOC 

Definition at line 3588 of file valgrind.h.

3591 
3592  /* These allow any function to be called from the simulated
3593  CPU but run on the real CPU. Nb: the first arg passed to
3594  the function is always the ThreadId of the running
3595  thread! So CLIENT_CALL0 actually requires a 1 arg
3596  function, etc. */
3597  VG_USERREQ__CLIENT_CALL0 = 0x1101,
3598  VG_USERREQ__CLIENT_CALL1 = 0x1102,
3599  VG_USERREQ__CLIENT_CALL2 = 0x1103,
3600  VG_USERREQ__CLIENT_CALL3 = 0x1104,
3601 
3602  /* Can be useful in regression testing suites -- eg. can
3603  send Valgrind's output to /dev/null and still count
3604  errors. */
3605  VG_USERREQ__COUNT_ERRORS = 0x1201,
3606 
3607  /* Allows a string (gdb monitor command) to be passed to the tool
3608  Used for interaction with vgdb/gdb */
3610 
3611  /* These are useful and can be interpreted by any tool that
3612  tracks malloc() et al, by using vg_replace_malloc.c. */
3615  VG_USERREQ__FREELIKE_BLOCK = 0x1302,
3616  /* Memory pool support. */
3617  VG_USERREQ__CREATE_MEMPOOL = 0x1303,
3618  VG_USERREQ__DESTROY_MEMPOOL = 0x1304,
3619  VG_USERREQ__MEMPOOL_ALLOC = 0x1305,
3620  VG_USERREQ__MEMPOOL_FREE = 0x1306,
3621  VG_USERREQ__MEMPOOL_TRIM = 0x1307,
3622  VG_USERREQ__MOVE_MEMPOOL = 0x1308,
3623  VG_USERREQ__MEMPOOL_CHANGE = 0x1309,
3624  VG_USERREQ__MEMPOOL_EXISTS = 0x130a,
3625 
3626  /* Allow printfs to valgrind log. */
3627  /* The first two pass the va_list argument by value, which
3628  assumes it is the same size as or smaller than a UWord,
3629  which generally isn't the case. Hence are deprecated.
3630  The second two pass the vargs by reference and so are
3631  immune to this problem. */
3632  /* both :: char* fmt, va_list vargs (DEPRECATED) */
3633  VG_USERREQ__PRINTF = 0x1401,
3635  /* both :: char* fmt, va_list* vargs */
3638 
3639  /* Stack support. */
3640  VG_USERREQ__STACK_REGISTER = 0x1501,
3642  VG_USERREQ__STACK_CHANGE = 0x1503,
3643 
3644  /* Wine support */
3646 
3647  /* Querying of debug info. */
3649  } Vg_ClientRequest;
Vg_ClientRequest
Definition: valgrind.h:3589
@ VG_USERREQ__PRINTF_BACKTRACE
Definition: valgrind.h:3634
@ VG_USERREQ__GDB_MONITOR_COMMAND
Definition: valgrind.h:3609
@ VG_USERREQ__PRINTF_VALIST_BY_REF
Definition: valgrind.h:3636
@ VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF
Definition: valgrind.h:3637
@ VG_USERREQ__PRINTF
Definition: valgrind.h:3633

Function Documentation

◆ VALGRIND_PRINTF()

static int VALGRIND_PRINTF ( const char *  format,
  ... 
)
static

Definition at line 3691 of file valgrind.h.

3692 {
3693 #if defined(NVALGRIND)
3694  return 0;
3695 #else /* NVALGRIND */
3696 #if defined(_MSC_VER)
3697  uintptr_t _qzz_res;
3698 #else
3699  unsigned long _qzz_res;
3700 #endif
3701  va_list vargs;
3702  va_start(vargs, format);
3703 #if defined(_MSC_VER)
3704  _qzz_res = VALGRIND_DO_CLIENT_REQUEST_EXPR(0,
3706  (uintptr_t)format,
3707  (uintptr_t)&vargs,
3708  0, 0, 0);
3709 #else
3710  _qzz_res = VALGRIND_DO_CLIENT_REQUEST_EXPR(0,
3712  (unsigned long)format,
3713  (unsigned long)&vargs,
3714  0, 0, 0);
3715 #endif
3716  va_end(vargs);
3717  return (int)_qzz_res;
3718 #endif /* NVALGRIND */
3719 }

References VALGRIND_DO_CLIENT_REQUEST_EXPR, and VG_USERREQ__PRINTF_VALIST_BY_REF.

◆ VALGRIND_PRINTF_BACKTRACE()

static int VALGRIND_PRINTF_BACKTRACE ( const char *  format,
  ... 
)
static

Definition at line 3729 of file valgrind.h.

3730 {
3731 #if defined(NVALGRIND)
3732  return 0;
3733 #else /* NVALGRIND */
3734 #if defined(_MSC_VER)
3735  uintptr_t _qzz_res;
3736 #else
3737  unsigned long _qzz_res;
3738 #endif
3739  va_list vargs;
3740  va_start(vargs, format);
3741 #if defined(_MSC_VER)
3742  _qzz_res = VALGRIND_DO_CLIENT_REQUEST_EXPR(0,
3744  (uintptr_t)format,
3745  (uintptr_t)&vargs,
3746  0, 0, 0);
3747 #else
3748  _qzz_res = VALGRIND_DO_CLIENT_REQUEST_EXPR(0,
3750  (unsigned long)format,
3751  (unsigned long)&vargs,
3752  0, 0, 0);
3753 #endif
3754  va_end(vargs);
3755  return (int)_qzz_res;
3756 #endif /* NVALGRIND */
3757 }

References VALGRIND_DO_CLIENT_REQUEST_EXPR, and VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF.