From: Ahmad Fatoum <a.fatoum@pengutronix.de>
To: "barebox@lists.infradead.org" <barebox@lists.infradead.org>
Subject: Re: [PATCH] Kbuild: include arch/ Makefile before other directories
Date: Tue, 13 Jun 2023 10:04:46 +0200 [thread overview]
Message-ID: <11d89cd2-8d88-60df-2282-23db6903b23f@pengutronix.de> (raw)
In-Reply-To: <20230605063719.1431079-1-a.fatoum@pengutronix.de>
Hi,
On 05.06.23 08:37, Ahmad Fatoum wrote:
> Unless overridden by SORT*, LD will place sections matched by wildcards
> in the order they were seen in the link. So far, this meant that
> arch/ initcalls and device trees compiled into barebox proper, were
> always last.
>
> For platforms with PBL or with only one device tree in barebox proper,
> this didn't matter much, but when enabling the of_manipulation selftest,
> a second device tree would be built into barebox on kvx, openrisc and
> some MIPS.
>
> Because all directories appear before arch/, this had the effect that
> on kvx, openrisc and some MIPS, __dtb_start would end up pointing at the
> test's device tree instead of the board device tree breaking the build.
>
> Switching the affected platforms to use PBL would be one fix for the
> issue, but there's a simple one: let's do what Linux does in its
> top-level Kbuild file and have arch/ not be the last in sequence.
>
> This may fause fallout for code that depended on specific ordering of
> initcalls or other linker-defined lists, which would need to be fixed.
>
> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
> ---
> While a fix, I think this needs to sit a while in next first.
Any feedback?
> ---
> Makefile | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 711cba7bed29..4fdb8f1b41af 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -586,11 +586,12 @@ endif
> # We need some generic definitions.
> include $(srctree)/scripts/Makefile.lib
>
> -# Objects we will link into barebox / subdirs we need to visit
> -common-y := common/ drivers/ commands/ lib/ crypto/ net/ fs/ firmware/ test/
>
> +# Objects we will link into barebox / subdirs we need to visit
> include $(srctree)/arch/$(SRCARCH)/Makefile
>
> +common-y += common/ drivers/ commands/ lib/ crypto/ net/ fs/ firmware/ test/
> +
> ifdef need-config
> ifdef may-sync-config
> # Read in dependencies to all Kconfig* files, make sure to run syncconfig if
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2023-06-13 8:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-05 6:37 Ahmad Fatoum
2023-06-13 8:04 ` Ahmad Fatoum [this message]
2023-06-13 9:16 ` Sascha Hauer
2023-06-13 10:18 ` Ahmad Fatoum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11d89cd2-8d88-60df-2282-23db6903b23f@pengutronix.de \
--to=a.fatoum@pengutronix.de \
--cc=barebox@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox