Re: [PATCH] kbuild: avoid unrecognized option error for external DTC

2 messages, 2 authors, 2017-02-28 · open the first message on its own page

Re: [PATCH] kbuild: avoid unrecognized option error for external DTC

From: Ben Hutchings <hidden>
Date: 2017-02-27 14:08:59

On Mon, 2017-02-27 at 14:40 +0900, Masahiro Yamada wrote:
Since commit 6b22b3d1614a ("kbuild: Allow using host dtc instead of
kernel's copy"), it is possible to use an external dtc.  In this
case, we do not know which options are supported on it.

Commit bc553986a2f7 ("dtc: turn off dtc unit address warnings by
default") gives -Wno-unit_address_vs_reg, but this options is only
recognized by v1.4.2 or later.

If an older version is specified, the build fails:
But the option to use an external dtc was intended to allow testing of
newer versions.  If there's no reason to use this option to run an
older version, why bother trying to support that?

[...]
quoted hunk
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -171,6 +171,20 @@ ld-version = $(shell $(LD) --version | $(srctree)/scripts/ld-version.sh)
 # Usage:  $(call ld-ifversion, -ge, 22252, y)
 ld-ifversion = $(shell [ $(ld-version) $(1) $(2) ] && echo $(3) || echo $(4))
 
+# dtc-option
+# Usage:  DTC_FLAGS += $(call dtc-option,-Wno-unit_address_vs_reg)
+#
+# When we use the external dtc, check if the desired options are supported.
+# When we use the kernel's copy (scripts/dtc/dtc), just use the fixed option.
+# Until Kbuild descends into the scripts/dtc/ directory, scripts/dtc/dtc may
+# not exist, i.e. $(call try-run,...) may not work.
+ifeq ("$(origin DTC)", "command line")
[...]

It could also be specified as an environment variable (assignment with
"?=" doesn't override them, but "=" does).

Ben.

-- 
Ben Hutchings
This sentence contradicts itself - no actually it doesn't.

Re: [PATCH] kbuild: avoid unrecognized option error for external DTC

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-02-28 10:28:46

Ben Hutchings [off-list ref] writes:
[ Unknown signature status ]
On Mon, 2017-02-27 at 14:40 +0900, Masahiro Yamada wrote:
quoted
Since commit 6b22b3d1614a ("kbuild: Allow using host dtc instead of
kernel's copy"), it is possible to use an external dtc.=C2=A0=C2=A0In th=
is
quoted
case, we do not know which options are supported on it.
=20
Commit bc553986a2f7 ("dtc: turn off dtc unit address warnings by
default") gives -Wno-unit_address_vs_reg, but this options is only
recognized by v1.4.2 or later.
=20
If an older version is specified, the build fails:
But the option to use an external dtc was intended to allow testing of
newer versions.  If there's no reason to use this option to run an
older version, why bother trying to support that?
+1

That's a lot of added complexity, when the answer could just be "use the
kernel dtc".

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help