Fix test memcheck/tests/descr_belowsp a bit on Solaris.

On Solaris, '%p' outputs just a hexadecimal number
without '0x' prefix. This is perfectly valid but not
understood by VG_(strtok_get_address_and_size)().
Therefore use universal PRIxPTR.
n-i-bz


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@15918
This commit is contained in:
Ivo Raisr 2016-07-29 20:52:21 +00:00
parent 68a17eeb24
commit d04009b787
2 changed files with 5 additions and 4 deletions

View File

@ -1,6 +1,7 @@
#include "../../config.h"
#define _GNU_SOURCE
#include <inttypes.h>
#include <stdio.h>
#include <pthread.h>
#include <string.h>
@ -43,8 +44,8 @@ static void grow_the_stack(void)
static char s[1000];
static void describe (char* what, void* a)
{
fprintf(stderr, "describing %p %s\n", a, what);
sprintf(s, "v.info location %p", a);
fprintf(stderr, "describing %#" PRIxPTR " %s\n", (uintptr_t) a, what);
sprintf(s, "v.info location %#" PRIxPTR, (uintptr_t) a);
VALGRIND_MONITOR_COMMAND(s);
}

View File

@ -6,8 +6,8 @@ describing 0x........ 1500 bytes below a local var
.... bytes below stack pointer
Thread 2:
Invalid read of size 1
at 0x........: bad_things_till_guard_page (descr_belowsp.c:73)
by 0x........: child_fn_0 (descr_belowsp.c:112)
at 0x........: bad_things_till_guard_page (descr_belowsp.c:74)
by 0x........: child_fn_0 (descr_belowsp.c:113)
...
Address 0x........ is on thread 2's stack
.... bytes below stack pointer