Re: [PATCH v2 0/7] Rename DTB overlay source files

From: Andrew Davis
Date: Mon Nov 14 2022 - 15:44:56 EST


On 11/14/22 10:06 AM, Andy Shevchenko wrote:
On Sun, Nov 13, 2022 at 02:36:33PM +0200, Andy Shevchenko wrote:
On Sun, Nov 13, 2022 at 02:20:48PM +0200, Andy Shevchenko wrote:
On Fri, Nov 11, 2022 at 03:05:20PM -0600, Andrew Davis wrote:
On 11/11/22 1:39 PM, Andy Shevchenko wrote:
On Wed, Oct 26, 2022 at 09:11:21AM -0500, Rob Herring wrote:
On Mon, Oct 24, 2022 at 12:34 PM Andrew Davis <afd@xxxxxx> wrote:

Hello all,

This is a series based on my patch here[0]. As suggested by Rob
I've resurrected Frank's patch and appended it to mine as a series.

First patch here is my original patch, 3rd is Frank's patch but with
the unittest changes pulled out into the 2nd patch. That was re-worked
moving the source building macro into scripts/Makefile.lib.

Patches 4, 5, and 6 are an attempt at renaming all the existing DTB
overlays. Split out by platform so they could be taken by platform
maintainers or if easier ACK'd here and taken all together.

This should cover all the DTB overlays so we can remove the old .dts
rule for overlays and make .dtso the only supported way, let me know
if we want that this cycle and I can post that too.

Thanks,
Andrew

Changes from v1[1]:
- Added patch to rename pi433 overlay.
- Cleaned wording on patch 4-6.
- Collected some ACKs

[0] https://www.spinics.net/lists/kernel/msg4548509.html
[1] https://www.spinics.net/lists/arm-kernel/msg1020165.html

Andrew Davis (6):
kbuild: Allow DTB overlays to built from .dtso named source files
kbuild: Allow DTB overlays to built into .dtso.S files
arm64: dts: freescale: Rename DTB overlay source files from .dts to
.dtso
arm64: dts: renesas: Rename DTB overlay source files from .dts to
.dtso
arm64: dts: xilinx: Rename DTB overlay source files from .dts to .dtso
staging: pi433: overlay: Rename overlay source file from .dts to .dtso

Frank Rowand (1):
of: overlay: rename overlay source files from .dts to .dtso

I've applied patches 1-3 and 7. I'll send a PR for the branch to the
platform maintainers after a few days in linux-next.

The patch

commit 941214a512d8c80d47e720c17ec17e8539175e93
Author: Andrew Davis <afd@xxxxxx>
Date: Mon Oct 24 12:34:29 2022 -0500

kbuild: Allow DTB overlays to built into .dtbo.S files

broke the build reproducibility / no-op builds.

Before:
2+ execution of `make` on non-changed tree did nothing

Now:
Each run of `make` (even without a single bit changed) restarts vmlinux
rebuild.

Please, revert or fix.


I do not see this behavior. What config are you using?

Not sure how this patch could be the root cause, it only adds
a build target/rule, but doesn't actually use it anywhere yet..

For your reference I started with this one [1].

When I bisected, I just answered with defaults on whatever `make` told me at
the configuration stage.

The actual `make` command I used:

make O=/path/to/the/result W=1 C=1 CF=-D__CHECK_ENDIAN__ -j64

But there is nothing that can affect the described issue.

Actually, O= might affect which Makefile is used and how.
The C=, CF= are sparse flags, W= is just warning level.

As far as I can tell right now it's the OF_UNITTEST on x86_64 that makes the
above mentioned patch to be a culprit. Not sure if on ARM / ARM64 you can
reproduce that. And it's really strange nobody reported this for a week+.

Whatever, I'm open for the suggestions and material to test.


I think I found the issue, we forgot to add the new dtbo.S/o files
to the list of preserved intermediate targets, so Make was
removing them after build.

Sending the fix now.

Thanks,
Andrew

[1]: https://p.defau.lt/?ZSOdGnNxF9v9AQtrfDo_KQ