Skip to content

Commit a530a36

Browse files
committed
Merge tag 'kbuild-v6.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada: "This is the last pull request from me. I'm grateful to have been able to continue as a maintainer for eight years. From the next cycle, Nathan and Nicolas will maintain Kbuild. - Fix a shortcut key issue in menuconfig - Fix missing rebuild of kheaders - Sort the symbol dump generated by gendwarfsyms - Support zboot extraction in scripts/extract-vmlinux - Migrate gconfig to GTK 3 - Add TAR variable to allow overriding the default tar command - Hand over Kbuild maintainership" * tag 'kbuild-v6.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (92 commits) MAINTAINERS: hand over Kbuild maintenance kheaders: make it possible to override TAR kbuild: userprogs: use correct linker when mixing clang and GNU ld kconfig: lxdialog: replace strcpy() with strncpy() in inputbox.c kconfig: lxdialog: replace strcpy with snprintf in print_autowrap kconfig: gconf: refactor text_insert_help() kconfig: gconf: remove unneeded variable in text_insert_msg kconfig: gconf: use hyphens in signals kconfig: gconf: replace GtkImageMenuItem with GtkMenuItem kconfig: gconf: Fix Back button behavior kconfig: gconf: fix single view to display dependent symbols correctly scripts: add zboot support to extract-vmlinux gendwarfksyms: order -T symtypes output by name gendwarfksyms: use preferred form of sizeof for allocation kconfig: qconf: confine {begin,end}Group to constructor and destructor kconfig: qconf: fix ConfigList::updateListAllforAll() kconfig: add a function to dump all menu entries in a tree-like format kconfig: gconf: show GTK version in About dialog kconfig: gconf: replace GtkHPaned and GtkVPaned with GtkPaned kconfig: gconf: replace GdkColor with GdkRGBA ...
2 parents 7881cd6 + 8d6841d commit a530a36

33 files changed

+1218
-1334
lines changed

CREDITS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4378,6 +4378,12 @@ S: 542 West 112th Street, 5N
43784378
S: New York, New York 10025
43794379
S: USA
43804380

4381+
N: Masahiro Yamada
4382+
4383+
D: Kbuild Maintainer 2017-2025
4384+
D: Kconfig Maintainer 2018-2025
4385+
S: Japan
4386+
43814387
N: Li Yang
43824388
43834389
D: Freescale Highspeed USB device driver

Documentation/kbuild/kconfig.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ Environment variables for ``*config``:
6767
with its value when saving the configuration, instead of using the
6868
default, ``CONFIG_``.
6969

70-
Environment variables for ``{allyes/allmod/allno/rand}config``:
70+
Environment variables for ``{allyes/allmod/allno/alldef/rand}config``:
7171

7272
``KCONFIG_ALLCONFIG``
73-
The allyesconfig/allmodconfig/allnoconfig/randconfig variants can also
74-
use the environment variable KCONFIG_ALLCONFIG as a flag or a filename
75-
that contains config symbols that the user requires to be set to a
73+
The allyesconfig/allmodconfig/alldefconfig/allnoconfig/randconfig variants
74+
can also use the environment variable KCONFIG_ALLCONFIG as a flag or a
75+
filename that contains config symbols that the user requires to be set to a
7676
specific value. If KCONFIG_ALLCONFIG is used without a filename where
7777
KCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1", ``make *config``
7878
checks for a file named "all{yes/mod/no/def/random}.config"

MAINTAINERS

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13174,11 +13174,9 @@ F: mm/kasan/
1317413174
F: scripts/Makefile.kasan
1317513175

1317613176
KCONFIG
13177-
M: Masahiro Yamada <[email protected]>
1317813177
13179-
S: Maintained
13178+
S: Orphan
1318013179
Q: https://patchwork.kernel.org/project/linux-kbuild/list/
13181-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kbuild
1318213180
F: Documentation/kbuild/kconfig*
1318313181
F: scripts/Kconfig.include
1318413182
F: scripts/kconfig/
@@ -13243,13 +13241,12 @@ S: Maintained
1324313241
F: fs/autofs/
1324413242

1324513243
KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
13246-
M: Masahiro Yamada <[email protected]>
13247-
R: Nathan Chancellor <[email protected]>
13248-
R: Nicolas Schier <[email protected]>
13244+
M: Nathan Chancellor <[email protected]>
13245+
M: Nicolas Schier <[email protected]>
1324913246
13250-
S: Maintained
13247+
S: Odd Fixes
1325113248
Q: https://patchwork.kernel.org/project/linux-kbuild/list/
13252-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
13249+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux.git
1325313250
F: Documentation/kbuild/
1325413251
F: Makefile
1325513252
F: scripts/*vmlinux*

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,6 +549,7 @@ LZMA = lzma
549549
LZ4 = lz4
550550
XZ = xz
551551
ZSTD = zstd
552+
TAR = tar
552553

553554
CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ \
554555
-Wbitwise -Wno-return-void -Wno-unknown-attribute $(CF)
@@ -628,7 +629,7 @@ export RUSTC RUSTDOC RUSTFMT RUSTC_OR_CLIPPY_QUIET RUSTC_OR_CLIPPY BINDGEN
628629
export HOSTRUSTC KBUILD_HOSTRUSTFLAGS
629630
export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AWK INSTALLKERNEL
630631
export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX
631-
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD
632+
export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD TAR
632633
export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS KBUILD_PROCMACROLDFLAGS LDFLAGS_MODULE
633634
export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS
634635

@@ -1141,7 +1142,7 @@ KBUILD_USERCFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD
11411142
KBUILD_USERLDFLAGS += $(filter -m32 -m64 --target=%, $(KBUILD_CPPFLAGS) $(KBUILD_CFLAGS))
11421143

11431144
# userspace programs are linked via the compiler, use the correct linker
1144-
ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_LD_IS_LLD),yy)
1145+
ifdef CONFIG_CC_IS_CLANG
11451146
KBUILD_USERLDFLAGS += --ld-path=$(LD)
11461147
endif
11471148

include/crypto/algapi.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
* alias.
4444
*/
4545
#define MODULE_ALIAS_CRYPTO(name) \
46-
__MODULE_INFO(alias, alias_userspace, name); \
47-
__MODULE_INFO(alias, alias_crypto, "crypto-" name)
46+
MODULE_INFO(alias, name); \
47+
MODULE_INFO(alias, "crypto-" name)
4848

4949
struct crypto_aead;
5050
struct crypto_instance;

include/linux/module.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,9 +165,6 @@ extern void cleanup_module(void);
165165

166166
struct module_kobject *lookup_or_create_module_kobject(const char *name);
167167

168-
/* Generic info of form tag = "info" */
169-
#define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info)
170-
171168
/* For userspace: you can also call me... */
172169
#define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
173170

include/linux/moduleparam.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,19 @@
2424
#define __MODULE_INFO_PREFIX KBUILD_MODNAME "."
2525
#endif
2626

27-
#define __MODULE_INFO(tag, name, info) \
28-
static const char __UNIQUE_ID(name)[] \
27+
/* Generic info of form tag = "info" */
28+
#define MODULE_INFO(tag, info) \
29+
static const char __UNIQUE_ID(modinfo)[] \
2930
__used __section(".modinfo") __aligned(1) \
3031
= __MODULE_INFO_PREFIX __stringify(tag) "=" info
3132

