Re: [PATCH 13/13] tracing/probes: Fix basic print type functions

From: Namhyung Kim
Date: Mon Aug 05 2013 - 04:55:13 EST


Hi Joe,

On Sun, 04 Aug 2013 23:31:57 -0700, Joe Perches wrote:
> On Mon, 2013-08-05 at 15:22 +0900, Masami Hiramatsu wrote:
>> (2013/07/31 18:03), Namhyung Kim wrote:
>> > From: Namhyung Kim <namhyung.kim@xxxxxxx>
>> >
>> > 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.
> []
>> > diff --git 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, \
> []
>> > +DEFINE_BASIC_PRINT_TYPE_FUNC(s8, "%d", signed char)
>
> If there's a need to identify signed char, why
> not signed short, signed int and signd long too?

Thanks for taking your time.

AFAIK the plain 'char' in C can be either signed or unsigned depending
on systems. Other types don't have this issue - they always are
signed types.

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