* Re: linux-next: build failure after merge of the ext4 tree
[not found] ` <20130808191650.GB3282@free.fr>
@ 2013-08-08 21:54 ` Yann E. MORIN
2013-08-08 23:58 ` Stephen Rothwell
2013-08-09 11:42 ` Sam Ravnborg
0 siblings, 2 replies; 7+ messages in thread
From: Yann E. MORIN @ 2013-08-08 21:54 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Steven Rostedt, Michal Marek, Kevin Hilman, sedat.dilek,
Theodore Ts'o, linux-next, linux-kernel, Linux kbuild ML
Stephen, All,
On 2013-08-08 21:16 +0200, Yann E. MORIN spake thusly:
> On 2013-08-08 10:36 +1000, Stephen Rothwell spake thusly:
> > On Thu, 8 Aug 2013 10:22:28 +1000 Stephen Rothwell <sfr@canb.auug.org.au>
> > wrote:
> > >
> > > More quick testing with an empty file: v3.9 is OK, v3.10 gives
> > > CONFIG_MODULES unset.
>
> Sorry, I don't understand the above. Can you elaborate on what you did,
> what you got, what expected, so I can try to reproduce and fix this,
> please?
Ok, I've had a look in the linux-next archives, and I think I got it.
Is the following right?
git clean -d; git clean -dX # To be sure tree is clean
touch empty
make KCONFIG_ALLCONFIG=empty allmodconfig
grep MODULES .config
$ CONFIG_MODULES is not set
If so, I think I found the reason: the modules symbol is _always_ set to
being valid as soon as KCONFIG_ALLCONFIG is read, even if it was not
present in that file.
Since it is set to be valid, the following change means it is not
affected another value later on.
So, I wonder what the best option is:
1- revert the following, and find another solution,
2- de-specialise the modules symbol,
3- or further specialise the modules symbol.
I'd be inclined to go for 1, but I have no straightforward idea so far.
It's late here, so I'll look more thouroughly this WE.
> > Bisecting gives:
> >
> > cfa98f2e0ae956feca935573e977d7661a9561b9 is the first bad commit
> > commit cfa98f2e0ae956feca935573e977d7661a9561b9
> > Author: Yann E. MORIN <yann.morin.1998@free.fr>
> > Date: Wed Apr 24 22:00:04 2013 +0200
> >
> > kconfig: do not override symbols already set
> >
> > For randconfig, if a list of required symbols is specified with
> > KCONFIG_ALLCONFIG, such symbols do not "have a value" as per
> > sym_has_value(), but have the "valid" flag set.
> >
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> >
> > And reverting that commit in v3.10 gives me CONFIG_MODULES=y.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: build failure after merge of the ext4 tree
2013-08-08 21:54 ` linux-next: build failure after merge of the ext4 tree Yann E. MORIN
@ 2013-08-08 23:58 ` Stephen Rothwell
2013-08-09 11:42 ` Sam Ravnborg
1 sibling, 0 replies; 7+ messages in thread
From: Stephen Rothwell @ 2013-08-08 23:58 UTC (permalink / raw)
To: Yann E. MORIN
Cc: Steven Rostedt, Michal Marek, Kevin Hilman, sedat.dilek,
Theodore Ts'o, linux-next, linux-kernel, Linux kbuild ML
[-- Attachment #1: Type: text/plain, Size: 1132 bytes --]
Hi Yann,
On Thu, 8 Aug 2013 23:54:49 +0200 "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
>
> Ok, I've had a look in the linux-next archives, and I think I got it.
> Is the following right?
>
> git clean -d; git clean -dX # To be sure tree is clean
> touch empty
> make KCONFIG_ALLCONFIG=empty allmodconfig
> grep MODULES .config
> $ CONFIG_MODULES is not set
Yes, that is what I am seeing.
> If so, I think I found the reason: the modules symbol is _always_ set to
> being valid as soon as KCONFIG_ALLCONFIG is read, even if it was not
> present in that file.
>
> Since it is set to be valid, the following change means it is not
> affected another value later on.
>
> So, I wonder what the best option is:
> 1- revert the following, and find another solution,
> 2- de-specialise the modules symbol,
> 3- or further specialise the modules symbol.
>
> I'd be inclined to go for 1, but I have no straightforward idea so far.
> It's late here, so I'll look more thouroughly this WE.
Thanks.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: build failure after merge of the ext4 tree
2013-08-08 21:54 ` linux-next: build failure after merge of the ext4 tree Yann E. MORIN
2013-08-08 23:58 ` Stephen Rothwell
@ 2013-08-09 11:42 ` Sam Ravnborg
2013-08-11 21:39 ` Yann E. MORIN
1 sibling, 1 reply; 7+ messages in thread
From: Sam Ravnborg @ 2013-08-09 11:42 UTC (permalink / raw)
To: Yann E. MORIN
Cc: Stephen Rothwell, Steven Rostedt, Michal Marek, Kevin Hilman,
sedat.dilek, Theodore Ts'o, linux-next, linux-kernel,
Linux kbuild ML
On Thu, Aug 08, 2013 at 11:54:49PM +0200, Yann E. MORIN wrote:
> Stephen, All,
>
> On 2013-08-08 21:16 +0200, Yann E. MORIN spake thusly:
> > On 2013-08-08 10:36 +1000, Stephen Rothwell spake thusly:
> > > On Thu, 8 Aug 2013 10:22:28 +1000 Stephen Rothwell <sfr@canb.auug.org.au>
> > > wrote:
> > > >
> > > > More quick testing with an empty file: v3.9 is OK, v3.10 gives
> > > > CONFIG_MODULES unset.
> >
> > Sorry, I don't understand the above. Can you elaborate on what you did,
> > what you got, what expected, so I can try to reproduce and fix this,
> > please?
>
> Ok, I've had a look in the linux-next archives, and I think I got it.
> Is the following right?
>
> git clean -d; git clean -dX # To be sure tree is clean
> touch empty
> make KCONFIG_ALLCONFIG=empty allmodconfig
> grep MODULES .config
> $ CONFIG_MODULES is not set
>
> If so, I think I found the reason: the modules symbol is _always_ set to
> being valid as soon as KCONFIG_ALLCONFIG is read, even if it was not
> present in that file.
>
> Since it is set to be valid, the following change means it is not
> affected another value later on.
>
> So, I wonder what the best option is:
> 1- revert the following, and find another solution,
> 2- de-specialise the modules symbol,
> 3- or further specialise the modules symbol.
If we drop the special handling of "MODULES" and introduced
the following in we may fix it - hopefully:
config MODULES
option modules
The option handling is already in place. It is even documented :-)
At least we could then drop the sym_lookup here (zconf.y):
if (!modules_sym->prop) {
struct property *prop;
prop = prop_alloc(P_DEFAULT, modules_sym);
prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
}
Without the sym_lookup I think the symbol will not be defined and tus not marked valid.
Soory - no patch as I am busy with day-time job stuff.
Sam
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: build failure after merge of the ext4 tree
2013-08-09 11:42 ` Sam Ravnborg
@ 2013-08-11 21:39 ` Yann E. MORIN
2013-08-16 13:10 ` Michal Marek
0 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2013-08-11 21:39 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Stephen Rothwell, Steven Rostedt, Michal Marek, Kevin Hilman,
sedat.dilek, Theodore Ts'o, linux-next, linux-kernel,
Linux kbuild ML
Sam, All,
On 2013-08-09 13:42 +0200, Sam Ravnborg spake thusly:
> On Thu, Aug 08, 2013 at 11:54:49PM +0200, Yann E. MORIN wrote:
> > Stephen, All,
> >
> > On 2013-08-08 21:16 +0200, Yann E. MORIN spake thusly:
> > > On 2013-08-08 10:36 +1000, Stephen Rothwell spake thusly:
> > > > On Thu, 8 Aug 2013 10:22:28 +1000 Stephen Rothwell <sfr@canb.auug.org.au>
> > > > wrote:
> > > > >
> > > > > More quick testing with an empty file: v3.9 is OK, v3.10 gives
> > > > > CONFIG_MODULES unset.
> > >
> > > Sorry, I don't understand the above. Can you elaborate on what you did,
> > > what you got, what expected, so I can try to reproduce and fix this,
> > > please?
> >
> > Ok, I've had a look in the linux-next archives, and I think I got it.
> > Is the following right?
> >
> > git clean -d; git clean -dX # To be sure tree is clean
> > touch empty
> > make KCONFIG_ALLCONFIG=empty allmodconfig
> > grep MODULES .config
> > $ CONFIG_MODULES is not set
> >
> > If so, I think I found the reason: the modules symbol is _always_ set to
> > being valid as soon as KCONFIG_ALLCONFIG is read, even if it was not
> > present in that file.
> >
> > Since it is set to be valid, the following change means it is not
> > affected another value later on.
> >
> > So, I wonder what the best option is:
> > 1- revert the following, and find another solution,
> > 2- de-specialise the modules symbol,
> > 3- or further specialise the modules symbol.
>
> If we drop the special handling of "MODULES" and introduced
> the following in we may fix it - hopefully:
>
> config MODULES
> option modules
>
> The option handling is already in place. It is even documented :-)
Yes, indeed, that one is pretty easy! :-)
> At least we could then drop the sym_lookup here (zconf.y):
> if (!modules_sym->prop) {
> struct property *prop;
>
> prop = prop_alloc(P_DEFAULT, modules_sym);
> prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
> }
> Without the sym_lookup I think the symbol will not be defined and tus not marked valid.
Sorry, I don't understand what we should do here.
From what I understand, here's what happens:
- there's no symbol that declared the 'modules' option, so the
modules_sym->prop is NULL;
- so we look for the symbol 'MODULES' and use that as the symbol used
to evaluate if tristates are enabled.
So, now we have 'option modules' added to MODULES, we never enter this
if() condition.
But what would happen to other projects that do not have a symbol set
with 'option modules' and no 'MODULES' symbol? Surely, those projects do
not need tristates, but what should the code do in this case?
So, I don't know what to replace this 'sym_lookup("MODULES", 0)' with.
> Soory - no patch as I am busy with day-time job stuff.
I hope you can share some guidnce here, please... ;-)
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: build failure after merge of the ext4 tree
2013-08-11 21:39 ` Yann E. MORIN
@ 2013-08-16 13:10 ` Michal Marek
2013-08-16 17:14 ` Sam Ravnborg
0 siblings, 1 reply; 7+ messages in thread
From: Michal Marek @ 2013-08-16 13:10 UTC (permalink / raw)
To: Yann E. MORIN
Cc: Sam Ravnborg, Stephen Rothwell, Steven Rostedt, Kevin Hilman,
sedat.dilek, Theodore Ts'o, linux-next, linux-kernel,
Linux kbuild ML
On 11.8.2013 23:39, Yann E. MORIN wrote:
> On 2013-08-09 13:42 +0200, Sam Ravnborg spake thusly:
>> If we drop the special handling of "MODULES" and introduced
>> the following in we may fix it - hopefully:
>>
>> config MODULES
>> option modules
>>
>> The option handling is already in place. It is even documented :-)
>
> Yes, indeed, that one is pretty easy! :-)
>
>> At least we could then drop the sym_lookup here (zconf.y):
>> if (!modules_sym->prop) {
>> struct property *prop;
>>
>> prop = prop_alloc(P_DEFAULT, modules_sym);
>> prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
>> }
>> Without the sym_lookup I think the symbol will not be defined and tus not marked valid.
>
> Sorry, I don't understand what we should do here.
>
> From what I understand, here's what happens:
> - there's no symbol that declared the 'modules' option, so the
> modules_sym->prop is NULL;
> - so we look for the symbol 'MODULES' and use that as the symbol used
> to evaluate if tristates are enabled.
>
> So, now we have 'option modules' added to MODULES, we never enter this
> if() condition.
>
> But what would happen to other projects that do not have a symbol set
> with 'option modules' and no 'MODULES' symbol? Surely, those projects do
> not need tristates, but what should the code do in this case?
>
> So, I don't know what to replace this 'sym_lookup("MODULES", 0)' with.
If the Kconfig files do not provide any symbol with 'option modules',
then set modules_sym to a dummy bool with the value 'n'?
Thanks,
Michal
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: build failure after merge of the ext4 tree
2013-08-16 13:10 ` Michal Marek
@ 2013-08-16 17:14 ` Sam Ravnborg
2013-08-16 18:02 ` Yann E. MORIN
0 siblings, 1 reply; 7+ messages in thread
From: Sam Ravnborg @ 2013-08-16 17:14 UTC (permalink / raw)
To: Michal Marek
Cc: Yann E. MORIN, Stephen Rothwell, Steven Rostedt, Kevin Hilman,
sedat.dilek, Theodore Ts'o, linux-next, linux-kernel,
Linux kbuild ML
On Fri, Aug 16, 2013 at 03:10:38PM +0200, Michal Marek wrote:
> On 11.8.2013 23:39, Yann E. MORIN wrote:
> > On 2013-08-09 13:42 +0200, Sam Ravnborg spake thusly:
> >> If we drop the special handling of "MODULES" and introduced
> >> the following in we may fix it - hopefully:
> >>
> >> config MODULES
> >> option modules
> >>
> >> The option handling is already in place. It is even documented :-)
> >
> > Yes, indeed, that one is pretty easy! :-)
> >
> >> At least we could then drop the sym_lookup here (zconf.y):
> >> if (!modules_sym->prop) {
> >> struct property *prop;
> >>
> >> prop = prop_alloc(P_DEFAULT, modules_sym);
> >> prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
> >> }
> >> Without the sym_lookup I think the symbol will not be defined and tus not marked valid.
> >
> > Sorry, I don't understand what we should do here.
> >
> > From what I understand, here's what happens:
> > - there's no symbol that declared the 'modules' option, so the
> > modules_sym->prop is NULL;
> > - so we look for the symbol 'MODULES' and use that as the symbol used
> > to evaluate if tristates are enabled.
> >
> > So, now we have 'option modules' added to MODULES, we never enter this
> > if() condition.
> >
> > But what would happen to other projects that do not have a symbol set
> > with 'option modules' and no 'MODULES' symbol? Surely, those projects do
> > not need tristates, but what should the code do in this case?
> >
> > So, I don't know what to replace this 'sym_lookup("MODULES", 0)' with.
>
> If the Kconfig files do not provide any symbol with 'option modules',
> then set modules_sym to a dummy bool with the value 'n'?
This is my thinking too - to use the symbol "n".
But I wanted to try it out - but so far have not had time for it.
Sam
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: linux-next: build failure after merge of the ext4 tree
2013-08-16 17:14 ` Sam Ravnborg
@ 2013-08-16 18:02 ` Yann E. MORIN
0 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2013-08-16 18:02 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Michal Marek, Stephen Rothwell, Steven Rostedt, Kevin Hilman,
sedat.dilek, Theodore Ts'o, linux-next, linux-kernel,
Linux kbuild ML
Sam, Michal, All,
On 2013-08-16 19:14 +0200, Sam Ravnborg spake thusly:
> On Fri, Aug 16, 2013 at 03:10:38PM +0200, Michal Marek wrote:
> > On 11.8.2013 23:39, Yann E. MORIN wrote:
> > > On 2013-08-09 13:42 +0200, Sam Ravnborg spake thusly:
> > >> If we drop the special handling of "MODULES" and introduced
> > >> the following in we may fix it - hopefully:
> > >>
> > >> config MODULES
> > >> option modules
> > >>
> > >> The option handling is already in place. It is even documented :-)
> > >
> > > Yes, indeed, that one is pretty easy! :-)
> > >
> > >> At least we could then drop the sym_lookup here (zconf.y):
> > >> if (!modules_sym->prop) {
> > >> struct property *prop;
> > >>
> > >> prop = prop_alloc(P_DEFAULT, modules_sym);
> > >> prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
> > >> }
> > >> Without the sym_lookup I think the symbol will not be defined and tus not marked valid.
> > >
> > > Sorry, I don't understand what we should do here.
> > >
> > > From what I understand, here's what happens:
> > > - there's no symbol that declared the 'modules' option, so the
> > > modules_sym->prop is NULL;
> > > - so we look for the symbol 'MODULES' and use that as the symbol used
> > > to evaluate if tristates are enabled.
> > >
> > > So, now we have 'option modules' added to MODULES, we never enter this
> > > if() condition.
> > >
> > > But what would happen to other projects that do not have a symbol set
> > > with 'option modules' and no 'MODULES' symbol? Surely, those projects do
> > > not need tristates, but what should the code do in this case?
> > >
> > > So, I don't know what to replace this 'sym_lookup("MODULES", 0)' with.
> >
> > If the Kconfig files do not provide any symbol with 'option modules',
> > then set modules_sym to a dummy bool with the value 'n'?
> This is my thinking too - to use the symbol "n".
> But I wanted to try it out - but so far have not had time for it.
OK, I'll tackle this. Thanks for the info. :-)
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-08-16 18:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20130729110816.12958c3a26400f444a9a5012@canb.auug.org.au>
[not found] ` <CA+icZUUt4domktYZZn0Qp3BZoSFqmKic4qSnVP4cuTKwUww_=A@mail.gmail.com>
[not found] ` <20130807153840.4f2997b603397c07aca98b2d@canb.auug.org.au>
[not found] ` <87zjsted0c.fsf@linaro.org>
[not found] ` <20130808102228.d2034d3a4c986d2970926ab9@canb.auug.org.au>
[not found] ` <20130808103614.a039da2f236154b52329b28b@canb.auug.org.au>
[not found] ` <20130808191650.GB3282@free.fr>
2013-08-08 21:54 ` linux-next: build failure after merge of the ext4 tree Yann E. MORIN
2013-08-08 23:58 ` Stephen Rothwell
2013-08-09 11:42 ` Sam Ravnborg
2013-08-11 21:39 ` Yann E. MORIN
2013-08-16 13:10 ` Michal Marek
2013-08-16 17:14 ` Sam Ravnborg
2013-08-16 18:02 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox