2015-07-01 11:57:25

by Aaro Koskinen

[permalink] [raw]
Subject: [PATCH 1/2] perf: create config.detected into OUTPUT directory

Create config.detected into OUTPUT directory instead of source directory.
This fixes parallel builds that share the same source directory.

Signed-off-by: Aaro Koskinen <[email protected]>
---
tools/build/Makefile.build | 2 +-
tools/perf/Makefile.perf | 2 +-
tools/perf/config/Makefile | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
index 69c35cf..7ebd35a 100644
--- a/tools/build/Makefile.build
+++ b/tools/build/Makefile.build
@@ -25,7 +25,7 @@ build-dir := $(srctree)/tools/build
include $(build-dir)/Build.include

# do not force detected configuration
--include .config-detected
+-include $(OUTPUT).config-detected

# Init all relevant variables used in build files so
# 1) they have correct type
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index c43a205..14e823f 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -528,7 +528,7 @@ config-clean:
clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean config-clean
$(call QUIET_CLEAN, core-objs) $(RM) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf-with-kcore $(LANG_BINDINGS)
$(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
- $(Q)$(RM) .config-detected
+ $(Q)$(RM) $(OUTPUT).config-detected
$(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32
$(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex*
$(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 59a98c6..3440fc1 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -11,9 +11,9 @@ ifneq ($(obj-perf),)
obj-perf := $(abspath $(obj-perf))/
endif

-$(shell echo -n > .config-detected)
-detected = $(shell echo "$(1)=y" >> .config-detected)
-detected_var = $(shell echo "$(1)=$($(1))" >> .config-detected)
+$(shell echo -n > $(OUTPUT).config-detected)
+detected = $(shell echo "$(1)=y" >> $(OUTPUT).config-detected)
+detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)

CFLAGS := $(EXTRA_CFLAGS) $(EXTRA_WARNINGS)

--
2.4.3


2015-07-01 11:57:39

by Aaro Koskinen

[permalink] [raw]
Subject: [PATCH 2/2] perf: allow to specify custom linker command

Allow to specify custom linker command. This fixes MIPS64 builds for
64-bit userspace as it will allow to pass a linker using the correct
linker flags for 64-bit ABI (by default GNU binutils ld will assume N32).

Signed-off-by: Aaro Koskinen <[email protected]>
---
tools/perf/Makefile.perf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 14e823f..a3fbe65 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -108,7 +108,7 @@ $(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
$(Q)touch $(OUTPUT)PERF-VERSION-FILE

CC = $(CROSS_COMPILE)gcc
-LD = $(CROSS_COMPILE)ld
+LD ?= $(CROSS_COMPILE)ld
AR = $(CROSS_COMPILE)ar
PKG_CONFIG = $(CROSS_COMPILE)pkg-config

--
2.4.3

2015-07-01 13:04:45

by Jiri Olsa

[permalink] [raw]
Subject: Re: [PATCH 1/2] perf: create config.detected into OUTPUT directory

On Wed, Jul 01, 2015 at 02:54:42PM +0300, Aaro Koskinen wrote:
> Create config.detected into OUTPUT directory instead of source directory.
> This fixes parallel builds that share the same source directory.
>
> Signed-off-by: Aaro Koskinen <[email protected]>

Acked-by: Jiri Olsa <[email protected]>

thanks,
jirka

> ---
> tools/build/Makefile.build | 2 +-
> tools/perf/Makefile.perf | 2 +-
> tools/perf/config/Makefile | 6 +++---
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
> index 69c35cf..7ebd35a 100644
> --- a/tools/build/Makefile.build
> +++ b/tools/build/Makefile.build
> @@ -25,7 +25,7 @@ build-dir := $(srctree)/tools/build
> include $(build-dir)/Build.include
>
> # do not force detected configuration
> --include .config-detected
> +-include $(OUTPUT).config-detected
>
> # Init all relevant variables used in build files so
> # 1) they have correct type
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index c43a205..14e823f 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -528,7 +528,7 @@ config-clean:
> clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean config-clean
> $(call QUIET_CLEAN, core-objs) $(RM) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf-with-kcore $(LANG_BINDINGS)
> $(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
> - $(Q)$(RM) .config-detected
> + $(Q)$(RM) $(OUTPUT).config-detected
> $(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32
> $(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex*
> $(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean
> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> index 59a98c6..3440fc1 100644
> --- a/tools/perf/config/Makefile
> +++ b/tools/perf/config/Makefile
> @@ -11,9 +11,9 @@ ifneq ($(obj-perf),)
> obj-perf := $(abspath $(obj-perf))/
> endif
>
> -$(shell echo -n > .config-detected)
> -detected = $(shell echo "$(1)=y" >> .config-detected)
> -detected_var = $(shell echo "$(1)=$($(1))" >> .config-detected)
> +$(shell echo -n > $(OUTPUT).config-detected)
> +detected = $(shell echo "$(1)=y" >> $(OUTPUT).config-detected)
> +detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)
>
> CFLAGS := $(EXTRA_CFLAGS) $(EXTRA_WARNINGS)
>
> --
> 2.4.3
>

2015-07-01 13:04:57

by Jiri Olsa

[permalink] [raw]
Subject: Re: [PATCH 2/2] perf: allow to specify custom linker command

On Wed, Jul 01, 2015 at 02:54:43PM +0300, Aaro Koskinen wrote:
> Allow to specify custom linker command. This fixes MIPS64 builds for
> 64-bit userspace as it will allow to pass a linker using the correct
> linker flags for 64-bit ABI (by default GNU binutils ld will assume N32).
>
> Signed-off-by: Aaro Koskinen <[email protected]>

Acked-by: Jiri Olsa <[email protected]>

thanks,
jirka

> ---
> tools/perf/Makefile.perf | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 14e823f..a3fbe65 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -108,7 +108,7 @@ $(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
> $(Q)touch $(OUTPUT)PERF-VERSION-FILE
>
> CC = $(CROSS_COMPILE)gcc
> -LD = $(CROSS_COMPILE)ld
> +LD ?= $(CROSS_COMPILE)ld
> AR = $(CROSS_COMPILE)ar
> PKG_CONFIG = $(CROSS_COMPILE)pkg-config
>
> --
> 2.4.3
>

Subject: [tip:perf/urgent] perf tools: Create config.detected into OUTPUT directory

Commit-ID: 642273795fa81da11290ffa90bce6ff242f2a7bb
Gitweb: http://git.kernel.org/tip/642273795fa81da11290ffa90bce6ff242f2a7bb
Author: Aaro Koskinen <[email protected]>
AuthorDate: Wed, 1 Jul 2015 14:54:42 +0300
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Wed, 1 Jul 2015 17:53:49 -0300

perf tools: Create config.detected into OUTPUT directory

Create config.detected into OUTPUT directory instead of source
directory.

This fixes parallel builds that share the same source directory.

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/build/Makefile.build | 2 +-
tools/perf/Makefile.perf | 2 +-
tools/perf/config/Makefile | 6 +++---
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build
index a51244a..faca2bf 100644
--- a/tools/build/Makefile.build
+++ b/tools/build/Makefile.build
@@ -25,7 +25,7 @@ build-dir := $(srctree)/tools/build
include $(build-dir)/Build.include

# do not force detected configuration
--include .config-detected
+-include $(OUTPUT).config-detected

# Init all relevant variables used in build files so
# 1) they have correct type
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 1af0cfe..0e0938a 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -545,7 +545,7 @@ config-clean:
clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean config-clean
$(call QUIET_CLEAN, core-objs) $(RM) $(LIB_FILE) $(OUTPUT)perf-archive $(OUTPUT)perf-with-kcore $(LANG_BINDINGS)
$(Q)find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
- $(Q)$(RM) .config-detected
+ $(Q)$(RM) $(OUTPUT).config-detected
$(call QUIET_CLEAN, core-progs) $(RM) $(ALL_PROGRAMS) perf perf-read-vdso32 perf-read-vdsox32
$(call QUIET_CLEAN, core-gen) $(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo $(OUTPUT)common-cmds.h TAGS tags cscope* $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)FEATURE-DUMP $(OUTPUT)util/*-bison* $(OUTPUT)util/*-flex*
$(QUIET_SUBDIR0)Documentation $(QUIET_SUBDIR1) clean
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 317001c..094ddae 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -11,9 +11,9 @@ ifneq ($(obj-perf),)
obj-perf := $(abspath $(obj-perf))/
endif

-$(shell echo -n > .config-detected)
-detected = $(shell echo "$(1)=y" >> .config-detected)
-detected_var = $(shell echo "$(1)=$($(1))" >> .config-detected)
+$(shell echo -n > $(OUTPUT).config-detected)
+detected = $(shell echo "$(1)=y" >> $(OUTPUT).config-detected)
+detected_var = $(shell echo "$(1)=$($(1))" >> $(OUTPUT).config-detected)

CFLAGS := $(EXTRA_CFLAGS) $(EXTRA_WARNINGS)

Subject: [tip:perf/urgent] perf tools: Allow to specify custom linker command

Commit-ID: 5ef7bbb09f7b91ef06524c72e1ab1fc48e0d6682
Gitweb: http://git.kernel.org/tip/5ef7bbb09f7b91ef06524c72e1ab1fc48e0d6682
Author: Aaro Koskinen <[email protected]>
AuthorDate: Wed, 1 Jul 2015 14:54:43 +0300
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Wed, 1 Jul 2015 17:53:50 -0300

perf tools: Allow to specify custom linker command

Allow to specify custom linker command. This fixes MIPS64 builds for
64-bit userspace as it will allow to pass a linker using the correct
linker flags for 64-bit ABI (by default GNU binutils ld will assume
N32).

Signed-off-by: Aaro Koskinen <[email protected]>
Acked-by: Jiri Olsa <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/Makefile.perf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 0e0938a..7a4b549 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -110,7 +110,7 @@ $(OUTPUT)PERF-VERSION-FILE: ../../.git/HEAD
$(Q)touch $(OUTPUT)PERF-VERSION-FILE

CC = $(CROSS_COMPILE)gcc
-LD = $(CROSS_COMPILE)ld
+LD ?= $(CROSS_COMPILE)ld
AR = $(CROSS_COMPILE)ar
PKG_CONFIG = $(CROSS_COMPILE)pkg-config