From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965221AbbENTsg (ORCPT ); Thu, 14 May 2015 15:48:36 -0400 Received: from mail.kernel.org ([198.145.29.136]:60138 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965155AbbENTs3 (ORCPT ); Thu, 14 May 2015 15:48:29 -0400 Date: Thu, 14 May 2015 16:48:24 -0300 From: Arnaldo Carvalho de Melo To: Shuah Khan Cc: Michael Ellerman , Ingo Molnar , David Ahern , Linux Kernel Mailing List Subject: Re: make -C tools clean failure on older systems Message-ID: <20150514194824.GA5965@kernel.org> References: <20150514151225.GH23588@kernel.org> <5554C1BF.7000408@osg.samsung.com> <20150514155453.GI23588@kernel.org> <5554E991.5010406@osg.samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5554E991.5010406@osg.samsung.com> X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Thu, May 14, 2015 at 12:29:37PM -0600, Shuah Khan escreveu: > On 05/14/2015 09:54 AM, Arnaldo Carvalho de Melo wrote: > > Em Thu, May 14, 2015 at 09:39:43AM -0600, Shuah Khan escreveu: > >> On 05/14/2015 09:12 AM, Arnaldo Carvalho de Melo wrote: > >>> Hi, > >>> > >>> In: > >>> > >>> ------------- > >>> commit 67d8712dcc70aa16d8e14a52eb73870e3cbddfc2 > >>> Author: Shuah Khan > >>> Date: Wed Mar 18 11:57:39 2015 -0600 > >>> > >>> selftests: Fix build failures when invoked from kselftest target > >>> > >>> ------------- > >>> > >>> You cleaned two variables using different methods, any reason for that? > >>> > >>> I asked because the 'undefine' method causes it to fail in older > >>> systems: > >> > >> The reason for this change is some tests fail to build when invoked > >> from the main Makefile level. The commit log explains the change: > > > > I saw it > > > >>> +++ b/tools/testing/selftests/Makefile > >>> @@ -27,7 +27,7 @@ TARGETS_HOTPLUG += memory-hotplug > >>> # Makefile to avoid test build failures when test > >>> # Makefile doesn't have explicit build rules. > >>> ifeq (1,$(MAKELEVEL)) > >>> -undefine LDFLAGS > >>> +override LDFLAGS = > >>> override MAKEFLAGS = > >>> endif > >> > >> I recall testing with override and remember it to not work. If you would > > > > bummer, then its not that easy, I thought it was an oversight, but if > > you tested it and it didn't work, nevermind, no need, I guess, to > > support older systems if it requires more, non trivial, work. > > > >> like experiment with it, feel free to send a patch with that change. My > >> make version is very new: > >> > >> make --version > >> GNU Make 4.0 > >> Built for x86_64-pc-linux-gnu > >> > >> You have to run make kselftest from the main kernel Makefile to see > >> the build failures that undefine LDFLAGS fixed. > >> > > Hmm. I ran a quick test with override and it worked. My recollection > must not be good. :) Here is what I tried: > > diff --git a/tools/testing/selftests/Makefile > b/tools/testing/selftests/Makefile > index ebac6b8..56b11cd 100644 > --- a/tools/testing/selftests/Makefile > +++ b/tools/testing/selftests/Makefile > @@ -28,7 +28,7 @@ TARGETS_HOTPLUG += memory-hotplug > # Makefile to avoid test build failures when test > # Makefile doesn't have explicit build rules. > ifeq (1,$(MAKELEVEL)) > -undefine LDFLAGS > +override LDFLAGS = > override MAKEFLAGS = > endif Yeah, that is perfect! I.e. it is the patch I had proposed :o) Ok, will send a patch to you, works well for me for: Red Hat Enterprise Linux 5 (Fedora Core 6 based, ides of 2.6.18 kernels) [acme@rhel5 tools]$ make -v GNU Make 3.81 And: Fedora 21: [acme@zoo tools]$ make --version GNU Make 4.0 - Arnaldo