pahole: Allow list of class names to be passed to -C/--class_name
CSV, and also supports file://class_list.txt as one of the entries
in the list, so:
[acme@doppio pahole]$ pahole -C str_node,strings build/libdwarves.so.1.0.0
struct strings {
void * tree; /* 0 8 */
struct gobuffer gb; /* 8 24 */
/* size: 32, cachelines: 1, members: 2 */
/* last cacheline: 32 bytes */
};
struct str_node {
struct rb_node rb_node; /* 0 24 */
const char * s; /* 24 8 */
/* size: 32, cachelines: 1, members: 2 */
/* last cacheline: 32 bytes */
};
[acme@doppio pahole]$
And also:
[acme@doppio pahole]$ pahole -C file://classes.txt,tag build/libdwarves.so.1.0.0
struct strings {
void * tree; /* 0 8 */
struct gobuffer gb; /* 8 24 */
/* size: 32, cachelines: 1, members: 2 */
/* last cacheline: 32 bytes */
};
struct tag {
struct list_head node; /* 0 16 */
uint16_t type; /* 16 2 */
uint16_t tag; /* 18 2 */
uint16_t visited:1; /* 20:15 2 */
uint16_t top_level:1; /* 20:14 2 */
/* XXX 14 bits hole, try to pack */
uint16_t recursivity_level; /* 22 2 */
void * priv; /* 24 8 */
/* size: 32, cachelines: 1, members: 7 */
/* bit holes: 1, sum bit holes: 14 bits */
/* last cacheline: 32 bytes */
};
struct str_node {
struct rb_node rb_node; /* 0 24 */
const char * s; /* 24 8 */
/* size: 32, cachelines: 1, members: 2 */
/* last cacheline: 32 bytes */
};
[acme@doppio pahole]$
Suggested-by: Zack Weinberg <zweinberg@mozilla.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>