From mboxrd@z Thu Jan 1 00:00:00 1970 From: Romain Naour Date: Sat, 25 Jul 2015 11:24:40 +0200 Subject: [Buildroot] [PATCH] ARC: update tools to arc-2015.06 release In-Reply-To: <20150718031758.GA21884@fox> References: <1436964678-24352-1-git-send-email-abrodkin@synopsys.com> <55A8EAF7.5060506@openwide.fr> <20150717222354.GE3637@free.fr> <20150717225415.GF3637@free.fr> <20150718031758.GA21884@fox> Message-ID: <55B355D8.4070900@openwide.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hi Guido, Le 18/07/2015 05:17, Guido Mart?nez a ?crit : > Hi Yann, all, > > On Sat, Jul 18, 2015 at 12:54:15AM +0200, Yann E. MORIN wrote: >> Romain, All, >> >> On 2015-07-18 00:23 +0200, Yann E. MORIN spake thusly: >>> On 2015-07-17 13:45 +0200, Romain Naour spake thusly: >>> [--SNIP--] >>>> Your patch looks good, but I have a build failure with uclibc: >>>> >>>> make O=test/arc/ toolchain 2>&1 | tee build-arc-toolchain.log >> [--SNIP--] >>> OK, I was able to reproduce the error. [...] >> >> Here's a patch that does fix the issue. >> >> Tested on-top of master, with: >> - in-tree build >> - out-of-tree build without makefile wrapper (Romain's use-case) >> - out-of-tree build with makefile wrapper (my use-case) >> >> They all worked at least so far as to build uclibc (make uclibc); >> nothing more was attempted). >> >> The change is not unlike what we already had to test where O was coming >> from, but we just reverse the logic to keep only what we're interested >> in, and we forcibly unexport O. >> >> I'm not really happy with the patch to start with (hence I'm not >> officially pushing it): >> >> diff --git a/Makefile b/Makefile >> index 531ac5d..5abca65 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -29,11 +29,16 @@ UMASK=0022 >> ifneq ($(shell umask),$(UMASK)) >> .PHONY: all $(MAKECMDGOALS) >> >> +ifeq ($(origin O),command line) >> +EXTRAMAKEARGS = O=$(O) >> +endif >> +unexport O >> + >> all: >> - @umask $(UMASK) && $(MAKE ) --no-print-directory >> + @umask $(UMASK) && $(MAKE) $(EXTRAMAKEARGS) -- no-print-directory >> >> $(MAKECMDGOALS): >> - @umask $(UMASK) && $(MAKE) --n o-print-directory $@ >> + @umask $(UMASK) && $(MAKE) $(EXTRAMAKEARGS) --no -print-directory $@ >> >> else # umask > > This works OK. But I think something like: > > diff --git a/Makefile b/Makefile > index afdf554..df52c85 100644 > --- a/Makefile > +++ b/Makefile > @@ -329,6 +329,7 @@ unexport CONFIG_SITE > unexport QMAKESPEC > unexport TERMINFO > unexport MACHINE > +unexport O > > GNU_HOST_NAME := $(shell support/gnuconfig/config.guess) > > does too. Maybe I'm missing something, but I don't think we would ever > want to export $(O) to any of the package Makefiles, the same way we > don't export $(CC). > > Note that $(origin O) will still be "command line" in the sub-make after > setting the umask, since "O=..." will be set in $(MAKEFLAGS), thus there > shouldn't be a difference in the run. > > I tested those 3 cases you mentioned and they work OK, but I'll run full > builds in a minute. > Can you send a proper patch to the list please? I'm using this change and it fixes the uClibc-ng build without regression so far. Best regards, Romain Naour