Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-09 Thread Andy Shevchenko
On Wed, Sep 09, 2020 at 10:00:20AM +0200, Ingo Molnar wrote:
> * Andy Shevchenko  wrote:
> > On Tue, Sep 08, 2020 at 02:13:54PM +0200, Ingo Molnar wrote:
> > > * Andy Shevchenko  wrote:

...

> > uname => x86_64
> > make i386_defconfig
> > 
> > It was very convenient to not supply ARCH when build on multi-arch host.
> 
> Nice, TIL about the extended 'make *config' targets. :-)
> 
> Curiously, they aren't even mentioned in the 'configuration targets' 
> section of 'make help' and are not discoverable unless you know their 
> locations.
> 
> Anyway, your fix makes sense now to me too.

I see you applied original patch from Daniel.

> Do we need a similar for x86_64 defconfig, when built on 32-bit hosts? (not 
> that anyone does that in practice, but just for completeness.)

I never heard about such use, I consider it more academic rather than
practical.

> Also, it would be nice if there was a way to annotate the defconfig for 
> 'make savedefconfig' preserved these ARCH choices - it currently strips out 
> all non-enabled options that match their default configuration value.

Hmm... Yes, perhaps it would be nice to have such an exception.

-- 
With Best Regards,
Andy Shevchenko




Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-09 Thread Ingo Molnar


* Andy Shevchenko  wrote:

> On Tue, Sep 08, 2020 at 02:13:54PM +0200, Ingo Molnar wrote:
> > 
> > * Andy Shevchenko  wrote:
> > 
> > > After the commit 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
> > > 32-bit builds using defconfig become broken because on x86_64 build host
> > > with no ARCH provided the default behaviour is to assume 64-bit 
> > > independently
> > > on the configuration file name. The crucial part is CONFIG_64BIT option
> > > that used to be explicit. Let restore the latter option in order to 
> > > unbreak
> > > 32-bit builds.
> > 
> > So exactly which build method broke due to this? The typical way to do a 
> > defconfig build is:
> > 
> >   make ARCH=i386 defconfig
> > 
> > which still works fine AFAICS.
> 
> uname => x86_64
> make i386_defconfig
> 
> It was very convenient to not supply ARCH when build on multi-arch host.

Nice, TIL about the extended 'make *config' targets. :-)

Curiously, they aren't even mentioned in the 'configuration targets' 
section of 'make help' and are not discoverable unless you know their 
locations.

Anyway, your fix makes sense now to me too.

Do we need a similar for x86_64 defconfig, when built on 32-bit hosts? (not 
that anyone does that in practice, but just for completeness.)

Also, it would be nice if there was a way to annotate the defconfig for 
'make savedefconfig' preserved these ARCH choices - it currently strips out 
all non-enabled options that match their default configuration value.

Thanks,

Ingo


Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-08 Thread Jarkko Nikula

Hi

On 9/8/20 3:13 PM, Ingo Molnar wrote:


* Andy Shevchenko  wrote:


After the commit 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
32-bit builds using defconfig become broken because on x86_64 build host
with no ARCH provided the default behaviour is to assume 64-bit independently
on the configuration file name. The crucial part is CONFIG_64BIT option
that used to be explicit. Let restore the latter option in order to unbreak
32-bit builds.


So exactly which build method broke due to this? The typical way to do a 
defconfig build is:

   make ARCH=i386 defconfig

which still works fine AFAICS.

Maybe wrong way to do it, just plain "make i386_defconfig". I'm aware of 
ARCH=, but never needed to specify it for x86 targets.


Jarkko


Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-08 Thread Andy Shevchenko
On Tue, Sep 8, 2020 at 8:53 PM Randy Dunlap  wrote:
> On 9/8/20 5:13 AM, Ingo Molnar wrote:
> > * Andy Shevchenko  wrote:
> >
> >> After the commit 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
> >> 32-bit builds using defconfig become broken because on x86_64 build host
> >> with no ARCH provided the default behaviour is to assume 64-bit 
> >> independently
> >> on the configuration file name. The crucial part is CONFIG_64BIT option
> >> that used to be explicit. Let restore the latter option in order to unbreak
> >> 32-bit builds.
> >
> > So exactly which build method broke due to this? The typical way to do a 
> > defconfig build is:
> >
> >   make ARCH=i386 defconfig
> >
> > which still works fine AFAICS.
> >
> > Thanks,
> >
> >   Ingo
> >
>
> Here is a previous patch from someone else:
>
> https://lore.kernel.org/lkml/20200810155943.2583275-1-daniel.d...@linaro.org/

