From: Masahiro Yamada <masahiroy@kernel.org>
To: linux-kbuild@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas@fjasle.eu>,
Masahiro Yamada <masahiroy@kernel.org>
Subject: [PATCH 04/23] kbuild: doc: remove the description about shipped files
Date: Tue, 17 Sep 2024 23:16:32 +0900 [thread overview]
Message-ID: <20240917141725.466514-5-masahiroy@kernel.org> (raw)
In-Reply-To: <20240917141725.466514-1-masahiroy@kernel.org>
The use of shipped files is discouraged in the upstream kernel these
days. [1]
Downstream Makefiles have the freedom to use shipped files or other
options to handle binaries, but this is not what should be advertised
in the upstream document.
[1]: https://lore.kernel.org/all/CAHk-=wgSEi_ZrHdqr=20xv+d6dr5G895CbOAi8ok+7-CQUN=fQ@mail.gmail.com/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
Documentation/kbuild/modules.rst | 35 +++-----------------------------
1 file changed, 3 insertions(+), 32 deletions(-)
diff --git a/Documentation/kbuild/modules.rst b/Documentation/kbuild/modules.rst
index 7eceb9a65e9c..1afa6b1b4090 100644
--- a/Documentation/kbuild/modules.rst
+++ b/Documentation/kbuild/modules.rst
@@ -180,7 +180,6 @@ module 8123.ko, which is built from the following files::
8123_if.c
8123_if.h
8123_pci.c
- 8123_bin.o_shipped <= Binary blob
3.1 Shared Makefile
-------------------
@@ -198,7 +197,7 @@ module 8123.ko, which is built from the following files::
ifneq ($(KERNELRELEASE),)
# kbuild part of makefile
obj-m := 8123.o
- 8123-y := 8123_if.o 8123_pci.o 8123_bin.o
+ 8123-y := 8123_if.o 8123_pci.o
else
# normal makefile
@@ -207,10 +206,6 @@ module 8123.ko, which is built from the following files::
default:
$(MAKE) -C $(KDIR) M=$$PWD
- # Module specific targets
- genbin:
- echo "X" > 8123_bin.o_shipped
-
endif
The check for KERNELRELEASE is used to separate the two parts
@@ -232,7 +227,7 @@ module 8123.ko, which is built from the following files::
--> filename: Kbuild
obj-m := 8123.o
- 8123-y := 8123_if.o 8123_pci.o 8123_bin.o
+ 8123-y := 8123_if.o 8123_pci.o
--> filename: Makefile
KDIR ?= /lib/modules/`uname -r`/build
@@ -240,35 +235,11 @@ module 8123.ko, which is built from the following files::
default:
$(MAKE) -C $(KDIR) M=$$PWD
- # Module specific targets
- genbin:
- echo "X" > 8123_bin.o_shipped
-
The split in example 2 is questionable due to the simplicity of
each file; however, some external modules use makefiles
consisting of several hundred lines, and here it really pays
off to separate the kbuild part from the rest.
-3.3 Binary Blobs
-----------------
-
- Some external modules need to include an object file as a blob.
- kbuild has support for this, but requires the blob file to be
- named <filename>_shipped. When the kbuild rules kick in, a copy
- of <filename>_shipped is created with _shipped stripped off,
- giving us <filename>. This shortened filename can be used in
- the assignment to the module.
-
- Throughout this section, 8123_bin.o_shipped has been used to
- build the kernel module 8123.ko; it has been included as
- 8123_bin.o::
-
- 8123-y := 8123_if.o 8123_pci.o 8123_bin.o
-
- Although there is no distinction between the ordinary source
- files and the binary file, kbuild will pick up different rules
- when creating the object file for the module.
-
3.4 Building Multiple Modules
=============================
@@ -329,7 +300,7 @@ according to the following rule:
obj-m := 8123.o
ccflags-y := -I $(src)/include
- 8123-y := 8123_if.o 8123_pci.o 8123_bin.o
+ 8123-y := 8123_if.o 8123_pci.o
4.3 Several Subdirectories
--------------------------
--
2.43.0
next prev parent reply other threads:[~2024-09-17 14:17 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-17 14:16 [PATCH 00/23] kbuild: support building external modules in a separate build directory Masahiro Yamada
2024-09-17 14:16 ` [PATCH 01/23] kbuild: doc: update the description about Kbuild/Makefile split Masahiro Yamada
2024-09-18 15:35 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 02/23] kbuild: doc: remove description about grepping CONFIG options Masahiro Yamada
2024-09-18 15:35 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 03/23] kbuild: doc: remove outdated description of the limitation on -I usage Masahiro Yamada
2024-09-18 15:38 ` Nicolas Schier
2024-09-17 14:16 ` Masahiro Yamada [this message]
2024-09-18 16:24 ` [PATCH 04/23] kbuild: doc: remove the description about shipped files Nicolas Schier
2024-09-19 16:53 ` Masahiro Yamada
2024-09-17 14:16 ` [PATCH 05/23] kbuild: doc: describe the -C option precisely for external module builds Masahiro Yamada
2024-09-18 16:44 ` Nicolas Schier
2024-09-18 16:47 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 06/23] kbuild: doc: replace "gcc" in external module description Masahiro Yamada
2024-09-19 11:22 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 07/23] kbuild: remove unnecessary prune of rust/alloc for rustfmt Masahiro Yamada
2024-09-19 11:23 ` Nicolas Schier
2024-09-19 13:46 ` Nicolas Schier
2024-09-30 14:29 ` Miguel Ojeda
2024-09-17 14:16 ` [PATCH 08/23] kbuild: simplify find command " Masahiro Yamada
2024-09-19 13:54 ` Nicolas Schier
2024-09-19 13:59 ` Masahiro Yamada
2024-09-30 18:37 ` Miguel Ojeda
2024-10-01 2:18 ` Masahiro Yamada
2024-10-01 5:45 ` Miguel Ojeda
2024-09-17 14:16 ` [PATCH 09/23] speakup: use SPKDIR=$(src) to specify the source directory Masahiro Yamada
2024-10-03 18:25 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 10/23] kbuild: refactor the check for missing config files Masahiro Yamada
2024-09-25 14:04 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 11/23] kbuild: check the presence of include/generated/rustc_cfg Masahiro Yamada
2024-09-25 14:10 ` Nicolas Schier
2024-09-30 14:37 ` Miguel Ojeda
2024-09-17 14:16 ` [PATCH 12/23] scripts/nsdeps: use VPATH as src_prefix Masahiro Yamada
2024-09-25 14:18 ` Nicolas Schier
2024-09-26 7:30 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 13/23] kbuild: replace two $(abs_objtree) with $(CURDIR) in top Makefile Masahiro Yamada
2024-09-25 14:27 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 14/23] kbuild: add $(objtree)/ prefix to some in-kernel build artifacts Masahiro Yamada
2024-09-26 7:50 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 15/23] kbuild: rename abs_objtree to abs_output Masahiro Yamada
2024-09-26 7:51 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 16/23] kbuild: use 'output' variable to create the output directory Masahiro Yamada
2024-09-26 7:54 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 17/23] kbuild: build external modules in their directory Masahiro Yamada
2024-10-03 18:41 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 18/23] kbuild: remove extmod_prefix, MODORDER, MODULES_NSDEPS variables Masahiro Yamada
2024-10-03 18:47 ` Nicolas Schier
2024-11-10 1:36 ` Masahiro Yamada
2024-09-17 14:16 ` [PATCH 19/23] kbuild: support building external modules in a separate build directory Masahiro Yamada
2024-10-03 19:47 ` Nicolas Schier
2024-10-04 19:45 ` Nicolas Schier
2024-11-10 1:36 ` Masahiro Yamada
2024-11-10 1:36 ` Masahiro Yamada
2024-09-17 14:16 ` [PATCH 20/23] kbuild: support -fmacro-prefix-map for external modules Masahiro Yamada
2024-10-04 18:51 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 21/23] kbuild: use absolute path in the generated wrapper Makefile Masahiro Yamada
2024-10-04 19:02 ` Nicolas Schier
2024-11-29 23:31 ` Caleb Connolly
2024-11-30 9:19 ` Masahiro Yamada
2024-09-17 14:16 ` [PATCH 22/23] kbuild: make wrapper Makefile more convenient for external modules Masahiro Yamada
2024-10-04 19:46 ` Nicolas Schier
2024-09-17 14:16 ` [PATCH 23/23] kbuild: allow to start building external module in any directory Masahiro Yamada
2024-10-04 20:05 ` Nicolas Schier
2024-09-20 10:39 ` [PATCH 00/23] kbuild: support building external modules in a separate build directory Nicolas Schier
2024-09-20 12:58 ` Masahiro Yamada
2024-09-20 13:41 ` Nicolas Schier
2024-09-28 6:50 ` Masahiro Yamada
2024-09-30 14:28 ` Miguel Ojeda
2024-10-04 20:16 ` Nicolas Schier
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=20240917141725.466514-5-masahiroy@kernel.org \
--to=masahiroy@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas@fjasle.eu \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.