Functions

fn IsTool(base: [2]u8, code: usize) bool

No documentation provided.

fn ToolBase(base: [2]u8) u32

No documentation provided.

fn countErrors() usize

Counts the number of errors that have been recorded by a tool. Nb: the tool mu…

Counts the number of errors that have been recorded by a tool. Nb: the tool must record the errors with VG_(maybe_record_error)() or VG_(unique_error)() for them to be counted.

fn createMempool(pool: [*]u8, rzB: usize, is_zeroed: bool, flags: usize) void

No documentation provided.

fn destroyMempool(pool: [*]u8) void

Destroy a memory pool.

fn disableErrorReporting() void

Disable error reporting for this thread. Behaves in a stack like way, so you c…

Disable error reporting for this thread. Behaves in a stack like way, so you can safely call this multiple times provided that enableErrorReporting() is called the same number of times to re-enable reporting. The first call of this macro disables reporting. Subsequent calls have no effect except to increase the number of enableErrorReporting() calls needed to re-enable reporting. Child threads do not inherit this setting from their parents – they are always created with reporting enabled.

fn discardTranslations(qzz: []const u8) void

Discard translation of code in the slice qzz. Useful if you are debugging a JI…

Discard translation of code in the slice qzz. Useful if you are debugging a JITter or some such, since it provides a way to make sure valgrind will retranslate the invalidated area. Returns no value.

fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3: usize, a4: usize, a5: usize) usize

No documentation provided.

fn enableErrorReporting() void

Re-enable error reporting, (see disableErrorReporting())

fn freeLikeBlock(addr: [*]u8, rzB: usize) void

No documentation provided.

fn innerThreads(qzz: [*]u8) void

No documentation provided.

fn mallocLikeBlock(mem: []u8, rzB: usize, is_zeroed: bool) void

No documentation provided.

fn mapIpToSrcloc(addr: *const u8, buf64: [64]u8) usize

Map a code address to a source file name and line number. buf64 must point to …

Map a code address to a source file name and line number. buf64 must point to a 64-byte buffer in the caller’s address space. The result will be dumped in there and is guaranteed to be zero terminated. If no info is found, the first byte is set to zero.

fn mempoolAlloc(pool: [*]u8, mem: []u8) void

Associate a piece of memory with a memory pool.

fn mempoolChange(pool: [*]u8, addrA: [*]u8, mem: []u8) void

Resize and/or move a piece associated with a memory pool.

fn mempoolExists(pool: [*]u8) bool

Return if a mempool exists.

fn mempoolFree(pool: [*]u8, addr: [*]u8) void

Disassociate a piece of memory from a memory pool.

fn mempoolTrim(pool: [*]u8, mem: []u8) void

Disassociate any pieces outside a particular range.

fn monitorCommand(command: [*]u8) bool

Execute a monitor command from the client program. If a connection is opened wi…

Execute a monitor command from the client program. If a connection is opened with GDB, the output will be sent according to the output mode set for vgdb. If no connection is opened, output will go to the log output. Returns 1 if command not recognised, 0 otherwise.

fn moveMempool(poolA: [*]u8, poolB: [*]u8) void

Resize and/or move a piece associated with a memory pool.

fn nonSIMDCall0(func: fn (usize) usize) usize

No documentation provided.

fn nonSIMDCall1(func: fn (usize, usize) usize, a1: usize) usize

No documentation provided.

fn nonSIMDCall2(func: fn (usize, usize, usize) usize, a1: usize, a2: usize) usize

No documentation provided.

fn nonSIMDCall3(func: fn (usize, usize, usize, usize) usize, a1: usize, a2: usize, a3: usize) usize

No documentation provided.

fn resizeInPlaceBlock(oldmem: []u8, newsize: usize, rzB: usize) void

No documentation provided.

fn runningOnValgrind() usize

Returns the number of Valgrinds this code is running under. That is, 0 if runn…

Returns the number of Valgrinds this code is running under. That is, 0 if running natively, 1 if running under Valgrind, 2 if running under Valgrind which is running under another Valgrind, etc.

fn stackChange(id: usize, newstack: []u8) void

Change the start and end address of the stack id. start is the new lowest addre…

Change the start and end address of the stack id. start is the new lowest addressable stack byte, end is the new highest addressable stack byte.

fn stackDeregister(id: usize) void

Unmark the piece of memory associated with a stack id as being a stack.

fn stackRegister(stack: []u8) usize

Mark a piece of memory as being a stack. Returns a stack id. start is the lowes…

Mark a piece of memory as being a stack. Returns a stack id. start is the lowest addressable stack byte, end is the highest addressable stack byte.