lkml.org 
[lkml]   [2015]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 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


\
 
 \ /
  Last update: 2015-05-14 22:21    [W:0.128 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site