RFR(XXS): 7133111: libsaproc debug print should be printed as unsigned long to fit large numbers on 64bit platform
Markus Grönlund
markus.gronlund at oracle.com
Thu Apr 5 07:15:42 PDT 2012
Staffan,
Is this code only going to be built/executed on a Linux system (i.e. gcc compiled)? I guess so (since it says src/os/linux/) - I think %zd is a gcc specific extension right?
(Visual C++ for instance uses %lu and %ld respectively where gcc has %zu and %zd)
Is that a problem that we might be using C++ compilers not adhering to C99/or gcc extensions on other platforms (don't know if/how we cross-compile)?
/Markus
> -----Original Message-----
> From: Staffan Larsen
> Sent: den 5 april 2012 14:25
> To: serviceability-dev
> Subject: RFR(XXS): 7133111: libsaproc debug print should be printed as
> unsigned long to fit large numbers on 64bit platform
>
> Please review the following one-character fix to a printf format
> string. A 'z' is added to the printout of a size_t field.
>
> Thanks,
> /Staffan
>
>
> diff --git a/agent/src/os/linux/ps_core.c
> b/agent/src/os/linux/ps_core.c
> --- a/agent/src/os/linux/ps_core.c
> +++ b/agent/src/os/linux/ps_core.c
> @@ -440,7 +440,7 @@
> int j = 0;
> print_debug("---- sorted virtual address map ----\n");
> for (j = 0; j < ph->core->num_maps; j++) {
> - print_debug("base = 0x%lx\tsize = %d\n", ph->core-
> >map_array[j]->vaddr,
> + print_debug("base = 0x%lx\tsize = %zd\n", ph->core-
> >map_array[j]->vaddr,
> ph->core->map_array[j]-
> >memsz);
> }
> }
More information about the serviceability-dev
mailing list