Thanks for pointing out. Whatever Ingo prefers (though personally I
think the other one requires more work on the shrinking commit
message).

-- 
With Best Regards,
Andy Shevchenko


Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-08 Thread Andy Shevchenko
On Tue, Sep 08, 2020 at 02:13:54PM +0200, Ingo Molnar wrote:
> 
> * Andy Shevchenko  wrote:
> 
> > After the commit 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
> > 32-bit builds using defconfig become broken because on x86_64 build host
> > with no ARCH provided the default behaviour is to assume 64-bit 
> > independently
> > on the configuration file name. The crucial part is CONFIG_64BIT option
> > that used to be explicit. Let restore the latter option in order to unbreak
> > 32-bit builds.
> 
> So exactly which build method broke due to this? The typical way to do a 
> defconfig build is:
> 
>   make ARCH=i386 defconfig
> 
> which still works fine AFAICS.

uname => x86_64
make i386_defconfig

It was very convenient to not supply ARCH when build on multi-arch host.

-- 
With Best Regards,
Andy Shevchenko




Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-08 Thread Randy Dunlap
On 9/8/20 5:13 AM, Ingo Molnar wrote:
> 
> * Andy Shevchenko  wrote:
> 
>> After the commit 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
>> 32-bit builds using defconfig become broken because on x86_64 build host
>> with no ARCH provided the default behaviour is to assume 64-bit independently
>> on the configuration file name. The crucial part is CONFIG_64BIT option
>> that used to be explicit. Let restore the latter option in order to unbreak
>> 32-bit builds.
> 
> So exactly which build method broke due to this? The typical way to do a 
> defconfig build is:
> 
>   make ARCH=i386 defconfig
> 
> which still works fine AFAICS.
> 
> Thanks,
> 
>   Ingo
> 

Here is a previous patch from someone else:

https://lore.kernel.org/lkml/20200810155943.2583275-1-daniel.d...@linaro.org/


-- 
~Randy



Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-08 Thread Ingo Molnar


* Andy Shevchenko  wrote:

> After the commit 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
> 32-bit builds using defconfig become broken because on x86_64 build host
> with no ARCH provided the default behaviour is to assume 64-bit independently
> on the configuration file name. The crucial part is CONFIG_64BIT option
> that used to be explicit. Let restore the latter option in order to unbreak
> 32-bit builds.

So exactly which build method broke due to this? The typical way to do a 
defconfig build is:

  make ARCH=i386 defconfig

which still works fine AFAICS.

Thanks,

Ingo


[PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds

2020-09-08 Thread Andy Shevchenko
After the commit 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
32-bit builds using defconfig become broken because on x86_64 build host
with no ARCH provided the default behaviour is to assume 64-bit independently
on the configuration file name. The crucial part is CONFIG_64BIT option
that used to be explicit. Let restore the latter option in order to unbreak
32-bit builds.

Fixes: 1d0e12fd3a84 ("x86/defconfigs: Refresh defconfig files")
Reported-by: Jarkko Nikula 
Signed-off-by: Andy Shevchenko 
Reviewed-by: Tony Luck 
---
 arch/x86/configs/i386_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
index d66078fc94a4..0b75c4291748 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -19,6 +19,7 @@ CONFIG_CGROUP_CPUACCT=y
 CONFIG_BLK_DEV_INITRD=y
 # CONFIG_COMPAT_BRK is not set
 CONFIG_PROFILING=y
+# CONFIG_64BIT is not set
 CONFIG_SMP=y
 CONFIG_X86_GENERIC=y
 CONFIG_HPET_TIMER=y
-- 
2.28.0