On Fri 2016-09-30 09:32 -0400, Dave Anderson wrote: > Fair enough -- but let's avoid the heavy-handed call to expr_type_name() > unless the argument is actually a cpuspec: > > --- crash-7.1.5/symbols.c.orig 2016-09-30 09:21:15.577896529 -0400 > +++ crash-7.1.5/symbols.c 2016-09-30 09:16:53.676652458 -0400 > @@ -81,6 +81,7 @@ static void cmd_datatype_common(ulong); > static void do_datatype_addr(struct datatype_member *, ulong, int, > ulong, char **, int); > static void process_gdb_output(char *, unsigned, const char *, int); > +static char *expr_type_name(const char *); > static int display_per_cpu_info(struct syment *, int, char *); > static struct load_module *get_module_percpu_sym_owner(struct syment *); > static int is_percpu_symbol(struct syment *); > @@ -6112,6 +6113,7 @@ cmd_datatype_common(ulong flags) > char *separator; > char *structname, *members; > char *memberlist[MAXARGS]; > + char *typename; > > dm = &datatype_member; > count = 0xdeadbeef; > @@ -6245,6 +6247,15 @@ cmd_datatype_common(ulong flags) > sp->name); > cpuspec = NULL; > } > + if (cpuspec) { > + if ((typename = expr_type_name(sp->name))) { > + if (LASTCHAR(typename) == '*') > + error(WARNING, > + "percpu symbol %s is of type pointer\n", > + sp->name); > + FREEBUF(typename); > + } > + } > addr = sp->value; > aflag++; > } else { Ack -- Aaron Tomlin -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility