Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH
@ 2013-05-09 15:53 Thomas Petazzoni
  2013-05-09 15:53 ` [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison Thomas Petazzoni
  2013-05-12 20:22 ` [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH Peter Korsgaard
  0 siblings, 2 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2013-05-09 15:53 UTC (permalink / raw)
  To: buildroot

From: Mischa Jonker <Mischa.Jonker@synopsys.com>

Since gcc doesn't use the package infrastructure, it doesn't get all
the good generic environment variables, and forgets to get
$(HOST_DIR)/usr/bin in its PATH. This prevents gcc from finding and
using host tools built by Buildroot.

This patch therefore ensures that $(HOST_MAKE_ENV) or
$(TARGET_MAKE_ENV) are passed at the appropriate locations. It will be
useful for a later patch that makes gcc depend on host-flex/host-bison
in some situations.

Original patch by Thomas Petazzoni.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/gcc/gcc-uclibc-4.x.mk |   24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index 959568f..8cacc32 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -299,16 +299,16 @@ $(GCC_BUILD_DIR1)/.configured: $(GCC_DIR)/.patched
 $(GCC_BUILD_DIR1)/.compiled: $(GCC_BUILD_DIR1)/.configured
 	$(Q)$(call MESSAGE,"Building gcc pass-1")
 ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
-	$(GCC_CONF_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
+	$(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
 else
-	$(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
+	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) all-gcc
 endif
 	touch $@
 
 gcc_initial=$(GCC_BUILD_DIR1)/.installed
 $(gcc_initial) $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc: $(GCC_BUILD_DIR1)/.compiled
 	$(Q)$(call MESSAGE,"Installing gcc pass-1")
-	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc
+	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc
 	touch $(gcc_initial)
 
 gcc_initial: $(GCC_HOST_PREREQ) host-binutils $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-gcc
@@ -370,9 +370,9 @@ $(GCC_BUILD_DIR2)/.compiled: $(GCC_BUILD_DIR2)/.configured
 	$(Q)$(call MESSAGE,"Building gcc pass-2")
 	# gcc >= 4.3.0 have to also build all-target-libgcc
 ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
-	$(GCC_CONF_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc all-target-libgcc
+	$(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc all-target-libgcc
 else
-	$(MAKE) -C $(GCC_BUILD_DIR2) all-gcc
+	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) all-gcc
 endif
 	touch $@
 
@@ -381,9 +381,9 @@ $(gcc_intermediate): $(GCC_BUILD_DIR2)/.compiled
 	$(Q)$(call MESSAGE,"Installing gcc pass-2")
 	# gcc >= 4.3.0 have to also install install-target-libgcc
 ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
-	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc install-target-libgcc
+	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc install-target-libgcc
 else
-	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc
+	$(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR2) install-gcc
 endif
 	touch $(gcc_intermediate)
 
@@ -449,12 +449,12 @@ $(GCC_BUILD_DIR3)/.configured: $(GCC_SRC_DIR)/.patched $(GCC_STAGING_PREREQ)
 
 $(GCC_BUILD_DIR3)/.compiled: $(GCC_BUILD_DIR3)/.configured
 	$(Q)$(call MESSAGE,"Building gcc final")
-	$(GCC_CONF_ENV) $(MAKE) -C $(GCC_BUILD_DIR3) all
+	$(GCC_CONF_ENV) $(HOST_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR3) all
 	touch $@
 
 $(GCC_BUILD_DIR3)/.installed: $(GCC_BUILD_DIR3)/.compiled
 	$(Q)$(call MESSAGE,"Installing gcc final")
-	PATH=$(TARGET_PATH) $(MAKE) \
+	$(HOST_MAKE_ENV) $(MAKE) \
 		-C $(GCC_BUILD_DIR3) install
 	if [ -d "$(STAGING_DIR)/lib64" ]; then \
 		if [ ! -e "$(STAGING_DIR)/lib" ]; then \
@@ -582,8 +582,8 @@ $(GCC_BUILD_DIR4)/.configured: $(GCC_BUILD_DIR4)/.prepared
 
 $(GCC_BUILD_DIR4)/.compiled: $(GCC_BUILD_DIR4)/.configured
 	$(Q)$(call MESSAGE,"Building gcc on target")
-	PATH=$(TARGET_PATH) \
-	$(MAKE) -C $(GCC_BUILD_DIR4) all
+	$(TARGET_MAKE_ENV) \
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(GCC_BUILD_DIR4) all
 	touch $@
 
 GCC_LIB_SUBDIR=lib/gcc/$(GNU_TARGET_NAME)/$(GCC_VERSION)
@@ -595,7 +595,7 @@ endif
 
 $(TARGET_DIR)/usr/bin/gcc: $(GCC_BUILD_DIR4)/.compiled
 	$(Q)$(call MESSAGE,"Installing gcc on target")
-	PATH=$(TARGET_PATH) DESTDIR=$(TARGET_DIR) \
+	$(TARGET_MAKE_ENV) DESTDIR=$(TARGET_DIR) \
 		$(MAKE1) -C $(GCC_BUILD_DIR4) install
 	# Remove broken specs file (cross compile flag is set).
 	rm -f $(TARGET_DIR)/usr/$(GCC_LIB_SUBDIR)/specs
-- 
1.7.9.5

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

* [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison
  2013-05-09 15:53 [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH Thomas Petazzoni
@ 2013-05-09 15:53 ` Thomas Petazzoni
  2013-05-10 14:47   ` Mischa Jonker
  2013-05-12 20:22 ` [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH Peter Korsgaard
  1 sibling, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2013-05-09 15:53 UTC (permalink / raw)
  To: buildroot

For some reason (probably because the ARC changes modify some lex/yacc
files without updating their pre-generated variants, or because the
date/time of the pre-generated files is not correct), building the ARC
gcc requires host-flex and host-bison.

We have tested 4.2 for AVR, 4.3 and 4.4 for ARM, and none of those
need host-flex or host-bison to be installed, so only the 4.4 for ARC
seems to be affected.

Fixes the build failure visible at
http://autobuild.buildroot.org/results/673c6262e3dde8ee8dd28204d814097e6ba8f8e9/build-end.log.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/gcc/gcc-uclibc-4.x.mk |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
index 8cacc32..21679ef 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -180,6 +180,10 @@ endif
 GCC_HOST_PREREQ += host-mpc
 endif
 
+ifeq ($(BR2_GCC_VERSION_4_4_7_ARC),y)
+GCC_HOST_PREREQ += host-flex host-bison
+endif
+
 ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
 GCC_SHARED_LIBGCC:=--enable-shared
 else
-- 
1.7.9.5

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

* [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison
  2013-05-09 15:53 ` [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison Thomas Petazzoni
@ 2013-05-10 14:47   ` Mischa Jonker
  2013-05-10 15:53     ` Thomas Petazzoni
  2013-05-13 21:40     ` Thomas Petazzoni
  0 siblings, 2 replies; 6+ messages in thread
From: Mischa Jonker @ 2013-05-10 14:47 UTC (permalink / raw)
  To: buildroot

Dear Thomas,

Thank you for fixing this. Is there any way I can sort the autobuilder results so that I can see specific build problems for ARC?

Thanks,

Mischa

-----Original Message-----
From: Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com] 
Sent: Thursday, May 09, 2013 5:53 PM
To: Buildroot List
Cc: Mischa Jonker
Subject: [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison

For some reason (probably because the ARC changes modify some lex/yacc files without updating their pre-generated variants, or because the date/time of the pre-generated files is not correct), building the ARC gcc requires host-flex and host-bison.

We have tested 4.2 for AVR, 4.3 and 4.4 for ARM, and none of those need host-flex or host-bison to be installed, so only the 4.4 for ARC seems to be affected.

Fixes the build failure visible at
http://autobuild.buildroot.org/results/673c6262e3dde8ee8dd28204d814097e6ba8f8e9/build-end.log.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 toolchain/gcc/gcc-uclibc-4.x.mk |    4 ++++
 1 file changed, 4 insertions(+)

diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index 8cacc32..21679ef 100644
--- a/toolchain/gcc/gcc-uclibc-4.x.mk
+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
@@ -180,6 +180,10 @@ endif
 GCC_HOST_PREREQ += host-mpc
 endif
 
+ifeq ($(BR2_GCC_VERSION_4_4_7_ARC),y)
+GCC_HOST_PREREQ += host-flex host-bison endif
+
 ifeq ($(BR2_GCC_SHARED_LIBGCC),y)
 GCC_SHARED_LIBGCC:=--enable-shared
 else
--
1.7.9.5

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

* [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison
  2013-05-10 14:47   ` Mischa Jonker
@ 2013-05-10 15:53     ` Thomas Petazzoni
  2013-05-13 21:40     ` Thomas Petazzoni
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2013-05-10 15:53 UTC (permalink / raw)
  To: buildroot

Dear Mischa Jonker,

On Fri, 10 May 2013 14:47:56 +0000, Mischa Jonker wrote:

> Thank you for fixing this. Is there any way I can sort the autobuilder results so that I can see specific build problems for ARC?

Not as of today, you can't filter the results. I'm working on doing
this. I started doing something in Python/Django, but had some issues,
so I guess I'll continue with the PHP stuff we're already using, and
improve it to be able to sort things.

In the mean time, I often monitor the autobuilder results, so if
there's anything ARC related, I'll notify you.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH
  2013-05-09 15:53 [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH Thomas Petazzoni
  2013-05-09 15:53 ` [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison Thomas Petazzoni
@ 2013-05-12 20:22 ` Peter Korsgaard
  1 sibling, 0 replies; 6+ messages in thread
From: Peter Korsgaard @ 2013-05-12 20:22 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 Thomas> From: Mischa Jonker <Mischa.Jonker@synopsys.com>
 Thomas> Since gcc doesn't use the package infrastructure, it doesn't get all
 Thomas> the good generic environment variables, and forgets to get
 Thomas> $(HOST_DIR)/usr/bin in its PATH. This prevents gcc from finding and
 Thomas> using host tools built by Buildroot.

 Thomas> This patch therefore ensures that $(HOST_MAKE_ENV) or
 Thomas> $(TARGET_MAKE_ENV) are passed at the appropriate locations. It will be
 Thomas> useful for a later patch that makes gcc depend on host-flex/host-bison
 Thomas> in some situations.

Committed both, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison
  2013-05-10 14:47   ` Mischa Jonker
  2013-05-10 15:53     ` Thomas Petazzoni
@ 2013-05-13 21:40     ` Thomas Petazzoni
  1 sibling, 0 replies; 6+ messages in thread
From: Thomas Petazzoni @ 2013-05-13 21:40 UTC (permalink / raw)
  To: buildroot

Dear Mischa Jonker,

On Fri, 10 May 2013 14:47:56 +0000, Mischa Jonker wrote:

> Thank you for fixing this. Is there any way I can sort the autobuilder results so that I can see specific build problems for ARC?

Build failures on the ARC architecture:

 * On the rt-tests package. See
   http://autobuild.buildroot.org/results/bfb/bfbd82224a80f4446c5f9c1a37b95e910c9f181a//
   for details. Looks like rt-tests want a NPTL toolchain.

 * On the OpenOCD package. See
   http://autobuild.buildroot.org/results/e18/e185b1ef573ddeca51ceb1d30298e611c6879b42//
   for details. It seems to be a toolchain problem: "{standard
   input}:449: Error: operand out of range (-514 is not between -512
   and 511)".

I've just put online a new version of http://autobuild.buildroot.org/,
which now uses a database. If you're interested, I can send you every
day a mail with the ARC build failures (and only the ARC ones), if any.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

end of thread, other threads:[~2013-05-13 21:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-09 15:53 [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH Thomas Petazzoni
2013-05-09 15:53 ` [Buildroot] [PATCH 2/2] toolchain/gcc: the ARC version of gcc needs host-flex/host-bison Thomas Petazzoni
2013-05-10 14:47   ` Mischa Jonker
2013-05-10 15:53     ` Thomas Petazzoni
2013-05-13 21:40     ` Thomas Petazzoni
2013-05-12 20:22 ` [Buildroot] [PATCH 1/2] toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox