Re: [PATCH] kbuild: Don't pass -rR to selftest makefiles

From: Michael Ellerman
Date: Tue Mar 10 2015 - 20:46:35 EST


On Tue, 2015-03-10 at 18:35 -0600, Shuah Khan wrote:
> On 03/10/2015 05:49 PM, Michael Ellerman wrote:
> > On Tue, 2015-03-10 at 17:39 -0600, Shuah Khan wrote:
> >> On 03/10/2015 05:36 PM, Michael Ellerman wrote:
> >>> On Mon, 2015-03-09 at 16:49 -0600, Shuah Khan wrote:
> >>>> On 03/09/2015 08:28 AM, Shuah Khan wrote:
> >>>>> On 03/04/2015 03:19 AM, Michael Ellerman wrote:
> >>>>>> The makefiles under tools/testing/selftests are not real kbuild
> >>>>>> makefiles, they are regular stand alone makefiles. As such they *do*
> >>>>>> want all the standard implicit rules and variables defined.
> >>>>>>
> >>>>>> So before calling those makefiles, filter -rR out of MAKEFLAGS.
> >>>>>>
> >>>>>> Without this not all the selftests are built correctly when called via
> >>>>>> the top-level Makefile.
> >>>>>>
> >>>>>> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> >>>>>
> >>>>> Hi Michal,
> >>>>>
> >>>>> Could you please take this patch in your tree.
> >>>>>
> >>>>> Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx>
> >>>>>
> >>>>
> >>>> I am changing this to a Nack. This is not fully cooked.
> >>>> I am seeing new failures on some tests.
> >>>>
> >>>> gcc: error: elf_x86_64: No such file or directory
> >>>> gcc: error: unrecognized command line option â-mâ
> >>>
> >>> I can't reproduce that here. In what way do you think it's related to this
> >>> patch?
> >>
> >> I have just your patch on tops of linux 4.0-rc3 and ran
> >> make kselftest and that's what I see.
> >>
> >> If you can fix this problem I can take your patch, otherwise,
> >> I have to go with individual Makefiles fixes.
> >
> > OK I see it now, only happens on x86.
> >
> > It looks like it's coming in via kbuild. Though I can only see it being set in
> > arch/x86/Makefile.um, and I don't know why that is being sourced. But it must
> > be.
> >
> > So this is another symptom of running via the top-level Makefile rather than
> > directly.
> >
> > I'll try and find a fix.
>
> If you can fix it that is great. I don't see any need to change
> existing Makefiles to delete explicit rules based on this change
> though.

I do. The explicit rules are generally wrong in some way, ie. they use flags
inconsistently, or they don't use CROSS_COMPILE when they should.

There should be no need to have explicit rules for simple tests that just build
a binary from a .c file.

cheers



--
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/