Sirikata
|
#include <stdarg.h>
Go to the source code of this file.
Defines | |
#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 | I_WRAP_SONAME_FNNAME_ZU(soname, fnname) _vgwZU_##soname##_##fnname |
#define | I_WRAP_SONAME_FNNAME_ZZ(soname, fnname) _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 | 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_PRINTF(...) |
#define | VALGRIND_PRINTF_BACKTRACE(...) |
#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_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) |
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__MALLOCLIKE_BLOCK = 0x1301, 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__STACK_REGISTER = 0x1501, VG_USERREQ__STACK_DEREGISTER = 0x1502, VG_USERREQ__STACK_CHANGE = 0x1503 } |
#define __extension__ |
#define CALL_FN_v_v | ( | fnptr | ) |
do { volatile unsigned long _junk; \ CALL_FN_W_v(_junk,fnptr); } while (0)
#define CALL_FN_v_W | ( | fnptr, | |
arg1 | |||
) |
do { volatile unsigned long _junk; \ CALL_FN_W_W(_junk,fnptr,arg1); } while (0)
#define CALL_FN_v_WW | ( | fnptr, | |
arg1, | |||
arg2 | |||
) |
do { volatile unsigned long _junk; \ CALL_FN_W_WW(_junk,fnptr,arg1,arg2); } while (0)
#define CALL_FN_v_WWW | ( | fnptr, | |
arg1, | |||
arg2, | |||
arg3 | |||
) |
do { volatile unsigned long _junk; \ CALL_FN_W_WWW(_junk,fnptr,arg1,arg2,arg3); } while (0)
#define I_WRAP_SONAME_FNNAME_ZU | ( | soname, | |
fnname | |||
) | _vgwZU_##soname##_##fnname |
#define I_WRAP_SONAME_FNNAME_ZZ | ( | soname, | |
fnname | |||
) | _vgwZZ_##soname##_##fnname |
#define NVALGRIND 1 |
#define RUNNING_ON_VALGRIND |
__extension__ \ ({unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* if not */, \ VG_USERREQ__RUNNING_ON_VALGRIND, \ 0, 0, 0, 0, 0); \ _qzz_res; \ })
#define VALGRIND_COUNT_ERRORS |
__extension__ \ ({unsigned int _qyy_res; \ VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \ VG_USERREQ__COUNT_ERRORS, \ 0, 0, 0, 0, 0); \ _qyy_res; \ })
#define VALGRIND_CREATE_MEMPOOL | ( | pool, | |
rzB, | |||
is_zeroed | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__CREATE_MEMPOOL, \ pool, rzB, is_zeroed, 0, 0); \ }
#define VALGRIND_DESTROY_MEMPOOL | ( | pool | ) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__DESTROY_MEMPOOL, \ pool, 0, 0, 0, 0); \ }
#define VALGRIND_DISCARD_TRANSLATIONS | ( | _qzz_addr, | |
_qzz_len | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__DISCARD_TRANSLATIONS, \ _qzz_addr, _qzz_len, 0, 0, 0); \ }
#define VALGRIND_DO_CLIENT_REQUEST | ( | _zzq_rlval, | |
_zzq_default, | |||
_zzq_request, | |||
_zzq_arg1, | |||
_zzq_arg2, | |||
_zzq_arg3, | |||
_zzq_arg4, | |||
_zzq_arg5 | |||
) |
{ \ (_zzq_rlval) = (_zzq_default); \ }
#define VALGRIND_FREELIKE_BLOCK | ( | addr, | |
rzB | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__FREELIKE_BLOCK, \ addr, rzB, 0, 0, 0); \ }
#define VALGRIND_GET_ORIG_FN | ( | _lval | ) | VALGRIND_GET_NR_CONTEXT(_lval) |
#define VALGRIND_MALLOCLIKE_BLOCK | ( | addr, | |
sizeB, | |||
rzB, | |||
is_zeroed | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__MALLOCLIKE_BLOCK, \ addr, sizeB, rzB, is_zeroed, 0); \ }
#define VALGRIND_MEMPOOL_ALLOC | ( | pool, | |
addr, | |||
size | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__MEMPOOL_ALLOC, \ pool, addr, size, 0, 0); \ }
#define VALGRIND_MEMPOOL_CHANGE | ( | pool, | |
addrA, | |||
addrB, | |||
size | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__MEMPOOL_CHANGE, \ pool, addrA, addrB, size, 0); \ }
#define VALGRIND_MEMPOOL_EXISTS | ( | pool | ) |
({unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__MEMPOOL_EXISTS, \ pool, 0, 0, 0, 0); \ _qzz_res; \ })
#define VALGRIND_MEMPOOL_FREE | ( | pool, | |
addr | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__MEMPOOL_FREE, \ pool, addr, 0, 0, 0); \ }
#define VALGRIND_MEMPOOL_TRIM | ( | pool, | |
addr, | |||
size | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__MEMPOOL_TRIM, \ pool, addr, size, 0, 0); \ }
#define VALGRIND_MOVE_MEMPOOL | ( | poolA, | |
poolB | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__MOVE_MEMPOOL, \ poolA, poolB, 0, 0, 0); \ }
#define VALGRIND_NON_SIMD_CALL0 | ( | _qyy_fn | ) |
__extension__ \ ({unsigned long _qyy_res; \ VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \ VG_USERREQ__CLIENT_CALL0, \ _qyy_fn, \ 0, 0, 0, 0); \ _qyy_res; \ })
#define VALGRIND_NON_SIMD_CALL1 | ( | _qyy_fn, | |
_qyy_arg1 | |||
) |
__extension__ \ ({unsigned long _qyy_res; \ VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \ VG_USERREQ__CLIENT_CALL1, \ _qyy_fn, \ _qyy_arg1, 0, 0, 0); \ _qyy_res; \ })
#define VALGRIND_NON_SIMD_CALL2 | ( | _qyy_fn, | |
_qyy_arg1, | |||
_qyy_arg2 | |||
) |
__extension__ \ ({unsigned long _qyy_res; \ VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \ VG_USERREQ__CLIENT_CALL2, \ _qyy_fn, \ _qyy_arg1, _qyy_arg2, 0, 0); \ _qyy_res; \ })
#define VALGRIND_NON_SIMD_CALL3 | ( | _qyy_fn, | |
_qyy_arg1, | |||
_qyy_arg2, | |||
_qyy_arg3 | |||
) |
__extension__ \ ({unsigned long _qyy_res; \ VALGRIND_DO_CLIENT_REQUEST(_qyy_res, 0 /* default return */, \ VG_USERREQ__CLIENT_CALL3, \ _qyy_fn, \ _qyy_arg1, _qyy_arg2, \ _qyy_arg3, 0); \ _qyy_res; \ })
#define VALGRIND_PRINTF | ( | ... | ) |
#define VALGRIND_PRINTF_BACKTRACE | ( | ... | ) |
#define VALGRIND_STACK_CHANGE | ( | id, | |
start, | |||
end | |||
) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__STACK_CHANGE, \ id, start, end, 0, 0); \ }
#define VALGRIND_STACK_DEREGISTER | ( | id | ) |
{unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__STACK_DEREGISTER, \ id, 0, 0, 0, 0); \ }
#define VALGRIND_STACK_REGISTER | ( | start, | |
end | |||
) |
({unsigned int _qzz_res; \ VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0, \ VG_USERREQ__STACK_REGISTER, \ start, end, 0, 0, 0); \ _qzz_res; \ })
#define VG_IS_TOOL_USERREQ | ( | a, | |
b, | |||
v | |||
) | (VG_USERREQ_TOOL_BASE(a,b) == ((v) & 0xffff0000)) |
#define VG_USERREQ_TOOL_BASE | ( | a, | |
b | |||
) | ((unsigned int)(((a)&0xff) << 24 | ((b)&0xff) << 16)) |
enum Vg_ClientRequest |