3233
#define __MODULE_PARM_TYPE(name, _type) \
33-
__MODULE_INFO(parmtype, name##type, #name ":" _type)
34+
MODULE_INFO(parmtype, #name ":" _type)
3435

3536
/* One for each parameter, describing how to use it. Some files do
3637
multiple of these per line, so can't just use MODULE_INFO. */
3738
#define MODULE_PARM_DESC(_parm, desc) \
38-
__MODULE_INFO(parm, _parm, #_parm ":" desc)
39+
MODULE_INFO(parm, #_parm ":" desc)
3940

4041
struct kernel_param;
4142

include/net/tcp.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2655,8 +2655,8 @@ void tcp_update_ulp(struct sock *sk, struct proto *p,
26552655
void (*write_space)(struct sock *sk));
26562656

26572657
#define MODULE_ALIAS_TCP_ULP(name) \
2658-
__MODULE_INFO(alias, alias_userspace, name); \
2659-
__MODULE_INFO(alias, alias_tcp_ulp, "tcp-ulp-" name)
2658+
MODULE_INFO(alias, name); \
2659+
MODULE_INFO(alias, "tcp-ulp-" name)
26602660

26612661
#ifdef CONFIG_NET_SOCK_MSG
26622662
struct sk_msg;

kernel/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
# SPDX-License-Identifier: GPL-2.0-only
22
/config_data
33
/kheaders.md5
4+
/kheaders-objlist
5+
/kheaders-srclist

kernel/Makefile

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,48 @@ filechk_cat = cat $<
159159
$(obj)/config_data: $(KCONFIG_CONFIG) FORCE
160160
$(call filechk,cat)
161161

162+
# kheaders_data.tar.xz
162163
$(obj)/kheaders.o: $(obj)/kheaders_data.tar.xz
163164

164-
quiet_cmd_genikh = CHK $(obj)/kheaders_data.tar.xz
165-
cmd_genikh = $(CONFIG_SHELL) $(srctree)/kernel/gen_kheaders.sh $@
166-
$(obj)/kheaders_data.tar.xz: FORCE
167-
$(call cmd,genikh)
165+
quiet_cmd_kheaders_data = GEN $@
166+
cmd_kheaders_data = "$<" "$@" "$(obj)/kheaders-srclist" "$(obj)/kheaders-objlist" "$(KBUILD_BUILD_TIMESTAMP)"
167+
cmd_kheaders_data_dep = cat $(depfile) >> $(dot-target).cmd; rm -f $(depfile)
168168

169-
clean-files := kheaders_data.tar.xz kheaders.md5
169+
define rule_kheaders_data
170+
$(call cmd_and_savecmd,kheaders_data)
171+
$(call cmd,kheaders_data_dep)
172+
endef
173+
174+
targets += kheaders_data.tar.xz
175+
$(obj)/kheaders_data.tar.xz: $(src)/gen_kheaders.sh $(obj)/kheaders-srclist $(obj)/kheaders-objlist $(obj)/kheaders.md5 FORCE
176+
$(call if_changed_rule,kheaders_data)
177+
178+
# generated headers in objtree
179+
#
180+
# include/generated/utsversion.h is ignored because it is generated
181+
# after gen_kheaders.sh is executed. (utsversion.h is unneeded for kheaders)
182+
filechk_kheaders_objlist = \
183+
for d in include "arch/$(SRCARCH)/include"; do \
184+
find "$${d}/generated" ! -path "include/generated/utsversion.h" -a -name "*.h" -print; \
185+
done
186+
187+
$(obj)/kheaders-objlist: FORCE
188+
$(call filechk,kheaders_objlist)
189+
190+
# non-generated headers in srctree
191+
filechk_kheaders_srclist = \
192+
for d in include "arch/$(SRCARCH)/include"; do \
193+
find "$(srctree)/$${d}" -path "$(srctree)/$${d}/generated" -prune -o -name "*.h" -print; \
194+
done
195+
196+
$(obj)/kheaders-srclist: FORCE
197+
$(call filechk,kheaders_srclist)
198+
199+
# Some files are symlinks. If symlinks are changed, kheaders_data.tar.xz should
200+
# be rebuilt.
201+
filechk_kheaders_md5sum = xargs -r -a $< stat -c %N | md5sum
202+
203+
$(obj)/kheaders.md5: $(obj)/kheaders-srclist FORCE
204+
$(call filechk,kheaders_md5sum)
205+
206+
clean-files := kheaders.md5 kheaders-srclist kheaders-objlist

0 commit comments

Comments
 (0)