Re: [PATCH] parisc: Regenerate parisc defconfigs

From: Guenter Roeck
Date: Fri Mar 27 2020 - 02:43:13 EST


On 3/26/20 3:19 PM, Helge Deller wrote:
> * Guenter Roeck <linux@xxxxxxxxxxxx>:
>> On Mon, Feb 03, 2020 at 10:31:22PM +0100, Helge Deller wrote:
>>> Regenerate the 32- and 64-bit defconfigs and drop the outdated specific
>>> machine defconfigs for the 712, A500, B160, C3000 and C8000 workstations.
>>> ---
>>> arch/parisc/configs/712_defconfig | 181 ---------------
>>> arch/parisc/configs/a500_defconfig | 177 ---------------
>>> arch/parisc/configs/defconfig | 206 -----------------
>>
>> Since the removal of arch/parisc/configs/defconfig, "make ARCH=parisc
>> defconfig" results in an endless recursive make loop.
>
> Can you please test the patch below?
> Helge
>
> ----
> [PATCH] parisc: Fix defconfig selection
>
> Fix the recursive loop when running "make ARCH=parisc defconfig".
>
> Fixes: 84669923e1ed ("parisc: Regenerate parisc defconfigs")
> Noticed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> Signed-off-by: Helge Deller <deller@xxxxxx>

This works.

Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

It would be nice if there was a better way to select 32-bit
vs. 64-bit defconfigs (for example based on the compiler,
or with ARCH={parisc,parisc64}). However, that never worked
for parisc, so I guess we can't expect it to magically work
now, and much less so for a bug fix.

Thanks,
Guenter

>
> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig
> index 71034b54d74e..3801a2ef9bca 100644
> --- a/arch/parisc/Kconfig
> +++ b/arch/parisc/Kconfig
> @@ -79,6 +79,11 @@ config MMU
> config STACK_GROWSUP
> def_bool y
>
> +config ARCH_DEFCONFIG
> + string
> + default "arch/parisc/configs/generic-32bit_defconfig" if !64BIT
> + default "arch/parisc/configs/generic-64bit_defconfig" if 64BIT
> +
> config GENERIC_LOCKBREAK
> bool
> default y
> diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
> index dca8f2de8cf5..628cd8bb7ad8 100644
> --- a/arch/parisc/Makefile
> +++ b/arch/parisc/Makefile
> @@ -34,6 +34,13 @@ CC_ARCHES = hppa hppa2.0 hppa1.1
> LD_BFD := elf32-hppa-linux
> endif
>
> +# select defconfig based on actual architecture
> +ifeq ($(shell uname -m),parisc64)
> + KBUILD_DEFCONFIG := generic-64bit_defconfig
> +else
> + KBUILD_DEFCONFIG := generic-32bit_defconfig
> +endif
> +
> export LD_BFD
>
> ifneq ($(SUBARCH),$(UTS_MACHINE))
>