All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Andi Kleen <andi@firstfloor.org>,
	Arnaldo Carvalho de Melo <arnaldo.melo@gmail.com>,
	Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>,
	peterz@infradead.org, maddy@linux.vnet.ibm.com,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v21 00/20] perf, tools: Add support for PMU events in JSON format
Date: Thu, 29 Sep 2016 19:19:48 -0300	[thread overview]
Message-ID: <20160929221948.GB29214@kernel.org> (raw)
In-Reply-To: <20160927141846.GA6589@krava>

Em Tue, Sep 27, 2016 at 04:18:46PM +0200, Jiri Olsa escreveu:
> On Mon, Sep 26, 2016 at 09:59:54AM -0700, Andi Kleen wrote:
> > On Mon, Sep 26, 2016 at 12:03:43PM -0300, Arnaldo Carvalho de Melo wrote:
> > > Em Mon, Sep 26, 2016 at 10:35:33AM +0200, Jiri Olsa escreveu:
> > > > ping.. is that working for you? IMO we can include this
> > > > as additional patch to the set..
> > > 
> > > No, it doesn't fails to build on the first cross env I tried, fixing it
> > > now, resulting patch:
> > 
> > Yes it shouldn't be difficult to fix cross building. I don't think
> > there are any fundamental problems.
> 
> right, how about attached patch
> 
> Arnaldo,
> could you please try it on cross build.. I still dont have setup for that :-\
> 
> thanks,
> jirka

So, this makes it work for me in one of the cross build envs I have (all
in https://hub.docker.com/r/acmel/) if I apply this patch on top:

diff --git a/tools/build/Makefile b/tools/build/Makefile
index 653faee2a055..8332959fbca4 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -42,7 +42,7 @@ $(OUTPUT)fixdep-in.o: FORCE
 	$(Q)$(MAKE) $(build)=fixdep
 
 $(OUTPUT)fixdep: $(OUTPUT)fixdep-in.o
-	$(QUIET_LINK)$(CC) $(LDFLAGS) -o $@ $<
+	$(QUIET_LINK)$(HOSTCC) $(LDFLAGS) -o $@ $<
 
 FORCE:
 
-------------------

I've broken up the patch into multiple ones, to get first fixdep
working, then to move to jevents, I'm putting this on a
tmp.perf/hostprog branch till I've tested it all.

- Arnaldo
 
> 
> ---
> diff --git a/tools/build/Build b/tools/build/Build
> index 63a6c34c0c88..76d1a4960973 100644
> --- a/tools/build/Build
> +++ b/tools/build/Build
> @@ -1 +1,3 @@
> +hostprogs := fixdep
> +
>  fixdep-y := fixdep.o
> diff --git a/tools/build/Makefile b/tools/build/Makefile
> index 0d5a0e3a8fa9..653faee2a055 100644
> --- a/tools/build/Makefile
> +++ b/tools/build/Makefile
> @@ -14,6 +14,12 @@ endef
>  $(call allow-override,CC,$(CROSS_COMPILE)gcc)
>  $(call allow-override,LD,$(CROSS_COMPILE)ld)
>  
> +HOSTCC ?= gcc
> +HOSTLD ?= ld
> +HOSTAR ?= ar
> +
> +export HOSTCC HOSTLD HOSTAR
> +
>  ifeq ($(V),1)
>    Q =
>  else
> diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
> index 27f3583193e6..031c5631cc21 100644
> --- a/tools/build/Makefile.build
> +++ b/tools/build/Makefile.build
> @@ -58,6 +58,9 @@ quiet_cmd_mkdir = MKDIR    $(dir $@)
>  quiet_cmd_cc_o_c = CC       $@
>        cmd_cc_o_c = $(CC) $(c_flags) -c -o $@ $<
>  
> +quiet_cmd_host_cc_o_c = HOSTCC   $@
> +      cmd_host_cc_o_c = $(HOSTCC) $(c_flags) -c -o $@ $<
> +
>  quiet_cmd_cpp_i_c = CPP      $@
>        cmd_cpp_i_c = $(CC) $(c_flags) -E -o $@ $<
>  
> @@ -70,16 +73,24 @@ quiet_cmd_gen = GEN      $@
>  # If there's nothing to link, create empty $@ object.
>  quiet_cmd_ld_multi = LD       $@
>        cmd_ld_multi = $(if $(strip $(obj-y)),\
> -		       $(LD) -r -o $@  $(filter $(obj-y),$^),rm -f $@; $(AR) rcs $@)
> +                     $(LD) -r -o $@  $(filter $(obj-y),$^),rm -f $@; $(AR) rcs $@)
> +
> +quiet_cmd_host_ld_multi = HOSTLD   $@
> +      cmd_host_ld_multi = $(if $(strip $(obj-y)),\
> +                          $(HOSTLD) -r -o $@  $(filter $(obj-y),$^),rm -f $@; $(HOSTAR) rcs $@)
> +
> +ifneq ($(filter $(obj),$(hostprogs)),)
> +  host = host_
> +endif
>  
>  # Build rules
>  $(OUTPUT)%.o: %.c FORCE
>  	$(call rule_mkdir)
> -	$(call if_changed_dep,cc_o_c)
> +	$(call if_changed_dep,$(host)cc_o_c)
>  
>  $(OUTPUT)%.o: %.S FORCE
>  	$(call rule_mkdir)
> -	$(call if_changed_dep,cc_o_c)
> +	$(call if_changed_dep,$(host)cc_o_c)
>  
>  $(OUTPUT)%.i: %.c FORCE
>  	$(call rule_mkdir)
> @@ -119,7 +130,7 @@ $(sort $(subdir-obj-y)): $(subdir-y) ;
>  
>  $(in-target): $(obj-y) FORCE
>  	$(call rule_mkdir)
> -	$(call if_changed,ld_multi)
> +	$(call if_changed,$(host)ld_multi)
>  
>  __build: $(in-target)
>  	@:
> diff --git a/tools/build/Makefile.include b/tools/build/Makefile.include
> index be630bed66d2..ad22e4e7bc59 100644
> --- a/tools/build/Makefile.include
> +++ b/tools/build/Makefile.include
> @@ -1,10 +1,6 @@
>  build := -f $(srctree)/tools/build/Makefile.build dir=. obj
>  
> -ifdef CROSS_COMPILE
> -fixdep:
> -else
>  fixdep:
>  	$(Q)$(MAKE) -C $(srctree)/tools/build CFLAGS= LDFLAGS= $(OUTPUT)fixdep
> -endif
>  
>  .PHONY: fixdep
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 0abebcba849f..1347b5de3669 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -144,6 +144,10 @@ $(call allow-override,LD,$(CROSS_COMPILE)ld)
>  
>  LD += $(EXTRA_LDFLAGS)
>  
> +HOSTCC  ?= gcc
> +HOSTLD  ?= ld
> +HOSTAR  ?= ar
> +
>  PKG_CONFIG = $(CROSS_COMPILE)pkg-config
>  
>  RM      = rm -f
> @@ -345,6 +349,7 @@ strip: $(PROGRAMS) $(OUTPUT)perf
>  PERF_IN := $(OUTPUT)perf-in.o
>  
>  export srctree OUTPUT RM CC LD AR CFLAGS V BISON FLEX AWK
> +export HOSTCC HOSTLD HOSTAR
>  include $(srctree)/tools/build/Makefile.include
>  
>  JEVENTS       := $(OUTPUT)pmu-events/jevents
> diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
> index d2f34307ae79..9213a1273697 100644
> --- a/tools/perf/pmu-events/Build
> +++ b/tools/perf/pmu-events/Build
> @@ -1,3 +1,5 @@
> +hostprogs := jevents
> +
>  jevents-y	+= json.o jsmn.o jevents.o
>  pmu-events-y	+= pmu-events.o
>  JDIR		=  pmu-events/arch/$(ARCH)

  reply	other threads:[~2016-09-29 22:19 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-15 22:24 [PATCH v21 00/20] perf, tools: Add support for PMU events in JSON format Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 01/19] perf, tools: Add jsmn `jasmine' JSON parser Sukadev Bhattiprolu
2016-10-04  8:11   ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 02/19] perf, tools, jevents: Program to convert JSON file to C style file Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 03/19] perf, tools: Use pmu_events table to create aliases Sukadev Bhattiprolu
2016-09-27 13:16   ` Arnaldo Carvalho de Melo
2016-10-04  8:12   ` [tip:perf/urgent] perf pmu: " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 04/19] perf, tools: Support CPU ID matching for Powerpc Sukadev Bhattiprolu
2016-10-04  8:13   ` [tip:perf/urgent] perf powerpc: " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 05/19] perf, tools: Support CPU id matching for x86 v2 Sukadev Bhattiprolu
2016-10-04  8:13   ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 06/19] perf, tools: Support alias descriptions Sukadev Bhattiprolu
2016-09-27 17:41   ` Arnaldo Carvalho de Melo
2016-09-27 18:11     ` Sukadev Bhattiprolu
2016-09-28 13:57       ` Arnaldo Carvalho de Melo
2016-09-28 18:29         ` Sukadev Bhattiprolu
2016-09-28 19:08           ` Arnaldo Carvalho de Melo
2016-10-03 20:52           ` Arnaldo Carvalho de Melo
2016-10-04  8:14   ` [tip:perf/urgent] perf pmu: " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 07/19] perf, tools: Query terminal width and use in perf list Sukadev Bhattiprolu
2016-10-04  8:14   ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 08/19] perf, tools: Add a --no-desc flag to " Sukadev Bhattiprolu
2016-10-04  8:15   ` [tip:perf/urgent] perf list: Add a --no-desc flag tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 09/19] perf, tools: Add override support for event list CPUID Sukadev Bhattiprolu
2016-10-04  8:15   ` [tip:perf/urgent] perf pmu: " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 10/19] perf, tools, jevents: Add support for long descriptions Sukadev Bhattiprolu
2016-10-04  8:16   ` [tip:perf/urgent] perf " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 11/19] perf, tools: Add alias " Sukadev Bhattiprolu
2016-10-04  0:20   ` Arnaldo Carvalho de Melo
2016-09-15 22:24 ` [PATCH v21 12/19] perf, tools: Support long descriptions with perf list Sukadev Bhattiprolu
2016-10-04  0:26   ` Arnaldo Carvalho de Melo
2016-10-04  8:16   ` [tip:perf/urgent] perf list: Support long jevents descriptions tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 13/19] perf, tools: Add support for event list topics Sukadev Bhattiprolu
2016-10-04  8:16   ` [tip:perf/urgent] perf list jevents: " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 14/19] perf, tools, jevents: Handle header line in mapfile Sukadev Bhattiprolu
2016-10-04  0:36   ` Arnaldo Carvalho de Melo
2016-10-04  8:13   ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 15/19] perf, tools: Add README for info on parsing JSON/map files Sukadev Bhattiprolu
2016-10-04  0:38   ` Arnaldo Carvalho de Melo
2016-10-04  8:17   ` [tip:perf/urgent] perf " tip-bot for Sukadev Bhattiprolu
2016-09-15 22:24 ` [PATCH v21 16/19] perf, tools: Make alias matching case-insensitive Sukadev Bhattiprolu
2016-10-04  0:47   ` Arnaldo Carvalho de Melo
2016-10-04  0:54     ` Arnaldo Carvalho de Melo
2016-10-04  8:19       ` Jiri Olsa
2016-10-04  8:19     ` Jiri Olsa
2016-10-04  8:18   ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 17/19] perf, tools, pmu-events: Fix fixed counters on Intel Sukadev Bhattiprolu
2016-10-04  8:18   ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 18/19] perf, tools, pmu-events: Add Skylake frontend MSR support Sukadev Bhattiprolu
2016-10-04  8:19   ` [tip:perf/urgent] perf " tip-bot for Andi Kleen
2016-09-15 22:24 ` [PATCH v21 19/19] perf, tools: Allow period= in perf stat CPU event descriptions Sukadev Bhattiprolu
2016-10-04  8:17   ` [tip:perf/urgent] perf " tip-bot for Sukadev Bhattiprolu
2016-09-19 16:58 ` [PATCH v21 00/20] perf, tools: Add support for PMU events in JSON format Sukadev Bhattiprolu
2016-09-19 21:20 ` Arnaldo Carvalho de Melo
2016-09-19 23:31   ` Arnaldo Carvalho de Melo
2016-09-19 23:37     ` Arnaldo Carvalho de Melo
2016-09-20  0:02       ` Arnaldo Carvalho de Melo
2016-09-20  0:28         ` Arnaldo Carvalho de Melo
2016-09-22 14:56           ` Arnaldo Carvalho de Melo
2016-09-22 15:00           ` Jiri Olsa
2016-09-22 16:27             ` Jiri Olsa
2016-09-26  8:35               ` Jiri Olsa
2016-09-26 15:03                 ` Arnaldo Carvalho de Melo
2016-09-26 16:59                   ` Andi Kleen
2016-09-27 14:18                     ` Jiri Olsa
2016-09-29 22:19                       ` Arnaldo Carvalho de Melo [this message]
2016-09-30  9:10                         ` Jiri Olsa
2016-10-04  8:10                       ` [tip:perf/urgent] tools build: Add support for host programs format tip-bot for Jiri Olsa
2016-10-04  8:11                       ` [tip:perf/urgent] tools build: Make fixdep a hostprog tip-bot for Jiri Olsa
2016-10-04  8:12                       ` [tip:perf/urgent] perf jevents: Program to convert JSON file tip-bot for Andi Kleen

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=20160929221948.GB29214@kernel.org \
    --to=acme@kernel.org \
    --cc=andi@firstfloor.org \
    --cc=arnaldo.melo@gmail.com \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=maddy@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=sukadev@linux.vnet.ibm.com \
    /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.