All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yang Shi <yang.shi@windriver.com>
To: Billie Alsup <billie.alsup@ericsson.com>,
	"bruce.ashfield@windriver.com" <bruce.ashfield@windriver.com>,
	"yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: [PATCH] perf: mips64: Convert __u64 to unsigned long long
Date: Fri, 25 Oct 2013 13:52:24 -0700	[thread overview]
Message-ID: <526ADA08.1010308@windriver.com> (raw)
In-Reply-To: <ABCAD024C4BA8A46A0FEA14F7B3AEC9039487B61@eusaamb105.ericsson.se>

On 10/25/2013 1:14 PM, Billie Alsup wrote:
> I guess for that example, you have to add % yourself
>
> "%s/event-%d-%" PRIu64 "-%d"
>
> but for all the WRITE_ASS examples, simply replace "llu" with PRIu64

Thanks for the suggestion. I had a try, but it failed to build for x86_64.

| tests/attr.c:74:4: error: format '%lu' expects argument of type 'long 
unsigned int', but argument 6 has type '__u64' [-Werror=format=]
|     attr->type, attr->config, fd);

Yang

>
>
> On 10/25/13 1:11 PM, "Billie Alsup" <billie.alsup@ericsson.com> wrote:
>
>> Wouldn't it be better to change "%llu" to PRIu64 (from inttypes.h)?
>> Notice that PRIu32 is already used in places.
>> You can use string catenation where necessary, e.g.
>>
>> "%s/event-%d-" PRIu64 "-%d"
>>
>>
>> On 10/25/13 12:17 PM, "Yang Shi" <yang.shi@windriver.com> wrote:
>>
>>> On MIPS64, "__u64" is "unsigned long" type, so the "%llu" specifier will
>>> cause
>>> build error on MIPS64.
>>>
>>> Convert __u64 to unsigned long long in those sprintf calls to avoid the
>>> build
>>> error.
>>>
>>> Signed-off-by: Yang Shi <yang.shi@windriver.com>
>>> ---
>>> tools/perf/tests/attr.c               |   20 ++++++++++----------
>>> tools/perf/tests/bp_signal.c          |    2 +-
>>> tools/perf/tests/bp_signal_overflow.c |    2 +-
>>> 3 files changed, 12 insertions(+), 12 deletions(-)
>>>
>>> diff --git a/tools/perf/tests/attr.c b/tools/perf/tests/attr.c
>>> index 00218f5..f045c2c 100644
>>> --- a/tools/perf/tests/attr.c
>>> +++ b/tools/perf/tests/attr.c
>>> @@ -71,7 +71,7 @@ static int store_event(struct perf_event_attr *attr,
>>> pid_t pid, int cpu,
>>> 	char path[PATH_MAX];
>>>
>>> 	snprintf(path, PATH_MAX, "%s/event-%d-%llu-%d", dir,
>>> -		 attr->type, attr->config, fd);
>>> +		 attr->type, (unsigned long long)attr->config, fd);
>>>
>>> 	file = fopen(path, "w+");
>>> 	if (!file) {
>>> @@ -80,7 +80,7 @@ static int store_event(struct perf_event_attr *attr,
>>> pid_t pid, int cpu,
>>> 	}
>>>
>>> 	if (fprintf(file, "[event-%d-%llu-%d]\n",
>>> -		    attr->type, attr->config, fd) < 0) {
>>> +		    attr->type, (unsigned long long)attr->config, fd) < 0) {
>>> 		perror("test attr - failed to write event file");
>>> 		fclose(file);
>>> 		return -1;
>>> @@ -96,10 +96,10 @@ static int store_event(struct perf_event_attr *attr,
>>> pid_t pid, int cpu,
>>> 	/* struct perf_event_attr */
>>> 	WRITE_ASS(type,   PRIu32);
>>> 	WRITE_ASS(size,   PRIu32);
>>> -	WRITE_ASS(config,  "llu");
>>> -	WRITE_ASS(sample_period, "llu");
>>> -	WRITE_ASS(sample_type,   "llu");
>>> -	WRITE_ASS(read_format,   "llu");
>>> +	__WRITE_ASS(config,        "llu", (unsigned long long)attr->config);
>>> +	__WRITE_ASS(sample_period, "llu", (unsigned long
>>> long)attr->sample_period);
>>> +	__WRITE_ASS(sample_type,   "llu", (unsigned long
>>> long)attr->sample_type);
>>> +	__WRITE_ASS(read_format,   "llu", (unsigned long
>>> long)attr->read_format);
>>> 	WRITE_ASS(disabled,       "d");
>>> 	WRITE_ASS(inherit,        "d");
>>> 	WRITE_ASS(pinned,         "d");
>>> @@ -124,10 +124,10 @@ static int store_event(struct perf_event_attr
>>> *attr, pid_t pid, int cpu,
>>> 	WRITE_ASS(exclude_callchain_user, "d");
>>> 	WRITE_ASS(wakeup_events, PRIu32);
>>> 	WRITE_ASS(bp_type, PRIu32);
>>> -	WRITE_ASS(config1, "llu");
>>> -	WRITE_ASS(config2, "llu");
>>> -	WRITE_ASS(branch_sample_type, "llu");
>>> -	WRITE_ASS(sample_regs_user,   "llu");
>>> +	__WRITE_ASS(config1,            "llu", (unsigned long
>>> long)attr->config1);
>>> +	__WRITE_ASS(config2,            "llu", (unsigned long
>>> long)attr->config2);
>>> +	__WRITE_ASS(branch_sample_type, "llu", (unsigned long
>>> long)attr->branch_sample_type);
>>> +	__WRITE_ASS(sample_regs_user,   "llu", (unsigned long
>>> long)attr->sample_regs_user);
>>> 	WRITE_ASS(sample_stack_user,  PRIu32);
>>>
>>> 	fclose(file);
>>> diff --git a/tools/perf/tests/bp_signal.c b/tools/perf/tests/bp_signal.c
>>> index 68daa28..bf3a094 100644
>>> --- a/tools/perf/tests/bp_signal.c
>>> +++ b/tools/perf/tests/bp_signal.c
>>> @@ -74,7 +74,7 @@ static int bp_event(void *fn, int setup_signal)
>>>
>>> 	fd = sys_perf_event_open(&pe, 0, -1, -1, 0);
>>> 	if (fd < 0) {
>>> -		pr_debug("failed opening event %llx\n", pe.config);
>>> +		pr_debug("failed opening event %llx\n", (unsigned long
>>> long)pe.config);
>>> 		return TEST_FAIL;
>>> 	}
>>>
>>> diff --git a/tools/perf/tests/bp_signal_overflow.c
>>> b/tools/perf/tests/bp_signal_overflow.c
>>> index fe7ed28..3662b15 100644
>>> --- a/tools/perf/tests/bp_signal_overflow.c
>>> +++ b/tools/perf/tests/bp_signal_overflow.c
>>> @@ -87,7 +87,7 @@ int test__bp_signal_overflow(void)
>>>
>>> 	fd = sys_perf_event_open(&pe, 0, -1, -1, 0);
>>> 	if (fd < 0) {
>>> -		pr_debug("failed opening event %llx\n", pe.config);
>>> +		pr_debug("failed opening event %llx\n", (unsigned long
>>> long)pe.config);
>>> 		return TEST_FAIL;
>>> 	}
>>>
>>> -- 
>>> 1.7.5.4
>>>
>>> _______________________________________________
>>> yocto mailing list
>>> yocto@yoctoproject.org
>>> https://lists.yoctoproject.org/listinfo/yocto
>
>



  reply	other threads:[~2013-10-25 20:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-25 19:17 [PATCH] perf: mips64: Convert __u64 to unsigned long long Yang Shi
2013-10-25 20:11 ` Billie Alsup
2013-10-25 20:14   ` Billie Alsup
2013-10-25 20:52     ` Yang Shi [this message]
2013-10-29  0:38 ` Khem Raj
2013-10-29  9:28   ` Hans Beckérus
2013-10-29 12:40     ` Bruce Ashfield
2013-10-29 14:49       ` Yang Shi
2013-10-29 14:48   ` Yang Shi

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=526ADA08.1010308@windriver.com \
    --to=yang.shi@windriver.com \
    --cc=billie.alsup@ericsson.com \
    --cc=bruce.ashfield@windriver.com \
    --cc=yocto@yoctoproject.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.