Re: make -C tools clean failure on older systems
From: Arnaldo Carvalho de Melo
Date: Thu May 14 2015 - 15:48:40 EST
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@xxxxxxxxxxxxxxx>
> >>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/