[GIT PULL] Kbuild updates for v6.9-rc1

Masahiro Yamada
2024-03-21T15:03:15Z

Hello Linus,

Please pull Kbuild updates for v6.9-rc1.

You will see conflicts in two files.

- arch/hexagon/Kconfig
(commit 6b1c2a19cb30 vs commit ba89f9c8ccba)

- scripts/Makefile.lib
(commit 557f8c582a9b vs commit bf48d9b756b9)

The resolution is available in linux-next.

Thank you

The following changes since commit b401b621758e46812da61fa58a67c3fd8d91de0d:

Linux 6.8-rc5 (2024-02-18 12:56:25 -0800)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
tags/kbuild-v6.9

for you to fetch changes up to f2fd2aad1908554fbc4ad6e8ef23bad3086bebd1:

kconfig: tests: test dependency after shuffling choices (2024-03-21
02:40:39 +0900)

----------------------------------------------------------------
Kbuild updates for v6.9

- Generate a list of built DTB files (arch/*/boot/dts/dtbs-list)

- Use more threads when building Debian packages in parallel

- Fix warnings shown during the RPM kernel package uninstallation

- Change OBJECT_FILES_NON_STANDARD_*.o etc. to take a relative path to
Makefile

- Support GCC's -fmin-function-alignment flag

- Fix a null pointer dereference bug in modpost

- Add the DTB support to the RPM package

- Various fixes and cleanups in Kconfig

----------------------------------------------------------------
Jose Ignacio Tornos Martinez (1):
kbuild: rpm-pkg: add dtb files in kernel rpm

Masahiro Yamada (61):
kconfig: remove unneeded buffer allocation in zconf_initscan()
kconfig: fix line number in recursive inclusion detection
kbuild: create a list of all built DTB files
kbuild: simplify dtbs_install by reading the list of compiled DTBs
kbuild: deb-pkg: show verbose log for direct package builds
kbuild: deb-pkg: make debian/rules quiet for 'make deb-pkg'
kbuild: deb-pkg: build binary-arch in parallel
kbuild: deb-pkg: call more misc debhelper commands
kbuild: rpm-pkg: do not include depmod-generated files
kbuild: rpm-pkg: mark installed files in /boot as %ghost
Revert "kbuild/mkspec: support 'update-bootloader'-based systems"
Revert "kbuild/mkspec: clean boot loader configuration on rpm removal"
kconfig: fix infinite loop when expanding a macro at the end of file
kconfig: fix off-by-one in zconf_error()
kconfig: remove orphan lookup_file() declaration
kconfig: remove compat_getline()
kconfig: remove unneeded sym_find() call in conf_parse()
kconfig: write Kconfig files to autoconf.cmd in order
kconfig: call env_write_dep() right after yyparse()
kconfig: split preprocessor prototypes into preprocess.h
kconfig: replace current_pos with separate cur_{filename,lineno}
kconfig: remove zconf_curname() and zconf_lineno()
kconfig: associate struct menu with file name directly
kconfig: associate struct property with file name directly
kconfig: replace file->name with name in zconf_nextfile()
kconfig: do not delay the cur_filename update
kconfig: replace remaining current_file->name with cur_filename
kconfig: move the file and lineno in struct file to struct buffer
kconfig: make file::name a flexible array member
kconfig: change file_lookup() to return the file name
kconfig: split list_head into a separate header
kconfig: resync list.h
kconfig: import more list macros and inline functions
kconfig: add macros useful for hashtable
kconfig: move ARRAY_SIZE to a header
kconfig: move strhash() to util.c as a global function
kconfig: convert linked list of files to hash table
kconfig: do not imply the type of choice value
kconfig: print recursive dependency errors in the parsed order
kconfig: use generic macros to implement symbol hashtable
treewide: replace or remove redundant def_bool in Kconfig files
hexagon: select FRAME_POINTER instead of redefining it
hexagon: select GENERIC_IRQ_PROBE instead of redefining it
kbuild: remove EXPERT and !COMPILE_TEST guarding from TRIM_UNUSED_KSYMS
kbuild: change tool coverage variables to take the path relative to $(obj)
kbuild: change DTC_FLAGS_<basetarget>.o to take the path
relative to $(obj)
alpha: merge two entries for CONFIG_ALPHA_EV4
alpha: merge two entries for CONFIG_ALPHA_GAMMA
kbuild: fix inconsistent indentation in top Makefile
kconfig: link menus to a symbol
kconfig: use linked list in get_symbol_str() to iterate over menus
kconfig: remove named choice support
kbuild: unexport abs_srctree and abs_objtree
kbuild: remove GCC's default -Wpacked-bitfield-compat flag
kconfig: lxdialog: fix button color for blackbg theme
kconfig: lxdialog: remove unused dialog colors
kconfig: check prompt for choice while parsing
kconfig: remove unneeded menu_is_visible() call in conf_write_defconfig()
kconfig: tests: support KCONFIG_SEED for the randconfig runner
kconfig: tests: add a test for randconfig with dependent choices
kconfig: tests: test dependency after shuffling choices

Matthew Bystrin (1):
kconfig: lxdialog: fix cursor render in checklist

Max Kellermann (1):
modpost: fix null pointer dereference

Nathan Chancellor (1):
kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1

Petr Pavlu (1):
kbuild: Use -fmin-function-alignment when available

Vegard Nossum (1):
docs: kbuild/kconfig: reformat/cleanup

.gitignore | 1 +
Documentation/kbuild/kconfig-language.rst | 6 +-
Documentation/kbuild/kconfig.rst | 363
++++++++++++++++++++++--------------------------
Makefile | 49 ++++---
arch/Kconfig | 12 ++
arch/alpha/Kconfig | 15 +-
arch/hexagon/Kconfig | 12 +-
arch/parisc/Kconfig | 4 +-
arch/riscv/kernel/tests/Kconfig.debug | 2 +-
arch/x86/entry/vdso/Makefile | 2 +
arch/x86/kvm/Kconfig | 2 +-
arch/x86/kvm/Makefile | 3 +-
arch/x86/xen/Kconfig | 1 -
drivers/acpi/Kconfig | 1 -
drivers/iommu/intel/Kconfig | 2 +-
drivers/md/Kconfig | 1 -
include/linux/compiler_types.h | 10 +-
init/Kconfig | 2 +-
kernel/module/Kconfig | 3 +-
lib/Kconfig.debug | 2 +-
mm/Kconfig | 7 +-
net/dccp/ccids/Kconfig | 2 +-
rust/Makefile | 4 +-
scripts/Kbuild.include | 6 -
scripts/Makefile.build | 22 +--
scripts/Makefile.dtbinst | 32 +++--
scripts/Makefile.extrawarn | 3 +-
scripts/Makefile.lib | 24 ++--
scripts/Makefile.package | 2 +-
scripts/kconfig/array_size.h | 11 ++
scripts/kconfig/conf.c | 12 +-
scripts/kconfig/confdata.c | 96 +++----------
scripts/kconfig/expr.h | 29 ++--
scripts/kconfig/hashtable.h | 48 +++++++
scripts/kconfig/internal.h | 12 ++
scripts/kconfig/lexer.l | 128
++++++++---------
scripts/kconfig/list.h | 254
++++++++++++++++++++++++---------
scripts/kconfig/list_types.h | 17 +++
scripts/kconfig/lkc.h | 6 +-
scripts/kconfig/lkc_proto.h | 15 --
scripts/kconfig/lxdialog/checklist.c | 5 +-
scripts/kconfig/lxdialog/dialog.h | 4 -
scripts/kconfig/lxdialog/util.c | 20 +--
scripts/kconfig/mconf.c | 1 +
scripts/kconfig/menu.c | 48 +++----
scripts/kconfig/nconf.c | 1 +
scripts/kconfig/parser.y | 125
++++++++++-------
scripts/kconfig/preprocess.c | 23 +--
scripts/kconfig/preprocess.h | 19 +++
scripts/kconfig/qconf.cc | 2 +-
scripts/kconfig/symbol.c | 49 +++----
scripts/kconfig/tests/choice_randomize/Kconfig | 22 +++
scripts/kconfig/tests/choice_randomize/__init__.py | 34 +++++
scripts/kconfig/tests/choice_randomize/expected_config0 | 6 +
scripts/kconfig/tests/choice_randomize/expected_config1 | 8 ++
scripts/kconfig/tests/choice_randomize/expected_config2 | 8 ++
scripts/kconfig/tests/choice_randomize2/Kconfig | 32 +++++
scripts/kconfig/tests/choice_randomize2/__init__.py | 18 +++
scripts/kconfig/tests/choice_randomize2/expected_config0 | 8 ++
scripts/kconfig/tests/choice_randomize2/expected_config1 | 7 +
scripts/kconfig/tests/choice_randomize2/expected_config2 | 6 +
scripts/kconfig/tests/conftest.py | 16 ++-
scripts/kconfig/tests/err_recursive_dep/expected_stderr | 24 ++--
scripts/kconfig/util.c | 47 +++++--
scripts/mod/modpost.c | 4 +-
scripts/package/builddeb | 48 ++-----
scripts/package/debian/rules | 63 +++++++--
scripts/package/kernel.spec | 48 +++++--
tools/lib/bpf/Makefile | 2 +-
69 files changed, 1131 insertions(+), 790 deletions(-)
create mode 100644 scripts/kconfig/array_size.h
create mode 100644 scripts/kconfig/hashtable.h
create mode 100644 scripts/kconfig/list_types.h
create mode 100644 scripts/kconfig/preprocess.h
create mode 100644 scripts/kconfig/tests/choice_randomize/Kconfig
create mode 100644 scripts/kconfig/tests/choice_randomize/__init__.py
create mode 100644 scripts/kconfig/tests/choice_randomize/expected_config0
create mode 100644 scripts/kconfig/tests/choice_randomize/expected_config1
create mode 100644 scripts/kconfig/tests/choice_randomize/expected_config2
create mode 100644 scripts/kconfig/tests/choice_randomize2/Kconfig
create mode 100644 scripts/kconfig/tests/choice_randomize2/__init__.py
create mode 100644 scripts/kconfig/tests/choice_randomize2/expected_config0
create mode 100644 scripts/kconfig/tests/choice_randomize2/expected_config1
create mode 100644 scripts/kconfig/tests/choice_randomize2/expected_config2

--
Best Regards
Masahiro Yamada