Messages in this thread | | | Date | Thu, 14 May 2015 16:48:24 -0300 | From | Arnaldo Carvalho de Melo <> | Subject | Re: make -C tools clean failure on older systems |
| |
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 <shuahkh@osg.samsung.com> > >>> 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
| |