Re: [patch] perf build questions
From: Frederic Weisbecker
Date: Mon Oct 05 2009 - 16:48:30 EST
On Mon, Oct 05, 2009 at 01:17:29PM -0700, Randy Dunlap wrote:
> Hi,
>
> How do I build 'perf' for an i386 target when running on x86_64?
> and how do I do 'perf' cross-builds in general?
>
I let someone else who knows that better than me answer to that.
But you may need to override the CC var in the makefile for now.
This is something we should make tunable.
> Also, I see build errors/warnings (-Werror). Others aren't seeing these?
> Just due to my gcc version?
>
> Patch below.
>
> Thanks.
Oh thanks. I've never seen them.
The builtin-sched.c warning is right.
But the util/trace-event-parse.c warnings are wrong since the parameters
passed to these functions are always cast to char *
But that is wrong too, these functions should take const char * and
not char * as they never need to touch these strings.
So your patch is correct, I'll just convert the callsites. It's
my bad, I've put these casts to shutdown such warnings while integrating
the trace-cmd lib. I was distracted by harder integration problems.
Thanks.
Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
>
> Fix perf build warnings/errors in function argument types:
>
> builtin-sched.c:1894: warning: passing argument 1 of 'sort_dimension__add' discards qualifiers from pointer target type
> util/trace-event-parse.c:685: warning: passing argument 2 of 'read_expected' discards qualifiers from pointer target type
> util/trace-event-parse.c:741: warning: passing argument 4 of 'test_type_token' discards qualifiers from pointer target type
> util/trace-event-parse.c:706: warning: passing argument 2 of 'read_expected_item' discards qualifiers from pointer target type
>
> Signed-off-by: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
> ---
> tools/perf/builtin-sched.c | 2 +-
> tools/perf/util/trace-event-parse.c | 8 ++++----
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> --- a/tools/perf/builtin-sched.c
> +++ b/tools/perf/builtin-sched.c
> @@ -1287,7 +1287,7 @@ static struct sort_dimension *available_
>
> static LIST_HEAD(sort_list);
>
> -static int sort_dimension__add(char *tok, struct list_head *list)
> +static int sort_dimension__add(const char *tok, struct list_head *list)
> {
> int i;
>
> --- a/tools/perf/util/trace-event-parse.c
> +++ b/tools/perf/util/trace-event-parse.c
> @@ -618,7 +618,7 @@ static int test_type(enum event_type typ
> }
>
> static int test_type_token(enum event_type type, char *token,
> - enum event_type expect, char *expect_tok)
> + enum event_type expect, const char *expect_tok)
> {
> if (type != expect) {
> die("Error: expected type %d but read %d",
> @@ -650,7 +650,7 @@ static int read_expect_type(enum event_t
> return __read_expect_type(expect, tok, 1);
> }
>
> -static int __read_expected(enum event_type expect, char *str, int newline_ok)
> +static int __read_expected(enum event_type expect, const char *str, int newline_ok)
> {
> enum event_type type;
> char *token;
> @@ -668,12 +668,12 @@ static int __read_expected(enum event_ty
> return 0;
> }
>
> -static int read_expected(enum event_type expect, char *str)
> +static int read_expected(enum event_type expect, const char *str)
> {
> return __read_expected(expect, str, 1);
> }
>
> -static int read_expected_item(enum event_type expect, char *str)
> +static int read_expected_item(enum event_type expect, const char *str)
> {
> return __read_expected(expect, str, 0);
> }
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/