[PATCH 2/8] ARM: renesas: Simplify board Makefiles
Marek Vasut
marek.vasut at mailbox.org
Sat Jan 18 08:53:34 CET 2025
On 1/15/25 11:22 AM, Quentin Schulz wrote:
> Hi Marek,
>
> On 1/12/25 11:34 PM, Marek Vasut wrote:
>> Introduce board/renesas/common/Makefile and remove the multiple
>> duplicate copies of obj := ../common/*.o from board Makefiles.
>> Let the build system include the common Makefile using the
>> HAVE_VENDOR_COMMON_LIB and build the common objects that are
>> shared by all the boards that way. No functional change intended.
>>
>
> Thanks for highlighting this HAVE_VENDOR_COMMON_LIB mechanism, I'm now
> planning on migrating the Theobroma boards to that :) (I would need
> https://lore.kernel.org/u-boot/20250112223252.179123-1-
> marek.vasut+renesas at mailbox.org/ though :) ).
>
>> Some of the remaining board files which include board specific
>> settings have been updated to use obj-y += to avoid rewriting
>> the board obj-y target and avoid dropping object files from the
>> build.
>>
>> Board Makefiles cannot be empty, else they do not generate built-in.o,
>> move the CONFIG_XPL_BUILD ifdeffery from Makefiles into .c files to
>> make sure there is always a built-in.o generated from the remaining
>> minimal Makefiles. This will be further cleaned up in follow up patches.
>>
>
> Unrelated, but I misread the commit log and was wondering whether this
> patch series would work without the additional patch from https://
> lore.kernel.org/u-boot/20250112223252.179123-1-
> marek.vasut+renesas at mailbox.org/ so wanted to build an Rcar defconfig to
> verify but I'm unable to build r8a779f0_spider_defconfig from master:
>
> /usr/bin/aarch64-linux-gnu-ld: /usr/lib/gcc/aarch64-linux-gnu/14/
> libgcc.a(lse-init.o): in function `init_have_lse_atomics':
> /builddir/build/BUILD/cross-gcc-14.2.1-build/gcc-14.2.1-20240912/
> aarch64-linux-gnu/aarch64-linux-gnu/libgcc/../../../gcc-14.2.1-20240912/
> libgcc/config/aarch64/lse-init.c:46:(.text.startup+0xc): undefined
> reference to `__getauxval'
[...]
> collect2: fatal error: ld terminated with signal 11 [Segmentation
> fault], core dumped
> compilation terminated.
> make: *** [Makefile:1812: u-boot] Error 1
> make: *** Deleting file 'u-boot'
>
> so cannot check myself.
>
> I'm running Fedora 41.
>
> $ aarch64-linux-gnu-gcc --version
> aarch64-linux-gnu-gcc (GCC) 14.2.1 20240912 (Red Hat Cross 14.2.1-1)
Debian testing/unstable is at 14.2.0 and spider builds just fine.
Do you observe this failure with or without these patches applied ?
[...]
>> +++ b/board/renesas/common/Makefile
>> @@ -0,0 +1,45 @@
>> +#
>> +# board/renesas/whitehawk/Makefile
>> +#
>> +# Copyright (C) 2024 Marek Vasut <marek.vasut+renesas at mailbox.org>
>> +#
>> +# SPDX-License-Identifier: GPL-2.0+
>> +#
>> +
>> +# R-Car SoCs
>> +ifndef CONFIG_RZG2L
>> +
>
> This is a bit out of context, can you explain why this suddenly is here?
Fixed in V2
>> +# 32 bit SoCs
>> +ifdef CONFIG_RCAR_GEN2
>> +endif
>> +
>
> Not sure we need this noop?
This is preparation for R-Car Gen2 deduplication which might happen
sometimes.
> Also this probably should rather be CONFIG_RCAR_32 instead?
R-Car Gen2 is the only supported 32bit R-Car . I will have to add both
ifdef RCAR_32
ifdef RCAR_GEN2
[...]
>> --- a/board/renesas/whitehawk/Makefile
>> +++ /dev/null
>> @@ -1,13 +0,0 @@
>> -#
>> -# board/renesas/whitehawk/Makefile
>> -#
>> -# Copyright (C) 2021 Renesas Electronics Corp.
>> -#
>> -# SPDX-License-Identifier: GPL-2.0+
>> -#
>> -
>> -ifdef CONFIG_SPL_BUILD
>> -obj-y := ../common/gen4-spl.o
>> -else
>> -obj-y := ../common/gen4-common.o ../common/common.o
>> -endif
>
> This honestly was a bit difficult to review and felt like more than one
> change was made at once.
>
> The #if !IS_ENABLED(CONFIG_XPL_BUILD) changes could have been made in a
> separate commit I believe.
This is actually bogus, so I dropped the whole thing.
The rest is fixed, thanks .
More information about the U-Boot
mailing list