* [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
@ 2020-09-08 10:00 Andy Shevchenko
2020-09-08 12:13 ` Ingo Molnar
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2020-09-08 10:00 UTC (permalink / raw)
To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
H. Peter Anvin, linux-kernel
Cc: Andy Shevchenko, Jarkko Nikula, Tony Luck
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 <jarkko.nikula@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
---
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
2020-09-08 10:00 [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds Andy Shevchenko
@ 2020-09-08 12:13 ` Ingo Molnar
2020-09-08 13:43 ` Andy Shevchenko
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Ingo Molnar @ 2020-09-08 12:13 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
H. Peter Anvin, linux-kernel, Jarkko Nikula, Tony Luck
* Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
2020-09-08 12:13 ` Ingo Molnar
@ 2020-09-08 13:43 ` Andy Shevchenko
2020-09-09 8:00 ` Ingo Molnar
2020-09-08 13:49 ` Jarkko Nikula
2020-09-08 17:50 ` Randy Dunlap
2 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2020-09-08 13:43 UTC (permalink / raw)
To: Ingo Molnar
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
H. Peter Anvin, linux-kernel, Jarkko Nikula, Tony Luck
On Tue, Sep 08, 2020 at 02:13:54PM +0200, Ingo Molnar wrote:
>
> * Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
2020-09-08 12:13 ` Ingo Molnar
2020-09-08 13:43 ` Andy Shevchenko
@ 2020-09-08 13:49 ` Jarkko Nikula
2020-09-08 17:50 ` Randy Dunlap
2 siblings, 0 replies; 8+ messages in thread
From: Jarkko Nikula @ 2020-09-08 13:49 UTC (permalink / raw)
To: Ingo Molnar, Andy Shevchenko
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
H. Peter Anvin, linux-kernel, Tony Luck
Hi
On 9/8/20 3:13 PM, Ingo Molnar wrote:
>
> * Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
2020-09-08 12:13 ` Ingo Molnar
2020-09-08 13:43 ` Andy Shevchenko
2020-09-08 13:49 ` Jarkko Nikula
@ 2020-09-08 17:50 ` Randy Dunlap
2020-09-08 18:45 ` Andy Shevchenko
2 siblings, 1 reply; 8+ messages in thread
From: Randy Dunlap @ 2020-09-08 17:50 UTC (permalink / raw)
To: Ingo Molnar, Andy Shevchenko
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
H. Peter Anvin, linux-kernel, Jarkko Nikula, Tony Luck
On 9/8/20 5:13 AM, Ingo Molnar wrote:
>
> * Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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.diaz@linaro.org/
--
~Randy
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
2020-09-08 17:50 ` Randy Dunlap
@ 2020-09-08 18:45 ` Andy Shevchenko
0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2020-09-08 18:45 UTC (permalink / raw)
To: Randy Dunlap
Cc: Ingo Molnar, Andy Shevchenko, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT),
H. Peter Anvin, Linux Kernel Mailing List, Jarkko Nikula,
Tony Luck
On Tue, Sep 8, 2020 at 8:53 PM Randy Dunlap <rdunlap@infradead.org> wrote:
> On 9/8/20 5:13 AM, Ingo Molnar wrote:
> > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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.diaz@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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
2020-09-08 13:43 ` Andy Shevchenko
@ 2020-09-09 8:00 ` Ingo Molnar
2020-09-09 10:14 ` Andy Shevchenko
0 siblings, 1 reply; 8+ messages in thread
From: Ingo Molnar @ 2020-09-09 8:00 UTC (permalink / raw)
To: Andy Shevchenko, Masahiro Yamada, Arnaud Lacombe
Cc: Thomas Gleixner, Ingo Molnar, Borislav Petkov, x86,
H. Peter Anvin, linux-kernel, Jarkko Nikula, Tony Luck
* Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> On Tue, Sep 08, 2020 at 02:13:54PM +0200, Ingo Molnar wrote:
> >
> > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds
2020-09-09 8:00 ` Ingo Molnar
@ 2020-09-09 10:14 ` Andy Shevchenko
0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2020-09-09 10:14 UTC (permalink / raw)
To: Ingo Molnar
Cc: Masahiro Yamada, Arnaud Lacombe, Thomas Gleixner, Ingo Molnar,
Borislav Petkov, x86, H. Peter Anvin, linux-kernel, Jarkko Nikula,
Tony Luck
On Wed, Sep 09, 2020 at 10:00:20AM +0200, Ingo Molnar wrote:
> * Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> > On Tue, Sep 08, 2020 at 02:13:54PM +0200, Ingo Molnar wrote:
> > > * Andy Shevchenko <andriy.shevchenko@linux.intel.com> 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
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-09-09 10:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-08 10:00 [PATCH v1] x86/defconfigs: Unbreak 32-bit defconfig builds Andy Shevchenko
2020-09-08 12:13 ` Ingo Molnar
2020-09-08 13:43 ` Andy Shevchenko
2020-09-09 8:00 ` Ingo Molnar
2020-09-09 10:14 ` Andy Shevchenko
2020-09-08 13:49 ` Jarkko Nikula
2020-09-08 17:50 ` Randy Dunlap
2020-09-08 18:45 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox