Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH 13/13] tracing/probes: Fix basic print type functions | Date | Mon, 05 Aug 2013 17:55:04 +0900 |
| |
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@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. > [] >> > 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
| |