RFR(XXS): 7133111: libsaproc debug print should be printed as unsigned long to fit large numbers on 64bit platform
Daniel D. Daugherty
daniel.daugherty at oracle.com
Thu Apr 5 08:09:41 PDT 2012
Solaris supports '%zd' and '%zu' format parameters also...
Just to add to the confusion... :-)
Dan
On 4/5/12 8:15 AM, Markus Grönlund wrote:
> 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