From: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: David Ahern <dsahern@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: perf probe: can't find unnamed union members
Date: Fri, 06 Mar 2015 21:02:50 +0900 [thread overview]
Message-ID: <54F9976A.3010808@hitachi.com> (raw)
In-Reply-To: <20150305153256.GX5187@kernel.org>
Hi,
(2015/03/06 0:32), Arnaldo Carvalho de Melo wrote:
>
> Hi Masami,
>
> [root@zoo ~]# perf probe -x ~/bin/perf -L lock__delete <lock__delete@/home/git/linux/tools/perf/util/annotate.c:0>
> 0 static void lock__delete(struct ins_operands *ops)
> 1 {
> 2 struct ins *ins = ops->locked.ins;
>
> 4 if (ins && ins->ops->free)
> 5 ins->ops->free(ops->locked.ops);
> else
> 7 ins__delete(ops->locked.ops);
>
> 9 zfree(&ops->locked.ops);
> 10 zfree(&ops->target.raw);
> 11 zfree(&ops->target.name);
> 12 }
>
> And:
>
> [root@zoo ~]# pahole ~/bin/perf -C ins_operands
> struct ins_operands {
> char * raw; /* 0 8 */
> struct {
> char * raw; /* 8 8 */
> char * name; /* 16 8 */
> u64 addr; /* 24 8 */
> u64 offset; /* 32 8 */
> } target; /* 8 32 */
> union {
> struct {
> char * raw; /* 40 8 */
> char * name; /* 48 8 */
> u64 addr; /* 56 8 */
> } source; /* 24 */
> struct {
> struct ins * ins; /* 40 8 */
> struct ins_operands * ops; /* 48 8 */
> } locked; /* 16 */
> }; /* 40 24 */
> /* --- cacheline 1 boundary (64 bytes) --- */
>
> /* size: 64, cachelines: 1, members: 3 */
> };
> [root@zoo ~]#
>
> But:
>
> [root@zoo ~]# perf probe -x ~/bin/perf lock__delete ops 'locked_ops=ops->locked.ops'
> ops(type:ins_operands) has no member locked.
> Error: Failed to add events.
> [root@zoo ~]#
>
> Yes, it has :-)
Oh, I see. That is not yet supported.
Here, I got the structure in debuginfo.
[ fac4e] structure_type
name (strp) "ins_operands"
byte_size (data1) 64
decl_file (data1) 5
decl_line (data1) 16
sibling (ref4) [ fac79]
[ fac5a] member
name (string) "raw"
decl_file (data1) 5
decl_line (data1) 17
type (ref4) [ f8bdb]
data_member_location (data1) 0
[ fac66] member
name (strp) "target"
decl_file (data1) 5
decl_line (data1) 23
type (ref4) [ fab9c]
data_member_location (data1) 8
[ fac72] member <= here is the unnamed one
type (ref4) [ fac7f]
data_member_location (data1) 28
[ fac79] pointer_type
byte_size (data1) 8
type (ref4) [ fac4e]
[ fac7f] union_type
byte_size (data1) 24
decl_file (data1) 5
decl_line (data1) 24
sibling (ref4) [ fac9e]
[ fac87] member
name (strp) "source"
decl_file (data1) 5
decl_line (data1) 29
type (ref4) [ fabd5]
[ fac92] member <= here is actual member
name (strp) "locked"
decl_file (data1) 5
decl_line (data1) 33
type (ref4) [ fac02]
Let me see how I can solve this...
Thank you for reporting!
>
> - Arnaldo
>
--
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
next prev parent reply other threads:[~2015-03-06 12:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-05 15:32 Arnaldo Carvalho de Melo
2015-03-06 12:02 ` Masami Hiramatsu [this message]
2015-03-09 2:15 ` [PATCH perf/core ] perf-probe: Fix to track down unnamed union/structure members Masami Hiramatsu
2015-04-01 9:08 ` Masami Hiramatsu
2015-04-01 14:41 ` Arnaldo Carvalho de Melo
2015-04-02 3:49 ` Masami Hiramatsu
2015-04-02 7:33 ` [PATCH perf/core v2] " Masami Hiramatsu
2015-04-02 14:57 ` Arnaldo Carvalho de Melo
2015-04-03 5:07 ` [tip:perf/core] perf probe: Fix to track down unnamed union/ structure members tip-bot for Masami Hiramatsu
2015-04-02 7:31 ` [PATCH perf/core ] perf-probe: Fix to track down unnamed union/structure members Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54F9976A.3010808@hitachi.com \
--to=masami.hiramatsu.pt@hitachi.com \
--cc=acme@kernel.org \
--cc=dsahern@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome