[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260204021603.GA2646832@ax162>
Date: Tue, 3 Feb 2026 19:16:03 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Icenowy Zheng <zhengxingda@...as.ac.cn>
Cc: Nicolas Schier <nsc@...nel.org>, Masahiro Yamada <masahiroy@...nel.org>,
Abel Vesa <abelvesa@...nel.org>, Mingcong Bai <jeffbai@...c.io>,
WangYuli <wangyuli@...ontech.com>,
Inochi Amaoto <inochiama@...il.com>,
James Le Cuirot <chewi@...too.org>, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org, Icenowy Zheng <uwu@...nowy.me>,
Rong Zhang <i@...g.moe>, Rob Herring <robh@...nel.org>,
Saravana Kannan <saravanak@...nel.org>, devicetree@...r.kernel.org
Subject: Re: [PATCH] kbuild: install-extmod-build: do not exclude
scripts/dtc/libfdt/
+ Rob, Saravana, and devicetree@ since this concerns files they own.
On Sun, Feb 01, 2026 at 09:02:59PM +0800, Icenowy Zheng wrote:
> There exists a header file in include/linux/ called libfdt.h that is
> just a wrapper for libfdt header file in scripts/dtc/libfdt/. This makes
> the headers inside libfdt copy at scripts/dtc/libfdt/ part of the kernel
> headers for building external modules.
>
> Do not exclude them, otherwise modules that include <linux/libfdt.h>
> will fail to build externally.
>
> Fixes: aaed5c7739be ("kbuild: slim down package for building external modules")
> Signed-off-by: Icenowy Zheng <zhengxingda@...as.ac.cn>
This does indeed bring back scripts/dtc/libfdt back into the headers
package that I examined. However, how does including libfdt.h in an
external module actually work, even with this change? libfdt appears to
be built into vmlinux IIUC and I do not see any EXPORT_SYMBOLs in the
list, so how can you actually use any of the functions from libfdt
within the module? Would you just build and link the pieces that your
module needs using the other source files?
> ---
> scripts/package/install-extmod-build | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/package/install-extmod-build b/scripts/package/install-extmod-build
> index 2576cf7902dbb..d1e448d7f59f6 100755
> --- a/scripts/package/install-extmod-build
> +++ b/scripts/package/install-extmod-build
> @@ -11,7 +11,8 @@ is_enabled() {
>
> find_in_scripts() {
> find scripts \
> - \( -name atomic -o -name dtc -o -name kconfig -o -name package \) -prune -o \
> + \( -name atomic -o -name kconfig -o -name package -o \
> + \( -path '*/dtc/*' -a ! -path '*/libfdt*' \) \) -prune -o \
> ! -name unifdef -a ! -name mk_elfconfig -a \( -type f -o -type l \) -print
> }
>
> --
> 2.52.0
>
Powered by blists - more mailing lists