(2013/07/31 18:03), Namhyung Kim wrote:
> From: Namhyung Kim <namhyung....@lge.com>
> 
> The print format of s32 type was "ld" and it's casted to "long".  So
> it turned out to print 4294967295 for "-1" on 64-bit systems.  Not
> sure whether it worked well on 32-bit systems.
> 
> Anyway, it'd be better if we have exact format and type cast for each
> types on both of 32- and 64-bit systems.  In fact, the only difference
> is on s64/u64 types.

Thank you for fixing this :)
But, again, this should be at the first place on the series,
so that we can push this to stable tree too.

Thanks,

> 
> Cc: Masami Hiramatsu <masami.hiramatsu...@hitachi.com>
> Cc: Srikar Dronamraju <sri...@linux.vnet.ibm.com>
> Cc: Oleg Nesterov <o...@redhat.com>
> Cc: zhangwei(Jovi) <jovi.zhang...@huawei.com>
> Cc: Arnaldo Carvalho de Melo <a...@ghostprotocols.net>
> Signed-off-by: Namhyung Kim <namhy...@kernel.org>
> ---
>  kernel/trace/trace_probe.c | 17 +++++++++++------
>  1 file changed, 11 insertions(+), 6 deletions(-)
> 
> diff --git a/kernel/trace/trace_probe.c b/kernel/trace/trace_probe.c
> index 8ad48ca4e344..e84e6134f1fb 100644
> --- a/kernel/trace/trace_probe.c
> +++ b/kernel/trace/trace_probe.c
> @@ -45,14 +45,19 @@ __kprobes int PRINT_TYPE_FUNC_NAME(type)(struct trace_seq 
> *s,             \
>  }                                                                    \
>  const char PRINT_TYPE_FMT_NAME(type)[] = fmt;
>  
> -DEFINE_BASIC_PRINT_TYPE_FUNC(u8, "%x", unsigned int)
> -DEFINE_BASIC_PRINT_TYPE_FUNC(u16, "%x", unsigned int)
> -DEFINE_BASIC_PRINT_TYPE_FUNC(u32, "%lx", unsigned long)
> +DEFINE_BASIC_PRINT_TYPE_FUNC(u8 , "%x", unsigned char)
> +DEFINE_BASIC_PRINT_TYPE_FUNC(u16, "%x", unsigned short)
> +DEFINE_BASIC_PRINT_TYPE_FUNC(u32, "%x", unsigned int)
> +DEFINE_BASIC_PRINT_TYPE_FUNC(s8,  "%d", signed char)
> +DEFINE_BASIC_PRINT_TYPE_FUNC(s16, "%d", short)
> +DEFINE_BASIC_PRINT_TYPE_FUNC(s32, "%d", int)
> +#if BITS_PER_LONG == 32
>  DEFINE_BASIC_PRINT_TYPE_FUNC(u64, "%llx", unsigned long long)
> -DEFINE_BASIC_PRINT_TYPE_FUNC(s8, "%d", int)
> -DEFINE_BASIC_PRINT_TYPE_FUNC(s16, "%d", int)
> -DEFINE_BASIC_PRINT_TYPE_FUNC(s32, "%ld", long)
>  DEFINE_BASIC_PRINT_TYPE_FUNC(s64, "%lld", long long)
> +#else /* BITS_PER_LONG == 64 */
> +DEFINE_BASIC_PRINT_TYPE_FUNC(u64, "%lx", unsigned long)
> +DEFINE_BASIC_PRINT_TYPE_FUNC(s64, "%ld", long)
> +#endif
>  
>  /* Print type function for string type */
>  __kprobes int PRINT_TYPE_FUNC_NAME(string)(struct trace_seq *s,
> 


-- 
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu...@hitachi.com


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to