All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] kbuild: refactor Makefiles related with cc-version
@ 2014-12-25  5:31 ` Masahiro Yamada
  0 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada, x86,
	H. Peter Anvin, H. Peter Anvin, linux-doc, Jonathan Corbet,
	Robert Richter, Michael Ellerman, Helge Deller,
	Benjamin Herrenschmidt, linux-kernel, Thomas Gleixner,
	Andi Kleen, James E.J. Bottomley, Paul Mackerras, Ingo Molnar,
	linux-parisc, linuxppc-dev




Masahiro Yamada (6):
  kbuild: fix cc-ifversion macro
  kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
  kbuild,gcov: remove unnecessary workaround
  kbuild,gcov: simplify kernel/gcov/Makefile
  kbuild: allow cc-ifversion to have the argument for false condition
  kbuild,gcov: simplify kernel/gcov/Makefile more

 Documentation/kbuild/makefiles.txt |  9 +++++----
 arch/parisc/Makefile               |  2 +-
 arch/powerpc/Makefile              |  6 +++---
 arch/x86/Makefile.um               |  2 +-
 kernel/gcov/Makefile               | 36 +++++-------------------------------
 scripts/Kbuild.include             |  7 ++-----
 6 files changed, 17 insertions(+), 45 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 0/6] kbuild: refactor Makefiles related with cc-version
@ 2014-12-25  5:31 ` Masahiro Yamada
  0 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Michal Marek, Jonathan Corbet, Andi Kleen, Robert Richter,
	linux-parisc, linux-doc, Peter Oberparleiter, Helge Deller, x86,
	linux-kernel, James E.J. Bottomley, Masahiro Yamada, Ingo Molnar,
	H. Peter Anvin, Paul Mackerras, Thomas Gleixner, H. Peter Anvin,
	linuxppc-dev




Masahiro Yamada (6):
  kbuild: fix cc-ifversion macro
  kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
  kbuild,gcov: remove unnecessary workaround
  kbuild,gcov: simplify kernel/gcov/Makefile
  kbuild: allow cc-ifversion to have the argument for false condition
  kbuild,gcov: simplify kernel/gcov/Makefile more

 Documentation/kbuild/makefiles.txt |  9 +++++----
 arch/parisc/Makefile               |  2 +-
 arch/powerpc/Makefile              |  6 +++---
 arch/x86/Makefile.um               |  2 +-
 kernel/gcov/Makefile               | 36 +++++-------------------------------
 scripts/Kbuild.include             |  7 ++-----
 6 files changed, 17 insertions(+), 45 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/6] kbuild: fix cc-ifversion macro
  2014-12-25  5:31 ` Masahiro Yamada
  (?)
@ 2014-12-25  5:31 ` Masahiro Yamada
  -1 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada,
	Robert Richter, H. Peter Anvin, Andi Kleen, linux-kernel

The macro "cc-version" takes no argument.  Drop $(CC) from the
"cc-ifversion" definition.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 scripts/Kbuild.include | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index a6f7914..a972666 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -146,7 +146,7 @@ cc-fullversion = $(shell $(KBUILD_SHELL) \
 
 # cc-ifversion
 # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
-cc-ifversion = $(shell [ $(call cc-version, $(CC)) $(1) $(2) ] && echo $(3))
+cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
 
 # cc-ldoption
 # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
  2014-12-25  5:31 ` Masahiro Yamada
@ 2014-12-25  5:31   ` Masahiro Yamada
  -1 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada,
	Jonathan Corbet, James E.J. Bottomley, Helge Deller,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86,
	Robert Richter, Andi Kleen, linux-doc, linux-kernel,
	linux-parisc, linuxppc-dev

The macros cc-version, cc-fullversion and ld-version take no argument.
It is not necessary to add $(call ...) to invoke them.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 Documentation/kbuild/makefiles.txt | 4 ++--
 arch/parisc/Makefile               | 2 +-
 arch/powerpc/Makefile              | 6 +++---
 arch/x86/Makefile.um               | 2 +-
 kernel/gcov/Makefile               | 2 +-
 scripts/Kbuild.include             | 7 ++-----
 6 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index a311db8..7b3487a 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -524,7 +524,7 @@ more details, with real examples.
 	Example:
 		#arch/x86/Makefile
 		cflags-y += $(shell \
-		if [ $(call cc-version) -ge 0300 ] ; then \
+		if [ $(cc-version) -ge 0300 ] ; then \
 			echo "-mregparm=3"; fi ;)
 
 	In the above example, -mregparm=3 is only used for gcc version greater
@@ -552,7 +552,7 @@ more details, with real examples.
 
 	Example:
 		#arch/powerpc/Makefile
-		$(Q)if test "$(call cc-fullversion)" = "040200" ; then \
+		$(Q)if test "$(cc-fullversion)" = "040200" ; then \
 			echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
 			false ; \
 		fi
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index e9b4b6a..ff5e55f 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -149,7 +149,7 @@ endef
 # we require gcc 3.3 or above to compile the kernel
 archprepare: checkbin
 checkbin:
-	@if test "$(call cc-version)" -lt "0303"; then \
+	@if test "$(cc-version)" -lt "0303"; then \
 		echo -n "Sorry, GCC v3.3 or above is required to build " ; \
 		echo "the kernel." ; \
 		false ; \
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 132d9c6..fc502e0 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -314,7 +314,7 @@ TOUT	:= .tmp_gas_check
 # - Require gcc 4.0 or above on 64-bit
 # - gcc-4.2.0 has issues compiling modules on 64-bit
 checkbin:
-	@if test "$(call cc-version)" = "0304" ; then \
+	@if test "$(cc-version)" = "0304" ; then \
 		if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \
 			echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \
 			echo 'correctly with gcc-3.4 and your version of binutils.'; \
@@ -322,13 +322,13 @@ checkbin:
 			false; \
 		fi ; \
 	fi
-	@if test "$(call cc-version)" -lt "0400" \
+	@if test "$(cc-version)" -lt "0400" \
 	    && test "x${CONFIG_PPC64}" = "xy" ; then \
                 echo -n "Sorry, GCC v4.0 or above is required to build " ; \
                 echo "the 64-bit powerpc kernel." ; \
                 false ; \
         fi
-	@if test "$(call cc-fullversion)" = "040200" \
+	@if test "$(cc-fullversion)" = "040200" \
 	    && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
 		echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
 		echo 'kernel with modules enabled.' ; \
diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
index 36b62bc..95eba55 100644
--- a/arch/x86/Makefile.um
+++ b/arch/x86/Makefile.um
@@ -30,7 +30,7 @@ cflags-y += -ffreestanding
 # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
 # a lot more stack due to the lack of sharing of stacklots.  Also, gcc
 # 4.3.0 needs -funit-at-a-time for extern inline functions.
-KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
+KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
 			echo $(call cc-option,-fno-unit-at-a-time); \
 			else echo $(call cc-option,-funit-at-a-time); fi ;)
 
diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
index 52aa7e8..6f01fa3 100644
--- a/kernel/gcov/Makefile
+++ b/kernel/gcov/Makefile
@@ -21,7 +21,7 @@ else
 # is not available. We can probably move if-lt to Kbuild.include, so it's also
 # not defined during clean or to include Kbuild.include in
 # scripts/Makefile.clean. But the following workaround seems least invasive.
-  cc-ver := $(if $(call cc-version),$(call cc-version),0)
+  cc-ver := $(if $(cc-version),$(cc-version),0)
 endif
 
 obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index a972666..69c9f57 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -136,17 +136,15 @@ cc-disable-warning = $(call try-run,\
 	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
 
 # cc-version
-# Usage gcc-ver := $(call cc-version)
 cc-version = $(shell $(KBUILD_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
 
 # cc-fullversion
-# Usage gcc-ver := $(call cc-fullversion)
 cc-fullversion = $(shell $(KBUILD_SHELL) \
 	$(srctree)/scripts/gcc-version.sh -p $(CC))
 
 # cc-ifversion
 # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
-cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
+cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
 
 # cc-ldoption
 # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
@@ -164,13 +162,12 @@ ld-option = $(call try-run,\
 ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
 
 # ld-version
-# Usage: $(call ld-version)
 # Note this is mainly for HJ Lu's 3 number binutil versions
 ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
 
 # ld-ifversion
 # Usage:  $(call ld-ifversion, -ge, 22252, y)
-ld-ifversion = $(shell [ $(call ld-version) $(1) $(2) ] && echo $(3))
+ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
 
 ######
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
@ 2014-12-25  5:31   ` Masahiro Yamada
  0 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Michal Marek, Robert Richter, x86, linux-parisc, Jonathan Corbet,
	Peter Oberparleiter, Helge Deller, H. Peter Anvin, linux-doc,
	James E.J. Bottomley, linux-kernel, Masahiro Yamada, Andi Kleen,
	Ingo Molnar, Paul Mackerras, Thomas Gleixner, linuxppc-dev

The macros cc-version, cc-fullversion and ld-version take no argument.
It is not necessary to add $(call ...) to invoke them.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 Documentation/kbuild/makefiles.txt | 4 ++--
 arch/parisc/Makefile               | 2 +-
 arch/powerpc/Makefile              | 6 +++---
 arch/x86/Makefile.um               | 2 +-
 kernel/gcov/Makefile               | 2 +-
 scripts/Kbuild.include             | 7 ++-----
 6 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index a311db8..7b3487a 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -524,7 +524,7 @@ more details, with real examples.
 	Example:
 		#arch/x86/Makefile
 		cflags-y += $(shell \
-		if [ $(call cc-version) -ge 0300 ] ; then \
+		if [ $(cc-version) -ge 0300 ] ; then \
 			echo "-mregparm=3"; fi ;)
 
 	In the above example, -mregparm=3 is only used for gcc version greater
@@ -552,7 +552,7 @@ more details, with real examples.
 
 	Example:
 		#arch/powerpc/Makefile
-		$(Q)if test "$(call cc-fullversion)" = "040200" ; then \
+		$(Q)if test "$(cc-fullversion)" = "040200" ; then \
 			echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
 			false ; \
 		fi
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
index e9b4b6a..ff5e55f 100644
--- a/arch/parisc/Makefile
+++ b/arch/parisc/Makefile
@@ -149,7 +149,7 @@ endef
 # we require gcc 3.3 or above to compile the kernel
 archprepare: checkbin
 checkbin:
-	@if test "$(call cc-version)" -lt "0303"; then \
+	@if test "$(cc-version)" -lt "0303"; then \
 		echo -n "Sorry, GCC v3.3 or above is required to build " ; \
 		echo "the kernel." ; \
 		false ; \
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 132d9c6..fc502e0 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -314,7 +314,7 @@ TOUT	:= .tmp_gas_check
 # - Require gcc 4.0 or above on 64-bit
 # - gcc-4.2.0 has issues compiling modules on 64-bit
 checkbin:
-	@if test "$(call cc-version)" = "0304" ; then \
+	@if test "$(cc-version)" = "0304" ; then \
 		if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \
 			echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \
 			echo 'correctly with gcc-3.4 and your version of binutils.'; \
@@ -322,13 +322,13 @@ checkbin:
 			false; \
 		fi ; \
 	fi
-	@if test "$(call cc-version)" -lt "0400" \
+	@if test "$(cc-version)" -lt "0400" \
 	    && test "x${CONFIG_PPC64}" = "xy" ; then \
                 echo -n "Sorry, GCC v4.0 or above is required to build " ; \
                 echo "the 64-bit powerpc kernel." ; \
                 false ; \
         fi
-	@if test "$(call cc-fullversion)" = "040200" \
+	@if test "$(cc-fullversion)" = "040200" \
 	    && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
 		echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
 		echo 'kernel with modules enabled.' ; \
diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
index 36b62bc..95eba55 100644
--- a/arch/x86/Makefile.um
+++ b/arch/x86/Makefile.um
@@ -30,7 +30,7 @@ cflags-y += -ffreestanding
 # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
 # a lot more stack due to the lack of sharing of stacklots.  Also, gcc
 # 4.3.0 needs -funit-at-a-time for extern inline functions.
-KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
+KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
 			echo $(call cc-option,-fno-unit-at-a-time); \
 			else echo $(call cc-option,-funit-at-a-time); fi ;)
 
diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
index 52aa7e8..6f01fa3 100644
--- a/kernel/gcov/Makefile
+++ b/kernel/gcov/Makefile
@@ -21,7 +21,7 @@ else
 # is not available. We can probably move if-lt to Kbuild.include, so it's also
 # not defined during clean or to include Kbuild.include in
 # scripts/Makefile.clean. But the following workaround seems least invasive.
-  cc-ver := $(if $(call cc-version),$(call cc-version),0)
+  cc-ver := $(if $(cc-version),$(cc-version),0)
 endif
 
 obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index a972666..69c9f57 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -136,17 +136,15 @@ cc-disable-warning = $(call try-run,\
 	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
 
 # cc-version
-# Usage gcc-ver := $(call cc-version)
 cc-version = $(shell $(KBUILD_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
 
 # cc-fullversion
-# Usage gcc-ver := $(call cc-fullversion)
 cc-fullversion = $(shell $(KBUILD_SHELL) \
 	$(srctree)/scripts/gcc-version.sh -p $(CC))
 
 # cc-ifversion
 # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
-cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
+cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
 
 # cc-ldoption
 # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
@@ -164,13 +162,12 @@ ld-option = $(call try-run,\
 ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
 
 # ld-version
-# Usage: $(call ld-version)
 # Note this is mainly for HJ Lu's 3 number binutil versions
 ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
 
 # ld-ifversion
 # Usage:  $(call ld-ifversion, -ge, 22252, y)
-ld-ifversion = $(shell [ $(call ld-version) $(1) $(2) ] && echo $(3))
+ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
 
 ######
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 3/6] kbuild,gcov: remove unnecessary workaround
  2014-12-25  5:31 ` Masahiro Yamada
                   ` (2 preceding siblings ...)
  (?)
@ 2014-12-25  5:31 ` Masahiro Yamada
  -1 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada, linux-kernel

Since commit 371fdc77af44 (kbuild: collect shorthands into
scripts/Kbuild.include), scripts/Makefile.clean includes
scripts/Kbuild.include.

The workaround and the comment block in kernel/gcov/Makefile
are no longer necessary.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---

 kernel/gcov/Makefile | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
index 6f01fa3..42323c7 100644
--- a/kernel/gcov/Makefile
+++ b/kernel/gcov/Makefile
@@ -10,18 +10,7 @@ ifeq ($(CONFIG_GCOV_FORMAT_3_4),y)
 else ifeq ($(CONFIG_GCOV_FORMAT_4_7),y)
   cc-ver := 0407
 else
-# Use cc-version if available, otherwise set 0
-#
-# scripts/Kbuild.include, which contains cc-version function, is not included
-# during make clean "make -f scripts/Makefile.clean obj=kernel/gcov"
-# Meaning cc-ver is empty causing if-lt test to fail with
-# "/bin/sh: line 0: [: -lt: unary operator expected" error mesage.
-# This has no affect on the clean phase, but the error message could be
-# confusing/annoying. So this dummy workaround sets cc-ver to zero if cc-version
-# is not available. We can probably move if-lt to Kbuild.include, so it's also
-# not defined during clean or to include Kbuild.include in
-# scripts/Makefile.clean. But the following workaround seems least invasive.
-  cc-ver := $(if $(cc-version),$(cc-version),0)
+  cc-ver := $(cc-version)
 endif
 
 obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 4/6] kbuild,gcov: simplify kernel/gcov/Makefile
  2014-12-25  5:31 ` Masahiro Yamada
                   ` (3 preceding siblings ...)
  (?)
@ 2014-12-25  5:31 ` Masahiro Yamada
  -1 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada, linux-kernel

Kbuild descends into kernel/gcov/ directory only when
CONFIG_GCOV_KERNEL is enabled. (See kernel/Makefile)

CONFIG_GCOV_KERNEL check can be omitted in kernel/gcov/Makefile.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---

 kernel/gcov/Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
index 42323c7..69b3515 100644
--- a/kernel/gcov/Makefile
+++ b/kernel/gcov/Makefile
@@ -13,10 +13,10 @@ else
   cc-ver := $(cc-version)
 endif
 
-obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
+obj-y := base.o fs.o
 
 ifeq ($(call if-lt, $(cc-ver), 0407),1)
-  obj-$(CONFIG_GCOV_KERNEL) += gcc_3_4.o
+  obj-y += gcc_3_4.o
 else
-  obj-$(CONFIG_GCOV_KERNEL) += gcc_4_7.o
+  obj-y += gcc_4_7.o
 endif
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 5/6] kbuild: allow cc-ifversion to have the argument for false condition
  2014-12-25  5:31 ` Masahiro Yamada
                   ` (4 preceding siblings ...)
  (?)
@ 2014-12-25  5:31 ` Masahiro Yamada
  -1 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada,
	Jonathan Corbet, Robert Richter, H. Peter Anvin, Andi Kleen,
	linux-doc, linux-kernel

The macro "try-run" can have an argument for each of true and false
cases.  Having an argument for the false case of cc-ifversion (and
ld-ifversion) would be useful too.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
---

 Documentation/kbuild/makefiles.txt | 5 +++--
 scripts/Kbuild.include             | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index 7b3487a..a64f3c6 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -531,8 +531,9 @@ more details, with real examples.
 	than or equal to gcc 3.0.
 
     cc-ifversion
-	cc-ifversion tests the version of $(CC) and equals last argument if
-	version expression is true.
+	cc-ifversion tests the version of $(CC) and equals the fourth parameter
+	if version expression is true, or the fifth (if given) if the version
+	expression is false.
 
 	Example:
 		#fs/reiserfs/Makefile
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 69c9f57..6182fa6 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -144,7 +144,7 @@ cc-fullversion = $(shell $(KBUILD_SHELL) \
 
 # cc-ifversion
 # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
-cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
+cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3) || echo $(4))
 
 # cc-ldoption
 # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
@@ -167,7 +167,7 @@ ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
 
 # ld-ifversion
 # Usage:  $(call ld-ifversion, -ge, 22252, y)
-ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
+ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3) || echo $(4))
 
 ######
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 6/6] kbuild,gcov: simplify kernel/gcov/Makefile more
  2014-12-25  5:31 ` Masahiro Yamada
                   ` (5 preceding siblings ...)
  (?)
@ 2014-12-25  5:31 ` Masahiro Yamada
  -1 siblings, 0 replies; 14+ messages in thread
From: Masahiro Yamada @ 2014-12-25  5:31 UTC (permalink / raw)
  To: linux-kbuild
  Cc: Peter Oberparleiter, Michal Marek, Masahiro Yamada, linux-kernel

CONFIG_GCOV_FORMAT_3_4 / _4_7 / _AUTODETECT are exclusive.
Compare the CC version only when _AUTODETECT is enabled.

This change should have no impact.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Cc: Peter Oberparleiter <oberpar@linux.vnet.ibm.com>
---

 kernel/gcov/Makefile | 23 ++++-------------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
index 69b3515..752d648 100644
--- a/kernel/gcov/Makefile
+++ b/kernel/gcov/Makefile
@@ -1,22 +1,7 @@
 ccflags-y := -DSRCTREE='"$(srctree)"' -DOBJTREE='"$(objtree)"'
 
-# if-lt
-# Usage VAR := $(call if-lt, $(a), $(b))
-# Returns 1 if (a < b)
-if-lt = $(shell [ $(1) -lt $(2) ] && echo 1)
-
-ifeq ($(CONFIG_GCOV_FORMAT_3_4),y)
-  cc-ver := 0304
-else ifeq ($(CONFIG_GCOV_FORMAT_4_7),y)
-  cc-ver := 0407
-else
-  cc-ver := $(cc-version)
-endif
-
 obj-y := base.o fs.o
-
-ifeq ($(call if-lt, $(cc-ver), 0407),1)
-  obj-y += gcc_3_4.o
-else
-  obj-y += gcc_4_7.o
-endif
+obj-$(CONFIG_GCOV_FORMAT_3_4) += gcc_3_4.o
+obj-$(CONFIG_GCOV_FORMAT_4_7) += gcc_4_7.o
+obj-$(CONFIG_GCOV_FORMAT_AUTODETECT) += $(call cc-ifversion, -lt, 0407, \
+							gcc_3_4.o, gcc_4_7.o)
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
  2014-12-25  5:31   ` Masahiro Yamada
  (?)
@ 2014-12-25 22:41     ` Helge Deller
  -1 siblings, 0 replies; 14+ messages in thread
From: Helge Deller @ 2014-12-25 22:41 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-parisc, linux-kbuild, linux-doc, linuxppc-dev

On 12/25/2014 06:31 AM, Masahiro Yamada wrote:
> The macros cc-version, cc-fullversion and ld-version take no argument.
> It is not necessary to add $(call ...) to invoke them.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> ---
>
>   Documentation/kbuild/makefiles.txt | 4 ++--
>   arch/parisc/Makefile               | 2 +-

For the parisc change:
Acked-by: Helge Deller <deller@gmx.de>


Helge

>   arch/powerpc/Makefile              | 6 +++---
>   arch/x86/Makefile.um               | 2 +-
>   kernel/gcov/Makefile               | 2 +-
>   scripts/Kbuild.include             | 7 ++-----
>   6 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
> index a311db8..7b3487a 100644
> --- a/Documentation/kbuild/makefiles.txt
> +++ b/Documentation/kbuild/makefiles.txt
> @@ -524,7 +524,7 @@ more details, with real examples.
>   	Example:
>   		#arch/x86/Makefile
>   		cflags-y += $(shell \
> -		if [ $(call cc-version) -ge 0300 ] ; then \
> +		if [ $(cc-version) -ge 0300 ] ; then \
>   			echo "-mregparm=3"; fi ;)
>
>   	In the above example, -mregparm=3 is only used for gcc version greater
> @@ -552,7 +552,7 @@ more details, with real examples.
>
>   	Example:
>   		#arch/powerpc/Makefile
> -		$(Q)if test "$(call cc-fullversion)" = "040200" ; then \
> +		$(Q)if test "$(cc-fullversion)" = "040200" ; then \
>   			echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
>   			false ; \
>   		fi
> diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
> index e9b4b6a..ff5e55f 100644
> --- a/arch/parisc/Makefile
> +++ b/arch/parisc/Makefile
> @@ -149,7 +149,7 @@ endef
>   # we require gcc 3.3 or above to compile the kernel
>   archprepare: checkbin
>   checkbin:
> -	@if test "$(call cc-version)" -lt "0303"; then \
> +	@if test "$(cc-version)" -lt "0303"; then \
>   		echo -n "Sorry, GCC v3.3 or above is required to build " ; \
>   		echo "the kernel." ; \
>   		false ; \
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 132d9c6..fc502e0 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -314,7 +314,7 @@ TOUT	:= .tmp_gas_check
>   # - Require gcc 4.0 or above on 64-bit
>   # - gcc-4.2.0 has issues compiling modules on 64-bit
>   checkbin:
> -	@if test "$(call cc-version)" = "0304" ; then \
> +	@if test "$(cc-version)" = "0304" ; then \
>   		if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \
>   			echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \
>   			echo 'correctly with gcc-3.4 and your version of binutils.'; \
> @@ -322,13 +322,13 @@ checkbin:
>   			false; \
>   		fi ; \
>   	fi
> -	@if test "$(call cc-version)" -lt "0400" \
> +	@if test "$(cc-version)" -lt "0400" \
>   	    && test "x${CONFIG_PPC64}" = "xy" ; then \
>                   echo -n "Sorry, GCC v4.0 or above is required to build " ; \
>                   echo "the 64-bit powerpc kernel." ; \
>                   false ; \
>           fi
> -	@if test "$(call cc-fullversion)" = "040200" \
> +	@if test "$(cc-fullversion)" = "040200" \
>   	    && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
>   		echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
>   		echo 'kernel with modules enabled.' ; \
> diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
> index 36b62bc..95eba55 100644
> --- a/arch/x86/Makefile.um
> +++ b/arch/x86/Makefile.um
> @@ -30,7 +30,7 @@ cflags-y += -ffreestanding
>   # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
>   # a lot more stack due to the lack of sharing of stacklots.  Also, gcc
>   # 4.3.0 needs -funit-at-a-time for extern inline functions.
> -KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
> +KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
>   			echo $(call cc-option,-fno-unit-at-a-time); \
>   			else echo $(call cc-option,-funit-at-a-time); fi ;)
>
> diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
> index 52aa7e8..6f01fa3 100644
> --- a/kernel/gcov/Makefile
> +++ b/kernel/gcov/Makefile
> @@ -21,7 +21,7 @@ else
>   # is not available. We can probably move if-lt to Kbuild.include, so it's also
>   # not defined during clean or to include Kbuild.include in
>   # scripts/Makefile.clean. But the following workaround seems least invasive.
> -  cc-ver := $(if $(call cc-version),$(call cc-version),0)
> +  cc-ver := $(if $(cc-version),$(cc-version),0)
>   endif
>
>   obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
> index a972666..69c9f57 100644
> --- a/scripts/Kbuild.include
> +++ b/scripts/Kbuild.include
> @@ -136,17 +136,15 @@ cc-disable-warning = $(call try-run,\
>   	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
>
>   # cc-version
> -# Usage gcc-ver := $(call cc-version)
>   cc-version = $(shell $(KBUILD_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
>
>   # cc-fullversion
> -# Usage gcc-ver := $(call cc-fullversion)
>   cc-fullversion = $(shell $(KBUILD_SHELL) \
>   	$(srctree)/scripts/gcc-version.sh -p $(CC))
>
>   # cc-ifversion
>   # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
> -cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
> +cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
>
>   # cc-ldoption
>   # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
> @@ -164,13 +162,12 @@ ld-option = $(call try-run,\
>   ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
>
>   # ld-version
> -# Usage: $(call ld-version)
>   # Note this is mainly for HJ Lu's 3 number binutil versions
>   ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
>
>   # ld-ifversion
>   # Usage:  $(call ld-ifversion, -ge, 22252, y)
> -ld-ifversion = $(shell [ $(call ld-version) $(1) $(2) ] && echo $(3))
> +ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
>
>   ######
>
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
@ 2014-12-25 22:41     ` Helge Deller
  0 siblings, 0 replies; 14+ messages in thread
From: Helge Deller @ 2014-12-25 22:41 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-parisc, linux-kbuild, linux-doc, linuxppc-dev,
	linux-parisc, linux-kbuild, linux-kernel, linuxppc-dev,
	linux-kbuild, linux-doc, linux-kernel, linuxppc-dev

On 12/25/2014 06:31 AM, Masahiro Yamada wrote:
> The macros cc-version, cc-fullversion and ld-version take no argument.
> It is not necessary to add $(call ...) to invoke them.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> ---
>
>   Documentation/kbuild/makefiles.txt | 4 ++--
>   arch/parisc/Makefile               | 2 +-

For the parisc change:
Acked-by: Helge Deller <deller@gmx.de>


Helge

>   arch/powerpc/Makefile              | 6 +++---
>   arch/x86/Makefile.um               | 2 +-
>   kernel/gcov/Makefile               | 2 +-
>   scripts/Kbuild.include             | 7 ++-----
>   6 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
> index a311db8..7b3487a 100644
> --- a/Documentation/kbuild/makefiles.txt
> +++ b/Documentation/kbuild/makefiles.txt
> @@ -524,7 +524,7 @@ more details, with real examples.
>   	Example:
>   		#arch/x86/Makefile
>   		cflags-y += $(shell \
> -		if [ $(call cc-version) -ge 0300 ] ; then \
> +		if [ $(cc-version) -ge 0300 ] ; then \
>   			echo "-mregparm=3"; fi ;)
>
>   	In the above example, -mregparm=3 is only used for gcc version greater
> @@ -552,7 +552,7 @@ more details, with real examples.
>
>   	Example:
>   		#arch/powerpc/Makefile
> -		$(Q)if test "$(call cc-fullversion)" = "040200" ; then \
> +		$(Q)if test "$(cc-fullversion)" = "040200" ; then \
>   			echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
>   			false ; \
>   		fi
> diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
> index e9b4b6a..ff5e55f 100644
> --- a/arch/parisc/Makefile
> +++ b/arch/parisc/Makefile
> @@ -149,7 +149,7 @@ endef
>   # we require gcc 3.3 or above to compile the kernel
>   archprepare: checkbin
>   checkbin:
> -	@if test "$(call cc-version)" -lt "0303"; then \
> +	@if test "$(cc-version)" -lt "0303"; then \
>   		echo -n "Sorry, GCC v3.3 or above is required to build " ; \
>   		echo "the kernel." ; \
>   		false ; \
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 132d9c6..fc502e0 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -314,7 +314,7 @@ TOUT	:= .tmp_gas_check
>   # - Require gcc 4.0 or above on 64-bit
>   # - gcc-4.2.0 has issues compiling modules on 64-bit
>   checkbin:
> -	@if test "$(call cc-version)" = "0304" ; then \
> +	@if test "$(cc-version)" = "0304" ; then \
>   		if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \
>   			echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \
>   			echo 'correctly with gcc-3.4 and your version of binutils.'; \
> @@ -322,13 +322,13 @@ checkbin:
>   			false; \
>   		fi ; \
>   	fi
> -	@if test "$(call cc-version)" -lt "0400" \
> +	@if test "$(cc-version)" -lt "0400" \
>   	    && test "x${CONFIG_PPC64}" = "xy" ; then \
>                   echo -n "Sorry, GCC v4.0 or above is required to build " ; \
>                   echo "the 64-bit powerpc kernel." ; \
>                   false ; \
>           fi
> -	@if test "$(call cc-fullversion)" = "040200" \
> +	@if test "$(cc-fullversion)" = "040200" \
>   	    && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
>   		echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
>   		echo 'kernel with modules enabled.' ; \
> diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
> index 36b62bc..95eba55 100644
> --- a/arch/x86/Makefile.um
> +++ b/arch/x86/Makefile.um
> @@ -30,7 +30,7 @@ cflags-y += -ffreestanding
>   # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
>   # a lot more stack due to the lack of sharing of stacklots.  Also, gcc
>   # 4.3.0 needs -funit-at-a-time for extern inline functions.
> -KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
> +KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
>   			echo $(call cc-option,-fno-unit-at-a-time); \
>   			else echo $(call cc-option,-funit-at-a-time); fi ;)
>
> diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
> index 52aa7e8..6f01fa3 100644
> --- a/kernel/gcov/Makefile
> +++ b/kernel/gcov/Makefile
> @@ -21,7 +21,7 @@ else
>   # is not available. We can probably move if-lt to Kbuild.include, so it's also
>   # not defined during clean or to include Kbuild.include in
>   # scripts/Makefile.clean. But the following workaround seems least invasive.
> -  cc-ver := $(if $(call cc-version),$(call cc-version),0)
> +  cc-ver := $(if $(cc-version),$(cc-version),0)
>   endif
>
>   obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
> index a972666..69c9f57 100644
> --- a/scripts/Kbuild.include
> +++ b/scripts/Kbuild.include
> @@ -136,17 +136,15 @@ cc-disable-warning = $(call try-run,\
>   	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
>
>   # cc-version
> -# Usage gcc-ver := $(call cc-version)
>   cc-version = $(shell $(KBUILD_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
>
>   # cc-fullversion
> -# Usage gcc-ver := $(call cc-fullversion)
>   cc-fullversion = $(shell $(KBUILD_SHELL) \
>   	$(srctree)/scripts/gcc-version.sh -p $(CC))
>
>   # cc-ifversion
>   # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
> -cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
> +cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
>
>   # cc-ldoption
>   # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
> @@ -164,13 +162,12 @@ ld-option = $(call try-run,\
>   ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
>
>   # ld-version
> -# Usage: $(call ld-version)
>   # Note this is mainly for HJ Lu's 3 number binutil versions
>   ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
>
>   # ld-ifversion
>   # Usage:  $(call ld-ifversion, -ge, 22252, y)
> -ld-ifversion = $(shell [ $(call ld-version) $(1) $(2) ] && echo $(3))
> +ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
>
>   ######
>
>



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
@ 2014-12-25 22:41     ` Helge Deller
  0 siblings, 0 replies; 14+ messages in thread
From: Helge Deller @ 2014-12-25 22:41 UTC (permalink / raw)
  To: linux-kbuild; +Cc: linux-parisc, linux-doc, linux-kernel, linuxppc-dev

On 12/25/2014 06:31 AM, Masahiro Yamada wrote:
> The macros cc-version, cc-fullversion and ld-version take no argument.
> It is not necessary to add $(call ...) to invoke them.
>
> Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
> ---
>
>   Documentation/kbuild/makefiles.txt | 4 ++--
>   arch/parisc/Makefile               | 2 +-

For the parisc change:
Acked-by: Helge Deller <deller@gmx.de>


Helge

>   arch/powerpc/Makefile              | 6 +++---
>   arch/x86/Makefile.um               | 2 +-
>   kernel/gcov/Makefile               | 2 +-
>   scripts/Kbuild.include             | 7 ++-----
>   6 files changed, 10 insertions(+), 13 deletions(-)
>
> diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
> index a311db8..7b3487a 100644
> --- a/Documentation/kbuild/makefiles.txt
> +++ b/Documentation/kbuild/makefiles.txt
> @@ -524,7 +524,7 @@ more details, with real examples.
>   	Example:
>   		#arch/x86/Makefile
>   		cflags-y += $(shell \
> -		if [ $(call cc-version) -ge 0300 ] ; then \
> +		if [ $(cc-version) -ge 0300 ] ; then \
>   			echo "-mregparm=3"; fi ;)
>
>   	In the above example, -mregparm=3 is only used for gcc version greater
> @@ -552,7 +552,7 @@ more details, with real examples.
>
>   	Example:
>   		#arch/powerpc/Makefile
> -		$(Q)if test "$(call cc-fullversion)" = "040200" ; then \
> +		$(Q)if test "$(cc-fullversion)" = "040200" ; then \
>   			echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
>   			false ; \
>   		fi
> diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
> index e9b4b6a..ff5e55f 100644
> --- a/arch/parisc/Makefile
> +++ b/arch/parisc/Makefile
> @@ -149,7 +149,7 @@ endef
>   # we require gcc 3.3 or above to compile the kernel
>   archprepare: checkbin
>   checkbin:
> -	@if test "$(call cc-version)" -lt "0303"; then \
> +	@if test "$(cc-version)" -lt "0303"; then \
>   		echo -n "Sorry, GCC v3.3 or above is required to build " ; \
>   		echo "the kernel." ; \
>   		false ; \
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 132d9c6..fc502e0 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -314,7 +314,7 @@ TOUT	:= .tmp_gas_check
>   # - Require gcc 4.0 or above on 64-bit
>   # - gcc-4.2.0 has issues compiling modules on 64-bit
>   checkbin:
> -	@if test "$(call cc-version)" = "0304" ; then \
> +	@if test "$(cc-version)" = "0304" ; then \
>   		if ! /bin/echo mftb 5 | $(AS) -v -mppc -many -o $(TOUT) >/dev/null 2>&1 ; then \
>   			echo -n '*** ${VERSION}.${PATCHLEVEL} kernels no longer build '; \
>   			echo 'correctly with gcc-3.4 and your version of binutils.'; \
> @@ -322,13 +322,13 @@ checkbin:
>   			false; \
>   		fi ; \
>   	fi
> -	@if test "$(call cc-version)" -lt "0400" \
> +	@if test "$(cc-version)" -lt "0400" \
>   	    && test "x${CONFIG_PPC64}" = "xy" ; then \
>                   echo -n "Sorry, GCC v4.0 or above is required to build " ; \
>                   echo "the 64-bit powerpc kernel." ; \
>                   false ; \
>           fi
> -	@if test "$(call cc-fullversion)" = "040200" \
> +	@if test "$(cc-fullversion)" = "040200" \
>   	    && test "x${CONFIG_MODULES}${CONFIG_PPC64}" = "xyy" ; then \
>   		echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
>   		echo 'kernel with modules enabled.' ; \
> diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
> index 36b62bc..95eba55 100644
> --- a/arch/x86/Makefile.um
> +++ b/arch/x86/Makefile.um
> @@ -30,7 +30,7 @@ cflags-y += -ffreestanding
>   # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
>   # a lot more stack due to the lack of sharing of stacklots.  Also, gcc
>   # 4.3.0 needs -funit-at-a-time for extern inline functions.
> -KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
> +KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
>   			echo $(call cc-option,-fno-unit-at-a-time); \
>   			else echo $(call cc-option,-funit-at-a-time); fi ;)
>
> diff --git a/kernel/gcov/Makefile b/kernel/gcov/Makefile
> index 52aa7e8..6f01fa3 100644
> --- a/kernel/gcov/Makefile
> +++ b/kernel/gcov/Makefile
> @@ -21,7 +21,7 @@ else
>   # is not available. We can probably move if-lt to Kbuild.include, so it's also
>   # not defined during clean or to include Kbuild.include in
>   # scripts/Makefile.clean. But the following workaround seems least invasive.
> -  cc-ver := $(if $(call cc-version),$(call cc-version),0)
> +  cc-ver := $(if $(cc-version),$(cc-version),0)
>   endif
>
>   obj-$(CONFIG_GCOV_KERNEL) := base.o fs.o
> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
> index a972666..69c9f57 100644
> --- a/scripts/Kbuild.include
> +++ b/scripts/Kbuild.include
> @@ -136,17 +136,15 @@ cc-disable-warning = $(call try-run,\
>   	$(CC) $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS) -W$(strip $(1)) -c -x c /dev/null -o "$$TMP",-Wno-$(strip $(1)))
>
>   # cc-version
> -# Usage gcc-ver := $(call cc-version)
>   cc-version = $(shell $(KBUILD_SHELL) $(srctree)/scripts/gcc-version.sh $(CC))
>
>   # cc-fullversion
> -# Usage gcc-ver := $(call cc-fullversion)
>   cc-fullversion = $(shell $(KBUILD_SHELL) \
>   	$(srctree)/scripts/gcc-version.sh -p $(CC))
>
>   # cc-ifversion
>   # Usage:  EXTRA_CFLAGS += $(call cc-ifversion, -lt, 0402, -O1)
> -cc-ifversion = $(shell [ $(call cc-version) $(1) $(2) ] && echo $(3))
> +cc-ifversion = $(shell [ $(cc-version) $(1) $(2) ] && echo $(3))
>
>   # cc-ldoption
>   # Usage: ldflags += $(call cc-ldoption, -Wl$(comma)--hash-style=both)
> @@ -164,13 +162,12 @@ ld-option = $(call try-run,\
>   ar-option = $(call try-run, $(AR) rc$(1) "$$TMP",$(1),$(2))
>
>   # ld-version
> -# Usage: $(call ld-version)
>   # Note this is mainly for HJ Lu's 3 number binutil versions
>   ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
>
>   # ld-ifversion
>   # Usage:  $(call ld-ifversion, -ge, 22252, y)
> -ld-ifversion = $(shell [ $(call ld-version) $(1) $(2) ] && echo $(3))
> +ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3))
>
>   ######
>
>



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/6] kbuild: refactor Makefiles related with cc-version
  2014-12-25  5:31 ` Masahiro Yamada
@ 2015-01-09 16:27   ` Michal Marek
  -1 siblings, 0 replies; 14+ messages in thread
From: Michal Marek @ 2015-01-09 16:27 UTC (permalink / raw)
  To: Masahiro Yamada, linux-kbuild
  Cc: Peter Oberparleiter, x86, H. Peter Anvin, H. Peter Anvin,
	linux-doc, Jonathan Corbet, Robert Richter, Michael Ellerman,
	Helge Deller, Benjamin Herrenschmidt, linux-kernel,
	Thomas Gleixner, Andi Kleen, James E.J. Bottomley,
	Paul Mackerras, Ingo Molnar, linux-parisc, linuxppc-dev

On 2014-12-25 06:31, Masahiro Yamada wrote:
> Masahiro Yamada (6):
>   kbuild: fix cc-ifversion macro
>   kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
>   kbuild,gcov: remove unnecessary workaround
>   kbuild,gcov: simplify kernel/gcov/Makefile
>   kbuild: allow cc-ifversion to have the argument for false condition
>   kbuild,gcov: simplify kernel/gcov/Makefile more

Applied to kbuild.git#kbuild, thanks.

Michal


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/6] kbuild: refactor Makefiles related with cc-version
@ 2015-01-09 16:27   ` Michal Marek
  0 siblings, 0 replies; 14+ messages in thread
From: Michal Marek @ 2015-01-09 16:27 UTC (permalink / raw)
  To: Masahiro Yamada, linux-kbuild
  Cc: Jonathan Corbet, Andi Kleen, linux-parisc, linux-doc,
	Peter Oberparleiter, Helge Deller, x86, linux-kernel,
	James E.J. Bottomley, Robert Richter, Ingo Molnar,
	Paul Mackerras, H. Peter Anvin, Thomas Gleixner, H. Peter Anvin,
	linuxppc-dev

On 2014-12-25 06:31, Masahiro Yamada wrote:
> Masahiro Yamada (6):
>   kbuild: fix cc-ifversion macro
>   kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
>   kbuild,gcov: remove unnecessary workaround
>   kbuild,gcov: simplify kernel/gcov/Makefile
>   kbuild: allow cc-ifversion to have the argument for false condition
>   kbuild,gcov: simplify kernel/gcov/Makefile more

Applied to kbuild.git#kbuild, thanks.

Michal

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-01-09 16:27 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-25  5:31 [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Masahiro Yamada
2014-12-25  5:31 ` Masahiro Yamada
2014-12-25  5:31 ` [PATCH 1/6] kbuild: fix cc-ifversion macro Masahiro Yamada
2014-12-25  5:31 ` [PATCH 2/6] kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion Masahiro Yamada
2014-12-25  5:31   ` Masahiro Yamada
2014-12-25 22:41   ` Helge Deller
2014-12-25 22:41     ` Helge Deller
2014-12-25 22:41     ` Helge Deller
2014-12-25  5:31 ` [PATCH 3/6] kbuild,gcov: remove unnecessary workaround Masahiro Yamada
2014-12-25  5:31 ` [PATCH 4/6] kbuild,gcov: simplify kernel/gcov/Makefile Masahiro Yamada
2014-12-25  5:31 ` [PATCH 5/6] kbuild: allow cc-ifversion to have the argument for false condition Masahiro Yamada
2014-12-25  5:31 ` [PATCH 6/6] kbuild,gcov: simplify kernel/gcov/Makefile more Masahiro Yamada
2015-01-09 16:27 ` [PATCH 0/6] kbuild: refactor Makefiles related with cc-version Michal Marek
2015-01-09 16:27   ` Michal Marek

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.