mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'kbuild-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada: - Remove tristate choice support from Kconfig - Stop using the PROVIDE() directive in the linker script - Reduce the number of links for the combination of CONFIG_KALLSYMS and CONFIG_DEBUG_INFO_BTF - Enable the warning for symbol reference to .exit.* sections by default - Fix warnings in RPM package builds - Improve scripts/make_fit.py to generate a FIT image with separate base DTB and overlays - Improve choice value calculation in Kconfig - Fix conditional prompt behavior in choice in Kconfig - Remove support for the uncommon EMAIL environment variable in Debian package builds - Remove support for the uncommon "name <email>" form for the DEBEMAIL environment variable - Raise the minimum supported GNU Make version to 4.0 - Remove stale code for the absolute kallsyms - Move header files commonly used for host programs to scripts/include/ - Introduce the pacman-pkg target to generate a pacman package used in Arch Linux - Clean up Kconfig * tag 'kbuild-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (65 commits) kbuild: doc: gcc to CC change kallsyms: change sym_entry::percpu_absolute to bool type kallsyms: unify seq and start_pos fields of struct sym_entry kallsyms: add more original symbol type/name in comment lines kallsyms: use \t instead of a tab in printf() kallsyms: avoid repeated calculation of array size for markers kbuild: add script and target to generate pacman package modpost: use generic macros for hash table implementation kbuild: move some helper headers from scripts/kconfig/ to scripts/include/ Makefile: add comment to discourage tools/* addition for kernel builds kbuild: clean up scripts/remove-stale-files kconfig: recursive checks drop file/lineno kbuild: rpm-pkg: introduce a simple changelog section for kernel.spec kallsyms: get rid of code for absolute kallsyms kbuild: Create INSTALL_PATH directory if it does not exist kbuild: Abort make on install failures kconfig: remove 'e1' and 'e2' macros from expression deduplication kconfig: remove SYMBOL_CHOICEVAL flag kconfig: add const qualifiers to several function arguments kconfig: call expr_eliminate_yn() at least once in expr_eliminate_dups() ...
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -92,6 +92,12 @@ modules.order
|
||||
#
|
||||
/tar-install/
|
||||
|
||||
#
|
||||
# pacman files (make pacman-pkg)
|
||||
#
|
||||
/PKGBUILD
|
||||
/pacman/
|
||||
|
||||
#
|
||||
# We don't want to ignore the following even if they are dot-files
|
||||
#
|
||||
|
||||
@@ -409,16 +409,9 @@ choices::
|
||||
"endchoice"
|
||||
|
||||
This defines a choice group and accepts any of the above attributes as
|
||||
options. A choice can only be of type bool or tristate. If no type is
|
||||
specified for a choice, its type will be determined by the type of
|
||||
the first choice element in the group or remain unknown if none of the
|
||||
choice elements have a type specified, as well.
|
||||
options.
|
||||
|
||||
While a boolean choice only allows a single config entry to be
|
||||
selected, a tristate choice also allows any number of config entries
|
||||
to be set to 'm'. This can be used if multiple drivers for a single
|
||||
hardware exists and only a single driver can be compiled/loaded into
|
||||
the kernel, but all drivers can be compiled as modules.
|
||||
A choice only allows a single config entry to be selected.
|
||||
|
||||
comment::
|
||||
|
||||
|
||||
@@ -578,7 +578,7 @@ cc-option
|
||||
Note: cc-option uses KBUILD_CFLAGS for $(CC) options
|
||||
|
||||
cc-option-yn
|
||||
cc-option-yn is used to check if gcc supports a given option
|
||||
cc-option-yn is used to check if $(CC) supports a given option
|
||||
and return "y" if supported, otherwise "n".
|
||||
|
||||
Example::
|
||||
@@ -596,7 +596,7 @@ cc-option-yn
|
||||
Note: cc-option-yn uses KBUILD_CFLAGS for $(CC) options
|
||||
|
||||
cc-disable-warning
|
||||
cc-disable-warning checks if gcc supports a given warning and returns
|
||||
cc-disable-warning checks if $(CC) supports a given warning and returns
|
||||
the commandline switch to disable it. This special function is needed,
|
||||
because gcc 4.4 and later accept any unknown -Wno-* option and only
|
||||
warn about it if there is another warning in the source file.
|
||||
@@ -606,7 +606,7 @@ cc-disable-warning
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
|
||||
|
||||
In the above example, -Wno-unused-but-set-variable will be added to
|
||||
KBUILD_CFLAGS only if gcc really accepts it.
|
||||
KBUILD_CFLAGS only if $(CC) really accepts it.
|
||||
|
||||
gcc-min-version
|
||||
gcc-min-version tests if the value of $(CONFIG_GCC_VERSION) is greater than
|
||||
|
||||
@@ -33,7 +33,7 @@ GNU C 5.1 gcc --version
|
||||
Clang/LLVM (optional) 13.0.1 clang --version
|
||||
Rust (optional) 1.78.0 rustc --version
|
||||
bindgen (optional) 0.65.1 bindgen --version
|
||||
GNU make 3.82 make --version
|
||||
GNU make 4.0 make --version
|
||||
bash 4.2 bash --version
|
||||
binutils 2.25 ld -v
|
||||
flex 2.5.35 flex --version
|
||||
@@ -112,7 +112,7 @@ It depends on ``libclang``.
|
||||
Make
|
||||
----
|
||||
|
||||
You will need GNU make 3.82 or later to build the kernel.
|
||||
You will need GNU make 4.0 or later to build the kernel.
|
||||
|
||||
Bash
|
||||
----
|
||||
|
||||
@@ -12117,6 +12117,7 @@ F: scripts/Makefile*
|
||||
F: scripts/basic/
|
||||
F: scripts/clang-tools/
|
||||
F: scripts/dummy-tools/
|
||||
F: scripts/include/
|
||||
F: scripts/mk*
|
||||
F: scripts/mod/
|
||||
F: scripts/package/
|
||||
@@ -12172,6 +12173,13 @@ F: include/uapi/linux/nfsd/
|
||||
F: include/uapi/linux/sunrpc/
|
||||
F: net/sunrpc/
|
||||
|
||||
KERNEL PACMAN PACKAGING (in addition to generic KERNEL BUILD)
|
||||
M: Thomas Weißschuh <linux@weissschuh.net>
|
||||
R: Christian Heusel <christian@heusel.eu>
|
||||
R: Nathan Chancellor <nathan@kernel.org>
|
||||
S: Maintained
|
||||
F: scripts/package/PKGBUILD
|
||||
|
||||
KERNEL REGRESSIONS
|
||||
M: Thorsten Leemhuis <linux@leemhuis.info>
|
||||
L: regressions@lists.linux.dev
|
||||
|
||||
36
Makefile
36
Makefile
@@ -11,8 +11,8 @@ NAME = Baby Opossum Posse
|
||||
# Comments in this file are targeted only to the developer, do not
|
||||
# expect to learn how to build the kernel reading this file.
|
||||
|
||||
ifeq ($(filter undefine,$(.FEATURES)),)
|
||||
$(error GNU Make >= 3.82 is required. Your Make version is $(MAKE_VERSION))
|
||||
ifeq ($(filter output-sync,$(.FEATURES)),)
|
||||
$(error GNU Make >= 4.0 is required. Your Make version is $(MAKE_VERSION))
|
||||
endif
|
||||
|
||||
$(if $(filter __%, $(MAKECMDGOALS)), \
|
||||
@@ -93,15 +93,7 @@ endif
|
||||
|
||||
# If the user is running make -s (silent mode), suppress echoing of
|
||||
# commands
|
||||
# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS.
|
||||
|
||||
ifeq ($(filter 3.%,$(MAKE_VERSION)),)
|
||||
short-opts := $(firstword -$(MAKEFLAGS))
|
||||
else
|
||||
short-opts := $(filter-out --%,$(MAKEFLAGS))
|
||||
endif
|
||||
|
||||
ifneq ($(findstring s,$(short-opts)),)
|
||||
ifneq ($(findstring s,$(firstword -$(MAKEFLAGS))),)
|
||||
quiet=silent_
|
||||
override KBUILD_VERBOSE :=
|
||||
endif
|
||||
@@ -201,14 +193,6 @@ ifneq ($(words $(subst :, ,$(abs_srctree))), 1)
|
||||
$(error source directory cannot contain spaces or colons)
|
||||
endif
|
||||
|
||||
ifneq ($(filter 3.%,$(MAKE_VERSION)),)
|
||||
# 'MAKEFLAGS += -rR' does not immediately become effective for GNU Make 3.x
|
||||
# We need to invoke sub-make to avoid implicit rules in the top Makefile.
|
||||
need-sub-make := 1
|
||||
# Cancel implicit rules for this Makefile.
|
||||
$(this-makefile): ;
|
||||
endif
|
||||
|
||||
export sub_make_done := 1
|
||||
|
||||
endif # sub_make_done
|
||||
@@ -474,8 +458,10 @@ export rust_common_flags := --edition=2021 \
|
||||
-Dclippy::no_mangle_with_rust_abi \
|
||||
-Wclippy::dbg_macro
|
||||
|
||||
KBUILD_HOSTCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(HOST_LFS_CFLAGS) $(HOSTCFLAGS)
|
||||
KBUILD_HOSTCXXFLAGS := -Wall -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS)
|
||||
KBUILD_HOSTCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(HOST_LFS_CFLAGS) \
|
||||
$(HOSTCFLAGS) -I $(srctree)/scripts/include
|
||||
KBUILD_HOSTCXXFLAGS := -Wall -O2 $(HOST_LFS_CFLAGS) $(HOSTCXXFLAGS) \
|
||||
-I $(srctree)/scripts/include
|
||||
KBUILD_HOSTRUSTFLAGS := $(rust_common_flags) -O -Cstrip=debuginfo \
|
||||
-Zallow-features= $(HOSTRUSTFLAGS)
|
||||
KBUILD_HOSTLDFLAGS := $(HOST_LFS_LDFLAGS) $(HOSTLDFLAGS)
|
||||
@@ -1344,6 +1330,12 @@ prepare: tools/bpf/resolve_btfids
|
||||
endif
|
||||
endif
|
||||
|
||||
# The tools build system is not a part of Kbuild and tends to introduce
|
||||
# its own unique issues. If you need to integrate a new tool into Kbuild,
|
||||
# please consider locating that tool outside the tools/ tree and using the
|
||||
# standard Kbuild "hostprogs" syntax instead of adding a new tools/* entry
|
||||
# here. See Documentation/kbuild/makefiles.rst for details.
|
||||
|
||||
PHONY += resolve_btfids_clean
|
||||
|
||||
resolve_btfids_O = $(abspath $(objtree))/tools/bpf/resolve_btfids
|
||||
@@ -1497,7 +1489,7 @@ CLEAN_FILES += vmlinux.symvers modules-only.symvers \
|
||||
# Directories & files removed with 'make mrproper'
|
||||
MRPROPER_FILES += include/config include/generated \
|
||||
arch/$(SRCARCH)/include/generated .objdiff \
|
||||
debian snap tar-install \
|
||||
debian snap tar-install PKGBUILD pacman \
|
||||
.config .config.old .version \
|
||||
Module.symvers \
|
||||
certs/signing_key.pem \
|
||||
|
||||
@@ -1483,7 +1483,8 @@ config ARM_ATAG_DTB_COMPAT
|
||||
from the ATAG list and store it at run time into the appended DTB.
|
||||
|
||||
choice
|
||||
prompt "Kernel command line type" if ARM_ATAG_DTB_COMPAT
|
||||
prompt "Kernel command line type"
|
||||
depends on ARM_ATAG_DTB_COMPAT
|
||||
default ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER
|
||||
|
||||
config ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER
|
||||
@@ -1512,7 +1513,8 @@ config CMDLINE
|
||||
memory size and the root device (e.g., mem=64M root=/dev/nfs).
|
||||
|
||||
choice
|
||||
prompt "Kernel command line type" if CMDLINE != ""
|
||||
prompt "Kernel command line type"
|
||||
depends on CMDLINE != ""
|
||||
default CMDLINE_FROM_BOOTLOADER
|
||||
|
||||
config CMDLINE_FROM_BOOTLOADER
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(basename $2)" = "zImage" ]; then
|
||||
# Compressed install
|
||||
echo "Installing compressed kernel"
|
||||
|
||||
@@ -2290,7 +2290,8 @@ config CMDLINE
|
||||
root device (e.g. root=/dev/nfs).
|
||||
|
||||
choice
|
||||
prompt "Kernel command line type" if CMDLINE != ""
|
||||
prompt "Kernel command line type"
|
||||
depends on CMDLINE != ""
|
||||
default CMDLINE_FROM_BOOTLOADER
|
||||
help
|
||||
Choose how the kernel will handle the provided default kernel
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(basename $2)" = "Image.gz" ] || [ "$(basename $2)" = "vmlinuz.efi" ]
|
||||
then
|
||||
# Compressed install
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
if [ -f $4/vmlinuz ]; then
|
||||
mv $4/vmlinuz $4/vmlinuz.old
|
||||
fi
|
||||
|
||||
@@ -2927,7 +2927,8 @@ config BUILTIN_DTB
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Kernel appended dtb support" if USE_OF
|
||||
prompt "Kernel appended dtb support"
|
||||
depends on USE_OF
|
||||
default MIPS_NO_APPENDED_DTB
|
||||
|
||||
config MIPS_NO_APPENDED_DTB
|
||||
@@ -2968,7 +2969,8 @@ choice
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Kernel command line type" if !CMDLINE_OVERRIDE
|
||||
prompt "Kernel command line type"
|
||||
depends on !CMDLINE_OVERRIDE
|
||||
default MIPS_CMDLINE_FROM_DTB if USE_OF && !ATH79 && !MACH_INGENIC && \
|
||||
!MACH_LOONGSON64 && !MIPS_MALTA && \
|
||||
!CAVIUM_OCTEON_SOC
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
if [ -f $4/vmlinuz ]; then
|
||||
mv $4/vmlinuz $4/vmlinuz.old
|
||||
fi
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(basename $2)" = "vmlinuz" ]; then
|
||||
# Compressed install
|
||||
echo "Installing compressed kernel"
|
||||
|
||||
@@ -964,7 +964,8 @@ config CMDLINE
|
||||
most cases you will need to specify the root device here.
|
||||
|
||||
choice
|
||||
prompt "Kernel command line type" if CMDLINE != ""
|
||||
prompt "Kernel command line type"
|
||||
depends on CMDLINE != ""
|
||||
default CMDLINE_FROM_BOOTLOADER
|
||||
|
||||
config CMDLINE_FROM_BOOTLOADER
|
||||
|
||||
@@ -960,7 +960,8 @@ config CMDLINE
|
||||
line here and choose how the kernel should use it later on.
|
||||
|
||||
choice
|
||||
prompt "Built-in command line usage" if CMDLINE != ""
|
||||
prompt "Built-in command line usage"
|
||||
depends on CMDLINE != ""
|
||||
default CMDLINE_FALLBACK
|
||||
help
|
||||
Choose how the kernel will handle the provided built-in command
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
case "${2##*/}" in
|
||||
# Compressed install
|
||||
Image.*|vmlinuz.efi)
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
echo "Warning: '${INSTALLKERNEL}' command not available - additional " \
|
||||
"bootloader config required" >&2
|
||||
if [ -f "$4/vmlinuz-$1" ]; then mv -- "$4/vmlinuz-$1" "$4/vmlinuz-$1.old"; fi
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
if [ -f $4/vmlinuz ]; then
|
||||
mv $4/vmlinuz $4/vmlinuz.old
|
||||
fi
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
|
||||
set -e
|
||||
|
||||
if [ -f $4/vmlinuz ]; then
|
||||
mv $4/vmlinuz $4/vmlinuz.old
|
||||
fi
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user