forked from Minki/linux
Kbuild updates for v5.15
- Add -s option (strict mode) to merge_config.sh to make it fail when any symbol is redefined. - Show a warning if a different compiler is used for building external modules. - Infer --target from ARCH for CC=clang to let you cross-compile the kernel without CROSS_COMPILE. - Make the integrated assembler default (LLVM_IAS=1) for CC=clang. - Add <linux/stdarg.h> to the kernel source instead of borrowing <stdarg.h> from the compiler. - Add Nick Desaulniers as a Kbuild reviewer. - Drop stale cc-option tests. - Fix the combination of CONFIG_TRIM_UNUSED_KSYMS and CONFIG_LTO_CLANG to handle symbols in inline assembly. - Show a warning if 'FORCE' is missing for if_changed rules. - Various cleanups -----BEGIN PGP SIGNATURE----- iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAmExXHoVHG1hc2FoaXJv eUBrZXJuZWwub3JnAAoJED2LAQed4NsGAZwP/iHdEZzuQ4cz2uXUaV0fevj9jjPU zJ8wrrNabAiT6f5x861DsARQSR4OSt3zN0tyBNgZwUdotbe7ED5GegrgIUBMWlML QskhTEIZj7TexAX/20vx671gtzI3JzFg4c9BuriXCFRBvychSevdJPr65gMDOesL vOJnXe+SGXG2+fPWi/PxrcOItNRcveqo2GiWHT3g0Cv/DJUulu81gEkz3hrufnMR cjMeSkV0nJJcvI755OQBOUnEuigW64k4m2WxHPG24tU8cQOCqV6lqwOfNQBAn4+F OoaCMyPQT9gvGYwGExQMCXGg0wbUt1qnxzOVoA2qFCwbo+MFhqjBvPXab6VJm7CE mY3RrTtvxSqBdHI6EGcYeLjhycK9b+LLoJ1qc3S9FK8It6NoFFp4XV0R6ItPBls7 mWi9VSpyI6k0AwLq+bGXEHvaX/bnnf/vfqn8H+w6mRZdXjFV8EB2DiOSRX/OqjVG RnvTtXzWWThLyXvWR3Jox4+7X6728oL7akLemoeZI6oTbJDm7dQgwpz5HbSyHXLh d+gUF3Y/6lqxT5N9GSVDxpD1bEMh2I7nGQ4M7WGbGas/3yUemF8wbBqGQo4a+YeD d9vGAUxDp2PQTtL2sjFo5Gd4PZEM9g7vwWzRvHe0o5NxKEXcBg25b8cD1hxrN9Y4 Y1AAnc0kLO+My3PC =lw3M -----END PGP SIGNATURE----- Merge tag 'kbuild-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild Pull Kbuild updates from Masahiro Yamada: - Add -s option (strict mode) to merge_config.sh to make it fail when any symbol is redefined. - Show a warning if a different compiler is used for building external modules. - Infer --target from ARCH for CC=clang to let you cross-compile the kernel without CROSS_COMPILE. - Make the integrated assembler default (LLVM_IAS=1) for CC=clang. - Add <linux/stdarg.h> to the kernel source instead of borrowing <stdarg.h> from the compiler. - Add Nick Desaulniers as a Kbuild reviewer. - Drop stale cc-option tests. - Fix the combination of CONFIG_TRIM_UNUSED_KSYMS and CONFIG_LTO_CLANG to handle symbols in inline assembly. - Show a warning if 'FORCE' is missing for if_changed rules. - Various cleanups * tag 'kbuild-v5.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (39 commits) kbuild: redo fake deps at include/ksym/*.h kbuild: clean up objtool_args slightly modpost: get the *.mod file path more simply checkkconfigsymbols.py: Fix the '--ignore' option kbuild: merge vmlinux_link() between ARCH=um and other architectures kbuild: do not remove 'linux' link in scripts/link-vmlinux.sh kbuild: merge vmlinux_link() between the ordinary link and Clang LTO kbuild: remove stale *.symversions kbuild: remove unused quiet_cmd_update_lto_symversions gen_compile_commands: extract compiler command from a series of commands x86: remove cc-option-yn test for -mtune= arc: replace cc-option-yn uses with cc-option s390: replace cc-option-yn uses with cc-option ia64: move core-y in arch/ia64/Makefile to arch/ia64/Kbuild sparc: move the install rule to arch/sparc/Makefile security: remove unneeded subdir-$(CONFIG_...) kbuild: sh: remove unused install script kbuild: Fix 'no symbols' warning when CONFIG_TRIM_UNUSD_KSYMS=y kbuild: Switch to 'f' variants of integrated assembler flag kbuild: Shuffle blank line to improve comment meaning ...
This commit is contained in:
commit
b250e6d141
@ -38,7 +38,7 @@ Cross Compiling
|
||||
A single Clang compiler binary will typically contain all supported backends,
|
||||
which can help simplify cross compiling. ::
|
||||
|
||||
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make CC=clang
|
||||
make ARCH=arm64 CC=clang CROSS_COMPILE=aarch64-linux-gnu-
|
||||
|
||||
``CROSS_COMPILE`` is not used to prefix the Clang compiler binary, instead
|
||||
``CROSS_COMPILE`` is used to set a command line flag: ``--target=<triple>``. For
|
||||
@ -60,8 +60,27 @@ They can be enabled individually. The full list of the parameters: ::
|
||||
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
|
||||
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld
|
||||
|
||||
Currently, the integrated assembler is disabled by default. You can pass
|
||||
``LLVM_IAS=1`` to enable it.
|
||||
The integrated assembler is enabled by default. You can pass ``LLVM_IAS=0`` to
|
||||
disable it.
|
||||
|
||||
Omitting CROSS_COMPILE
|
||||
----------------------
|
||||
|
||||
As explained above, ``CROSS_COMPILE`` is used to set ``--target=<triple>``.
|
||||
|
||||
If ``CROSS_COMPILE`` is not specified, the ``--target=<triple>`` is inferred
|
||||
from ``ARCH``.
|
||||
|
||||
That means if you use only LLVM tools, ``CROSS_COMPILE`` becomes unnecessary.
|
||||
|
||||
For example, to cross-compile the arm64 kernel::
|
||||
|
||||
make ARCH=arm64 LLVM=1
|
||||
|
||||
If ``LLVM_IAS=0`` is specified, ``CROSS_COMPILE`` is also used to derive
|
||||
``--prefix=<path>`` to search for the GNU assembler and linker. ::
|
||||
|
||||
make ARCH=arm64 LLVM=1 LLVM_IAS=0 CROSS_COMPILE=aarch64-linux-gnu-
|
||||
|
||||
Supported Architectures
|
||||
-----------------------
|
||||
|
@ -4532,6 +4532,7 @@ B: https://github.com/ClangBuiltLinux/linux/issues
|
||||
C: irc://irc.libera.chat/clangbuiltlinux
|
||||
F: Documentation/kbuild/llvm.rst
|
||||
F: include/linux/compiler-clang.h
|
||||
F: scripts/Makefile.clang
|
||||
F: scripts/clang-tools/
|
||||
K: \b(?i:clang|llvm)\b
|
||||
|
||||
@ -10116,6 +10117,7 @@ F: fs/autofs/
|
||||
KERNEL BUILD + files below scripts/ (unless maintained elsewhere)
|
||||
M: Masahiro Yamada <masahiroy@kernel.org>
|
||||
M: Michal Marek <michal.lkml@markovi.net>
|
||||
R: Nick Desaulniers <ndesaulniers@google.com>
|
||||
L: linux-kbuild@vger.kernel.org
|
||||
S: Maintained
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git
|
||||
|
90
Makefile
90
Makefile
@ -191,10 +191,9 @@ endif
|
||||
ifneq ($(abs_srctree),$(abs_objtree))
|
||||
# Look for make include files relative to root of kernel src
|
||||
#
|
||||
# This does not become effective immediately because MAKEFLAGS is re-parsed
|
||||
# once after the Makefile is read. We need to invoke sub-make.
|
||||
# --included-dir is added for backward compatibility, but you should not rely on
|
||||
# it. Please add $(srctree)/ prefix to include Makefiles in the source tree.
|
||||
MAKEFLAGS += --include-dir=$(abs_srctree)
|
||||
need-sub-make := 1
|
||||
endif
|
||||
|
||||
ifneq ($(filter 3.%,$(MAKE_VERSION)),)
|
||||
@ -587,23 +586,10 @@ endif
|
||||
# Some architectures define CROSS_COMPILE in arch/$(SRCARCH)/Makefile.
|
||||
# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
|
||||
# and from include/config/auto.conf.cmd to detect the compiler upgrade.
|
||||
CC_VERSION_TEXT = $(subst $(pound),,$(shell $(CC) --version 2>/dev/null | head -n 1))
|
||||
CC_VERSION_TEXT = $(subst $(pound),,$(shell LC_ALL=C $(CC) --version 2>/dev/null | head -n 1))
|
||||
|
||||
ifneq ($(findstring clang,$(CC_VERSION_TEXT)),)
|
||||
ifneq ($(CROSS_COMPILE),)
|
||||
CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
|
||||
endif
|
||||
ifeq ($(LLVM_IAS),1)
|
||||
CLANG_FLAGS += -integrated-as
|
||||
else
|
||||
CLANG_FLAGS += -no-integrated-as
|
||||
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
|
||||
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
|
||||
endif
|
||||
CLANG_FLAGS += -Werror=unknown-warning-option
|
||||
KBUILD_CFLAGS += $(CLANG_FLAGS)
|
||||
KBUILD_AFLAGS += $(CLANG_FLAGS)
|
||||
export CLANG_FLAGS
|
||||
include $(srctree)/scripts/Makefile.clang
|
||||
endif
|
||||
|
||||
# Include this also for config targets because some architectures need
|
||||
@ -688,9 +674,10 @@ endif # KBUILD_EXTMOD
|
||||
# Defaults to vmlinux, but the arch makefile usually adds further targets
|
||||
all: vmlinux
|
||||
|
||||
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage \
|
||||
$(call cc-option,-fno-tree-loop-im) \
|
||||
$(call cc-disable-warning,maybe-uninitialized,)
|
||||
CFLAGS_GCOV := -fprofile-arcs -ftest-coverage
|
||||
ifdef CONFIG_CC_IS_GCC
|
||||
CFLAGS_GCOV += -fno-tree-loop-im
|
||||
endif
|
||||
export CFLAGS_GCOV
|
||||
|
||||
# The arch Makefiles can override CC_FLAGS_FTRACE. We may also append it later.
|
||||
@ -698,12 +685,14 @@ ifdef CONFIG_FUNCTION_TRACER
|
||||
CC_FLAGS_FTRACE := -pg
|
||||
endif
|
||||
|
||||
RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern -mindirect-branch-register
|
||||
RETPOLINE_VDSO_CFLAGS_GCC := -mindirect-branch=thunk-inline -mindirect-branch-register
|
||||
RETPOLINE_CFLAGS_CLANG := -mretpoline-external-thunk
|
||||
RETPOLINE_VDSO_CFLAGS_CLANG := -mretpoline
|
||||
RETPOLINE_CFLAGS := $(call cc-option,$(RETPOLINE_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_CFLAGS_CLANG)))
|
||||
RETPOLINE_VDSO_CFLAGS := $(call cc-option,$(RETPOLINE_VDSO_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_VDSO_CFLAGS_CLANG)))
|
||||
ifdef CONFIG_CC_IS_GCC
|
||||
RETPOLINE_CFLAGS := $(call cc-option,-mindirect-branch=thunk-extern -mindirect-branch-register)
|
||||
RETPOLINE_VDSO_CFLAGS := $(call cc-option,-mindirect-branch=thunk-inline -mindirect-branch-register)
|
||||
endif
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
RETPOLINE_CFLAGS := -mretpoline-external-thunk
|
||||
RETPOLINE_VDSO_CFLAGS := -mretpoline
|
||||
endif
|
||||
export RETPOLINE_CFLAGS
|
||||
export RETPOLINE_VDSO_CFLAGS
|
||||
|
||||
@ -756,7 +745,7 @@ include/config/auto.conf:
|
||||
endif # may-sync-config
|
||||
endif # need-config
|
||||
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,)
|
||||
KBUILD_CFLAGS += -fno-delete-null-pointer-checks
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
|
||||
@ -771,17 +760,19 @@ KBUILD_CFLAGS += -Os
|
||||
endif
|
||||
|
||||
# Tell gcc to never replace conditional load with a non-conditional one
|
||||
ifdef CONFIG_CC_IS_GCC
|
||||
# gcc-10 renamed --param=allow-store-data-races=0 to
|
||||
# -fno-allow-store-data-races.
|
||||
KBUILD_CFLAGS += $(call cc-option,--param=allow-store-data-races=0)
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-allow-store-data-races)
|
||||
endif
|
||||
|
||||
ifdef CONFIG_READABLE_ASM
|
||||
# Disable optimizations that make assembler listings hard to read.
|
||||
# reorder blocks reorders the control in the function
|
||||
# ipa clone creates specialized cloned functions
|
||||
# partial inlining inlines only parts of functions
|
||||
KBUILD_CFLAGS += $(call cc-option,-fno-reorder-blocks,) \
|
||||
$(call cc-option,-fno-ipa-cp-clone,) \
|
||||
$(call cc-option,-fno-partial-inlining)
|
||||
KBUILD_CFLAGS += -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_FRAME_WARN),0)
|
||||
@ -796,7 +787,7 @@ KBUILD_CFLAGS += $(stackp-flags-y)
|
||||
|
||||
ifdef CONFIG_CC_IS_CLANG
|
||||
KBUILD_CPPFLAGS += -Qunused-arguments
|
||||
KBUILD_CFLAGS += -Wno-format-invalid-specifier
|
||||
# The kernel builds with '-std=gnu89' so use of GNU extensions is acceptable.
|
||||
KBUILD_CFLAGS += -Wno-gnu
|
||||
# CLANG uses a _MergedGlobals as optimization, but this breaks modpost, as the
|
||||
# source of a reference will be _MergedGlobals and not on of the whitelisted names.
|
||||
@ -813,8 +804,8 @@ endif
|
||||
# These warnings generated too much noise in a regular build.
|
||||
# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
|
||||
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
|
||||
|
||||
ifdef CONFIG_FRAME_POINTER
|
||||
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||
else
|
||||
@ -867,7 +858,7 @@ else
|
||||
DEBUG_CFLAGS += -g
|
||||
endif
|
||||
|
||||
ifneq ($(LLVM_IAS),1)
|
||||
ifndef CONFIG_AS_IS_LLVM
|
||||
KBUILD_AFLAGS += -Wa,-gdwarf-2
|
||||
endif
|
||||
|
||||
@ -878,8 +869,10 @@ DEBUG_CFLAGS += -gdwarf-$(dwarf-version-y)
|
||||
endif
|
||||
|
||||
ifdef CONFIG_DEBUG_INFO_REDUCED
|
||||
DEBUG_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \
|
||||
$(call cc-option,-fno-var-tracking)
|
||||
DEBUG_CFLAGS += -fno-var-tracking
|
||||
ifdef CONFIG_CC_IS_GCC
|
||||
DEBUG_CFLAGS += -femit-struct-debug-baseonly
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef CONFIG_DEBUG_INFO_COMPRESSED
|
||||
@ -913,6 +906,7 @@ ifdef CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT
|
||||
endif
|
||||
endif
|
||||
ifdef CONFIG_HAVE_FENTRY
|
||||
# s390-linux-gnu-gcc did not support -mfentry until gcc-9.
|
||||
ifeq ($(call cc-option-yn, -mfentry),y)
|
||||
CC_FLAGS_FTRACE += -mfentry
|
||||
CC_FLAGS_USING += -DCC_USING_FENTRY
|
||||
@ -925,7 +919,7 @@ endif
|
||||
|
||||
# We trigger additional mismatches with less inlining
|
||||
ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
||||
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
||||
KBUILD_CFLAGS += -fno-inline-functions-called-once
|
||||
endif
|
||||
|
||||
ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
|
||||
@ -1004,14 +998,16 @@ KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
|
||||
|
||||
# We'll want to enable this eventually, but it's not going away for 5.7 at least
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, zero-length-bounds)
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, array-bounds)
|
||||
KBUILD_CFLAGS += -Wno-array-bounds
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
|
||||
|
||||
# Another good warning that we'll want to enable eventually
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
|
||||
|
||||
# Enabled with W=2, disabled by default as noisy
|
||||
KBUILD_CFLAGS += $(call cc-disable-warning, maybe-uninitialized)
|
||||
ifdef CONFIG_CC_IS_GCC
|
||||
KBUILD_CFLAGS += -Wno-maybe-uninitialized
|
||||
endif
|
||||
|
||||
# disable invalid "can't wrap" optimizations for signed / pointers
|
||||
KBUILD_CFLAGS += -fno-strict-overflow
|
||||
@ -1020,7 +1016,9 @@ KBUILD_CFLAGS += -fno-strict-overflow
|
||||
KBUILD_CFLAGS += -fno-stack-check
|
||||
|
||||
# conserve stack if available
|
||||
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
|
||||
ifdef CONFIG_CC_IS_GCC
|
||||
KBUILD_CFLAGS += -fconserve-stack
|
||||
endif
|
||||
|
||||
# Prohibit date/time macros, which would make the build non-deterministic
|
||||
KBUILD_CFLAGS += -Werror=date-time
|
||||
@ -1750,6 +1748,16 @@ clean-dirs := $(KBUILD_EXTMOD)
|
||||
clean: rm-files := $(KBUILD_EXTMOD)/Module.symvers $(KBUILD_EXTMOD)/modules.nsdeps \
|
||||
$(KBUILD_EXTMOD)/compile_commands.json $(KBUILD_EXTMOD)/.thinlto-cache
|
||||
|
||||
PHONY += prepare
|
||||
# now expand this into a simple variable to reduce the cost of shell evaluations
|
||||
prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
|
||||
prepare:
|
||||
@if [ "$(CC_VERSION_TEXT)" != $(CONFIG_CC_VERSION_TEXT) ]; then \
|
||||
echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
|
||||
echo >&2 " The kernel was built by: "$(CONFIG_CC_VERSION_TEXT); \
|
||||
echo >&2 " You are using: $(CC_VERSION_TEXT)"; \
|
||||
fi
|
||||
|
||||
PHONY += help
|
||||
help:
|
||||
@echo ' Building external modules.'
|
||||
@ -1761,7 +1769,7 @@ help:
|
||||
@echo ''
|
||||
|
||||
# no-op for external module builds
|
||||
PHONY += prepare modules_prepare
|
||||
PHONY += modules_prepare
|
||||
|
||||
endif # KBUILD_EXTMOD
|
||||
|
||||
|
@ -18,8 +18,7 @@ ifeq ($(CONFIG_ARC_TUNE_MCPU),"")
|
||||
cflags-y += $(tune-mcpu-def-y)
|
||||
else
|
||||
tune-mcpu := $(shell echo $(CONFIG_ARC_TUNE_MCPU))
|
||||
tune-mcpu-ok := $(call cc-option-yn, $(tune-mcpu))
|
||||
ifeq ($(tune-mcpu-ok),y)
|
||||
ifneq ($(call cc-option,$(tune-mcpu)),)
|
||||
cflags-y += $(tune-mcpu)
|
||||
else
|
||||
# The flag provided by 'CONFIG_ARC_TUNE_MCPU' option isn't known by this compiler
|
||||
|
@ -5,8 +5,6 @@
|
||||
* Copyright (C) 1996-2000 Russell King - Converted to ARM.
|
||||
* Original Copyright (C) 1995 Linus Torvalds
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/export.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/debug.h>
|
||||
|
@ -10,8 +10,6 @@
|
||||
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/ioport.h>
|
||||
|
@ -6,9 +6,6 @@
|
||||
* Copyright (C) 1996-2000 Russell King - Converted to ARM.
|
||||
* Copyright (C) 2012 ARM Ltd.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/compat.h>
|
||||
#include <linux/efi.h>
|
||||
#include <linux/elf.h>
|
||||
|
@ -1 +1,3 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
obj-y += kernel/ mm/
|
||||
obj-$(CONFIG_IA64_SGI_UV) += uv/
|
||||
|
@ -47,8 +47,6 @@ KBUILD_CFLAGS += $(cflags-y)
|
||||
head-y := arch/ia64/kernel/head.o
|
||||
|
||||
libs-y += arch/ia64/lib/
|
||||
core-y += arch/ia64/kernel/ arch/ia64/mm/
|
||||
core-$(CONFIG_IA64_SGI_UV) += arch/ia64/uv/
|
||||
|
||||
drivers-y += arch/ia64/pci/ arch/ia64/hp/common/
|
||||
|
||||
|
@ -254,7 +254,7 @@ endif
|
||||
#
|
||||
# Board-dependent options and extra files
|
||||
#
|
||||
include arch/mips/Kbuild.platforms
|
||||
include $(srctree)/arch/mips/Kbuild.platforms
|
||||
|
||||
ifdef CONFIG_PHYSICAL_START
|
||||
load-y = $(CONFIG_PHYSICAL_START)
|
||||
|
@ -14,8 +14,6 @@
|
||||
*/
|
||||
|
||||
#define __KERNEL_SYSCALLS__
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/errno.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sched/debug.h>
|
||||
|
@ -51,7 +51,7 @@
|
||||
* prumpf 991016
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/init.h>
|
||||
|
@ -17,9 +17,6 @@
|
||||
* Copyright (C) 2001-2014 Helge Deller <deller@gmx.de>
|
||||
* Copyright (C) 2002 Randolph Chung <tausq with parisc-linux.org>
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/elf.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -11,7 +11,6 @@
|
||||
|
||||
#undef DEBUG
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/init.h>
|
||||
|
@ -14,7 +14,7 @@
|
||||
/* we cannot use FORTIFY as it brings in new symbols */
|
||||
#define __NO_FORTIFY
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/init.h>
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Copyright (C) 2001 IBM.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
@ -5,7 +5,7 @@
|
||||
* c 2001 PPC 64 Team, IBM Corp
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/console.h>
|
||||
|
@ -41,7 +41,7 @@ endif
|
||||
ifeq ($(CONFIG_LD_IS_LLD),y)
|
||||
KBUILD_CFLAGS += -mno-relax
|
||||
KBUILD_AFLAGS += -mno-relax
|
||||
ifneq ($(LLVM_IAS),1)
|
||||
ifndef CONFIG_AS_IS_LLVM
|
||||
KBUILD_CFLAGS += -Wa,-mno-relax
|
||||
KBUILD_AFLAGS += -Wa,-mno-relax
|
||||
endif
|
||||
|
@ -70,7 +70,7 @@ cflags-y += -Wa,-I$(srctree)/arch/$(ARCH)/include
|
||||
#
|
||||
cflags-$(CONFIG_FRAME_POINTER) += -fno-optimize-sibling-calls
|
||||
|
||||
ifeq ($(call cc-option-yn,-mpacked-stack -mbackchain -msoft-float),y)
|
||||
ifneq ($(call cc-option,-mpacked-stack -mbackchain -msoft-float),)
|
||||
cflags-$(CONFIG_PACK_STACK) += -mpacked-stack -D__PACK_STACK
|
||||
aflags-$(CONFIG_PACK_STACK) += -D__PACK_STACK
|
||||
endif
|
||||
@ -78,22 +78,22 @@ endif
|
||||
KBUILD_AFLAGS_DECOMPRESSOR += $(aflags-y)
|
||||
KBUILD_CFLAGS_DECOMPRESSOR += $(cflags-y)
|
||||
|
||||
ifeq ($(call cc-option-yn,-mstack-size=8192 -mstack-guard=128),y)
|
||||
ifneq ($(call cc-option,-mstack-size=8192 -mstack-guard=128),)
|
||||
cflags-$(CONFIG_CHECK_STACK) += -mstack-size=$(STACK_SIZE)
|
||||
ifneq ($(call cc-option-yn,-mstack-size=8192),y)
|
||||
ifeq ($(call cc-option,-mstack-size=8192),)
|
||||
cflags-$(CONFIG_CHECK_STACK) += -mstack-guard=$(CONFIG_STACK_GUARD)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef CONFIG_WARN_DYNAMIC_STACK
|
||||
ifeq ($(call cc-option-yn,-mwarn-dynamicstack),y)
|
||||
ifneq ($(call cc-option,-mwarn-dynamicstack),)
|
||||
KBUILD_CFLAGS += -mwarn-dynamicstack
|
||||
KBUILD_CFLAGS_DECOMPRESSOR += -mwarn-dynamicstack
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef CONFIG_EXPOLINE
|
||||
ifeq ($(call cc-option-yn,$(CC_FLAGS_MARCH) -mindirect-branch=thunk),y)
|
||||
ifneq ($(call cc-option,$(CC_FLAGS_MARCH) -mindirect-branch=thunk),)
|
||||
CC_FLAGS_EXPOLINE := -mindirect-branch=thunk
|
||||
CC_FLAGS_EXPOLINE += -mfunction-return=thunk
|
||||
CC_FLAGS_EXPOLINE += -mindirect-branch-table
|
||||
@ -104,10 +104,10 @@ ifdef CONFIG_EXPOLINE
|
||||
endif
|
||||
|
||||
ifdef CONFIG_FUNCTION_TRACER
|
||||
ifeq ($(call cc-option-yn,-mfentry -mnop-mcount),n)
|
||||
ifeq ($(call cc-option,-mfentry -mnop-mcount),)
|
||||
# make use of hotpatch feature if the compiler supports it
|
||||
cc_hotpatch := -mhotpatch=0,3
|
||||
ifeq ($(call cc-option-yn,$(cc_hotpatch)),y)
|
||||
ifneq ($(call cc-option,$(cc_hotpatch)),)
|
||||
CC_FLAGS_FTRACE := $(cc_hotpatch)
|
||||
KBUILD_AFLAGS += -DCC_USING_HOTPATCH
|
||||
KBUILD_CFLAGS += -DCC_USING_HOTPATCH
|
||||
|
@ -1,5 +1,6 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/ctype.h>
|
||||
#include <asm/stacktrace.h>
|
||||
@ -8,7 +9,6 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/sclp.h>
|
||||
#include <asm/uv.h>
|
||||
#include <stdarg.h>
|
||||
#include "boot.h"
|
||||
|
||||
const char hex_asc[] = "0123456789abcdef";
|
||||
|
@ -1,56 +0,0 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# arch/sh/boot/install.sh
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU General Public
|
||||
# License. See the file "COPYING" in the main directory of this archive
|
||||
# for more details.
|
||||
#
|
||||
# Copyright (C) 1995 by Linus Torvalds
|
||||
#
|
||||
# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin
|
||||
# Adapted from code in arch/i386/boot/install.sh by Russell King
|
||||
# Adapted from code in arch/arm/boot/install.sh by Stuart Menefy
|
||||
#
|
||||
# "make install" script for sh architecture
|
||||
#
|
||||
# Arguments:
|
||||
# $1 - kernel version
|
||||
# $2 - kernel image file
|
||||
# $3 - kernel map file
|
||||
# $4 - default install path (blank if root directory)
|
||||
#
|
||||
|
||||
# User may have a custom install script
|
||||
|
||||
if [ -x /sbin/${INSTALLKERNEL} ]; then
|
||||
exec /sbin/${INSTALLKERNEL} "$@"
|
||||
fi
|
||||
|
||||
if [ "$2" = "zImage" ]; then
|
||||
# Compressed install
|
||||
echo "Installing compressed kernel"
|
||||
if [ -f $4/vmlinuz-$1 ]; then
|
||||
mv $4/vmlinuz-$1 $4/vmlinuz.old
|
||||
fi
|
||||
|
||||
if [ -f $4/System.map-$1 ]; then
|
||||
mv $4/System.map-$1 $4/System.old
|
||||
fi
|
||||
|
||||
cat $2 > $4/vmlinuz-$1
|
||||
cp $3 $4/System.map-$1
|
||||
else
|
||||
# Normal install
|
||||
echo "Installing normal kernel"
|
||||
if [ -f $4/vmlinux-$1 ]; then
|
||||
mv $4/vmlinux-$1 $4/vmlinux.old
|
||||
fi
|
||||
|
||||
if [ -f $4/System.map ]; then
|
||||
mv $4/System.map $4/System.old
|
||||
fi
|
||||
|
||||
cat $2 > $4/vmlinux-$1
|
||||
cp $3 $4/System.map
|
||||
fi
|
@ -72,7 +72,8 @@ image zImage uImage tftpboot.img vmlinux.aout: vmlinux
|
||||
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
|
||||
|
||||
install:
|
||||
$(Q)$(MAKE) $(build)=$(boot) $@
|
||||
sh $(srctree)/$(boot)/install.sh $(KERNELRELEASE) $(KBUILD_IMAGE) \
|
||||
System.map "$(INSTALL_PATH)"
|
||||
|
||||
archclean:
|
||||
$(Q)$(MAKE) $(clean)=$(boot)
|
||||
|
@ -70,7 +70,3 @@ $(obj)/image: vmlinux FORCE
|
||||
$(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback System.map $(ROOT_IMG) FORCE
|
||||
$(call if_changed,elftoaout)
|
||||
$(call if_changed,piggy)
|
||||
|
||||
install:
|
||||
sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(obj)/zImage \
|
||||
System.map "$(INSTALL_PATH)"
|
||||
|
@ -8,9 +8,6 @@
|
||||
/*
|
||||
* This file handles the architecture-dependent parts of process handling..
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/elfcore.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/module.h>
|
||||
|
@ -9,9 +9,6 @@
|
||||
/*
|
||||
* This file handles the architecture-dependent parts of process handling..
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/errno.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/sched.h>
|
||||
|
@ -41,8 +41,8 @@ endif
|
||||
|
||||
HOST_DIR := arch/$(HEADER_ARCH)
|
||||
|
||||
include $(ARCH_DIR)/Makefile-skas
|
||||
include $(HOST_DIR)/Makefile.um
|
||||
include $(srctree)/$(ARCH_DIR)/Makefile-skas
|
||||
include $(srctree)/$(HOST_DIR)/Makefile.um
|
||||
|
||||
core-y += $(HOST_DIR)/um/
|
||||
|
||||
@ -76,7 +76,7 @@ USER_CFLAGS = $(patsubst $(KERNEL_DEFINES),,$(patsubst -I%,,$(KBUILD_CFLAGS))) \
|
||||
-idirafter $(objtree)/include -D__KERNEL__ -D__UM_HOST__
|
||||
|
||||
#This will adjust *FLAGS accordingly to the platform.
|
||||
include $(ARCH_DIR)/Makefile-os-$(OS)
|
||||
include $(srctree)/$(ARCH_DIR)/Makefile-os-$(OS)
|
||||
|
||||
KBUILD_CPPFLAGS += -I$(srctree)/$(HOST_DIR)/include \
|
||||
-I$(srctree)/$(HOST_DIR)/include/uapi \
|
||||
|
@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2020 Intel Corporation
|
||||
* Author: Johannes Berg <johannes@sipsolutions.net>
|
||||
*/
|
||||
#include <stdbool.h>
|
||||
#include <os.h>
|
||||
#include <errno.h>
|
||||
#include <sched.h>
|
||||
|
@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdarg.h>
|
||||
|
@ -7,7 +7,6 @@
|
||||
#define __IRQ_USER_H__
|
||||
|
||||
#include <sysdep/ptrace.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
enum um_irq_type {
|
||||
IRQ_READ,
|
||||
|
@ -8,7 +8,6 @@
|
||||
#ifndef __OS_H__
|
||||
#define __OS_H__
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <irq_user.h>
|
||||
#include <longjmp.h>
|
||||
#include <mm_id.h>
|
||||
|
@ -67,7 +67,7 @@ int signals_enabled;
|
||||
#ifdef UML_CONFIG_UML_TIME_TRAVEL_SUPPORT
|
||||
static int signals_blocked;
|
||||
#else
|
||||
#define signals_blocked false
|
||||
#define signals_blocked 0
|
||||
#endif
|
||||
static unsigned int signals_pending;
|
||||
static unsigned int signals_active = 0;
|
||||
|
@ -3,6 +3,7 @@
|
||||
* Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
@ -73,7 +73,7 @@ ifeq ($(CONFIG_X86_32),y)
|
||||
KBUILD_CFLAGS += $(cc_stack_align4)
|
||||
|
||||
# CPU-specific tuning. Anything which can be shared with UML should go here.
|
||||
include arch/x86/Makefile_32.cpu
|
||||
include $(srctree)/arch/x86/Makefile_32.cpu
|
||||
KBUILD_CFLAGS += $(cflags-y)
|
||||
|
||||
# temporary until string.h is fixed
|
||||
|
@ -2,13 +2,7 @@
|
||||
# CPU tuning section - shared with UML.
|
||||
# Must change only cflags-y (or [yn]), not CFLAGS! That makes a difference for UML.
|
||||
|
||||
#-mtune exists since gcc 3.4
|
||||
HAS_MTUNE := $(call cc-option-yn, -mtune=i386)
|
||||
ifeq ($(HAS_MTUNE),y)
|
||||
tune = $(call cc-option,-mtune=$(1),$(2))
|
||||
else
|
||||
tune = $(call cc-option,-mcpu=$(1),$(2))
|
||||
endif
|
||||
|
||||
cflags-$(CONFIG_M486SX) += -march=i486
|
||||
cflags-$(CONFIG_M486) += -march=i486
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/edd.h>
|
||||
#include <asm/setup.h>
|
||||
|
@ -131,7 +131,7 @@ $(obj)/%-x32.o: $(obj)/%.o FORCE
|
||||
targets += vdsox32.lds $(vobjx32s-y)
|
||||
|
||||
$(obj)/%.so: OBJCOPYFLAGS := -S --remove-section __ex_table
|
||||
$(obj)/%.so: $(obj)/%.so.dbg
|
||||
$(obj)/%.so: $(obj)/%.so.dbg FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
$(obj)/vdsox32.so.dbg: $(obj)/vdsox32.lds $(vobjx32s) FORCE
|
||||
|
@ -8,7 +8,6 @@
|
||||
|
||||
#define pr_fmt(fmt) "xen-blkback: " fmt
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <xen/events.h>
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Copyright 2011 Intel Corporation; author Matt Fleming
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include <linux/ctype.h>
|
||||
#include <linux/efi.h>
|
||||
|
@ -10,7 +10,7 @@
|
||||
* Oh, it's a waste of space, but oh-so-yummy for debugging.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include <linux/compiler.h>
|
||||
#include <linux/ctype.h>
|
||||
|
@ -28,9 +28,9 @@
|
||||
*/
|
||||
|
||||
#include <linux/delay.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include "dm_services.h"
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "dc.h"
|
||||
#include "dc_dmub_srv.h"
|
||||
|
@ -39,7 +39,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/delay.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "atomfirmware.h"
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
#define DEBUG /* for pr_debug() */
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include <linux/io.h>
|
||||
#include <linux/moduleparam.h>
|
||||
|
@ -24,7 +24,6 @@
|
||||
#include <linux/pm_runtime.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/devcoredump.h>
|
||||
#include <stdarg.h>
|
||||
#include "msm_kms.h"
|
||||
|
||||
#define MSM_DISP_SNAPSHOT_MAX_BLKS 10
|
||||
|
@ -379,7 +379,7 @@ static char *pnames[] =
|
||||
/*2f */ "Useruserdata"
|
||||
};
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
/*-------------------------------------------------------*/
|
||||
static _cdebbuf *bufprint(_cdebbuf *cdb, char *fmt, ...)
|
||||
|
@ -2,7 +2,6 @@
|
||||
/*
|
||||
* Driver for the ADB controller in the Mac I/O (Hydra) chip.
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -9,7 +9,7 @@
|
||||
*
|
||||
* Copyright (C) 1996 Paul Mackerras.
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -23,8 +23,6 @@
|
||||
* Apple's "ADB Analyzer" bus sniffer is invaluable:
|
||||
* ftp://ftp.apple.com/developer/Tool_Chest/Devices_-_Hardware/Apple_Desktop_Bus/
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -18,7 +18,7 @@
|
||||
* a sleep or a freq. switch
|
||||
*
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
|
@ -79,7 +79,6 @@
|
||||
|
||||
#undef HERMES_DEBUG
|
||||
#ifdef HERMES_DEBUG
|
||||
#include <stdarg.h>
|
||||
|
||||
#define DEBUG(lvl, stuff...) if ((lvl) <= HERMES_DEBUG) DMSG(stuff)
|
||||
|
||||
|
@ -7,7 +7,6 @@
|
||||
#define IOSM_IPC_IMEM_H
|
||||
|
||||
#include <linux/skbuff.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "iosm_ipc_mmio.h"
|
||||
#include "iosm_ipc_pcie.h"
|
||||
|
@ -5,7 +5,6 @@
|
||||
#define ASPEED_PINMUX_H
|
||||
|
||||
#include <linux/regmap.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
/*
|
||||
* The ASPEED SoCs provide typically more than 200 pins for GPIO and other
|
||||
|
@ -10,7 +10,6 @@
|
||||
/***************************************************************************
|
||||
* OS specific includes
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/firmware.h>
|
||||
|
@ -16,8 +16,6 @@
|
||||
#ifndef __ISP_LOCAL_H_INCLUDED__
|
||||
#define __ISP_LOCAL_H_INCLUDED__
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "isp_global.h"
|
||||
|
||||
#include <isp2400_support.h>
|
||||
|
@ -16,7 +16,7 @@
|
||||
#ifndef __PRINT_SUPPORT_H_INCLUDED__
|
||||
#define __PRINT_SUPPORT_H_INCLUDED__
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
extern int (*sh_css_printf)(const char *fmt, va_list args);
|
||||
/* depends on host supplied print function in ia_css_init() */
|
||||
|
@ -17,7 +17,7 @@
|
||||
#define __IA_CSS_ENV_H
|
||||
|
||||
#include <type_support.h>
|
||||
#include <stdarg.h> /* va_list */
|
||||
#include <linux/stdarg.h> /* va_list */
|
||||
#include "ia_css_types.h"
|
||||
#include "ia_css_acc_types.h"
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
/*! \file */
|
||||
|
||||
#include <type_support.h>
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include "ia_css_types.h"
|
||||
#include "ia_css_binary.h"
|
||||
#include "ia_css_frame_public.h"
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <math_support.h>
|
||||
#include <type_support.h>
|
||||
#include <platform_support.h>
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#if !defined(ISP2401)
|
||||
#include "input_formatter.h"
|
||||
|
@ -33,8 +33,6 @@
|
||||
|
||||
#define pr_fmt(fmt) "xen-pvscsi: " fmt
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/utsname.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
@ -14,7 +14,7 @@
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/kernel.h>
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/buffer_head.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
static char error_buf[1024];
|
||||
static char fmt_buf[1024];
|
||||
|
@ -70,7 +70,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/bitops.h>
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
|
@ -22,7 +22,7 @@ typedef __builtin_va_list va_list;
|
||||
#define va_arg(v, l) __builtin_va_arg(v, l)
|
||||
#define va_copy(d, s) __builtin_va_copy(d, s)
|
||||
#else
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -5,8 +5,6 @@
|
||||
#ifndef __LINUX_FILTER_H__
|
||||
#define __LINUX_FILTER_H__
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/refcount.h>
|
||||
#include <linux/compat.h>
|
||||
|
@ -2,7 +2,7 @@
|
||||
#ifndef _LINUX_KERNEL_H
|
||||
#define _LINUX_KERNEL_H
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/align.h>
|
||||
#include <linux/limits.h>
|
||||
#include <linux/linkage.h>
|
||||
|
@ -18,7 +18,6 @@
|
||||
#ifndef mISDNIF_H
|
||||
#define mISDNIF_H
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/socket.h>
|
||||
|
@ -2,7 +2,7 @@
|
||||
#ifndef __KERNEL_PRINTK__
|
||||
#define __KERNEL_PRINTK__
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/kern_levels.h>
|
||||
#include <linux/linkage.h>
|
||||
|
11
include/linux/stdarg.h
Normal file
11
include/linux/stdarg.h
Normal file
@ -0,0 +1,11 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#ifndef _LINUX_STDARG_H
|
||||
#define _LINUX_STDARG_H
|
||||
|
||||
typedef __builtin_va_list va_list;
|
||||
#define va_start(v, l) __builtin_va_start(v, l)
|
||||
#define va_end(v) __builtin_va_end(v)
|
||||
#define va_arg(v, T) __builtin_va_arg(v, T)
|
||||
#define va_copy(d, s) __builtin_va_copy(d, s)
|
||||
|
||||
#endif
|
@ -6,7 +6,7 @@
|
||||
#include <linux/types.h> /* for size_t */
|
||||
#include <linux/stddef.h> /* for NULL */
|
||||
#include <linux/errno.h> /* for E2BIG */
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <uapi/linux/string.h>
|
||||
|
||||
extern char *strndup_user(const char __user *, long);
|
||||
|
@ -10,7 +10,6 @@
|
||||
* 03/02/13 added new 2.5 kallsyms <xavier.bru@bull.net>
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/mm.h>
|
||||
|
@ -365,6 +365,7 @@ config STRIP_ASM_SYMS
|
||||
config READABLE_ASM
|
||||
bool "Generate readable assembler code"
|
||||
depends on DEBUG_KERNEL
|
||||
depends on CC_IS_GCC
|
||||
help
|
||||
Disable some compiler optimizations that tend to generate human unreadable
|
||||
assembler output. This may make the kernel slightly slower, but it helps
|
||||
@ -383,6 +384,7 @@ config HEADERS_INSTALL
|
||||
|
||||
config DEBUG_SECTION_MISMATCH
|
||||
bool "Enable full Section mismatch analysis"
|
||||
depends on CC_IS_GCC
|
||||
help
|
||||
The section mismatch analysis checks if there are illegal
|
||||
references from one section to another section.
|
||||
|
@ -5,8 +5,6 @@
|
||||
* CONFIG_DEBUG_INFO_REDUCED. Please do not add actual code. However,
|
||||
* adding appropriate #includes is fine.
|
||||
*/
|
||||
#include <stdarg.h>
|
||||
|
||||
#include <linux/cred.h>
|
||||
#include <linux/crypto.h>
|
||||
#include <linux/dcache.h>
|
||||
@ -22,6 +20,7 @@
|
||||
#include <linux/net.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/types.h>
|
||||
#include <net/addrconf.h>
|
||||
#include <net/sock.h>
|
||||
|
@ -5,7 +5,7 @@
|
||||
* Copyright (C) 1991, 1992 Linus Torvalds
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/types.h>
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/types.h>
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
struct string_stream_fragment {
|
||||
struct kunit *test;
|
||||
|
@ -17,7 +17,7 @@
|
||||
* - scnprintf and vscnprintf
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
#include <linux/build_bug.h>
|
||||
#include <linux/clk.h>
|
||||
#include <linux/clk-provider.h>
|
||||
|
@ -5,7 +5,7 @@
|
||||
* Copyright (C) 2020, Google LLC.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/lockdep.h>
|
||||
|
@ -7,7 +7,7 @@
|
||||
#include "log.h"
|
||||
#include "main.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <linux/stdarg.h>
|
||||
|
||||
#include "trace.h"
|
||||
|
||||
|
@ -57,6 +57,7 @@ kecho := $($(quiet)kecho)
|
||||
# - If the content differ the new file is used
|
||||
# - If they are equal no change, and no timestamp update
|
||||
define filechk
|
||||
$(check-FORCE)
|
||||
$(Q)set -e; \
|
||||
mkdir -p $(dir $@); \
|
||||
trap "rm -f $(dot-target).tmp" EXIT; \
|
||||
@ -130,13 +131,19 @@ make-cmd = $(call escsq,$(subst $(pound),$$(pound),$(subst $$,$$$$,$(cmd_$(1))))
|
||||
# PHONY targets skipped in both cases.
|
||||
newer-prereqs = $(filter-out $(PHONY),$?)
|
||||
|
||||
# It is a typical mistake to forget the FORCE prerequisite. Check it here so
|
||||
# no more breakage will slip in.
|
||||
check-FORCE = $(if $(filter FORCE, $^),,$(warning FORCE prerequisite is missing))
|
||||
|
||||
if-changed-cond = $(newer-prereqs)$(cmd-check)$(check-FORCE)
|
||||
|
||||
# Execute command if command has changed or prerequisite(s) are updated.
|
||||
if_changed = $(if $(newer-prereqs)$(cmd-check), \
|
||||
if_changed = $(if $(if-changed-cond), \
|
||||
$(cmd); \
|
||||
printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:)
|
||||
|
||||
# Execute the command and also postprocess generated .d dependencies file.
|
||||
if_changed_dep = $(if $(newer-prereqs)$(cmd-check),$(cmd_and_fixdep),@:)
|
||||
if_changed_dep = $(if $(if-changed-cond),$(cmd_and_fixdep),@:)
|
||||
|
||||
cmd_and_fixdep = \
|
||||
$(cmd); \
|
||||
@ -146,7 +153,7 @@ cmd_and_fixdep = \
|
||||
# Usage: $(call if_changed_rule,foo)
|
||||
# Will check if $(cmd_foo) or any of the prerequisites changed,
|
||||
# and if so will execute $(rule_foo).
|
||||
if_changed_rule = $(if $(newer-prereqs)$(cmd-check),$(rule_$(1)),@:)
|
||||
if_changed_rule = $(if $(if-changed-cond),$(rule_$(1)),@:)
|
||||
|
||||
###
|
||||
# why - tell why a target got built
|
||||
|
@ -88,6 +88,10 @@ endif
|
||||
|
||||
targets-for-modules := $(patsubst %.o, %.mod, $(filter %.o, $(obj-m)))
|
||||
|
||||
ifdef CONFIG_LTO_CLANG
|
||||
targets-for-modules += $(patsubst %.o, %.lto.o, $(filter %.o, $(obj-m)))
|
||||
endif
|
||||
|
||||
ifdef need-modorder
|
||||
targets-for-modules += $(obj)/modules.order
|
||||
endif
|
||||
@ -173,6 +177,8 @@ cmd_modversions_c = \
|
||||
if $(NM) $@ 2>/dev/null | grep -q __ksymtab; then \
|
||||
$(call cmd_gensymtypes_c,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
|
||||
> $@.symversions; \
|
||||
else \
|
||||
rm -f $@.symversions; \
|
||||
fi;
|
||||
else
|
||||
cmd_modversions_c = \
|
||||
@ -271,12 +277,33 @@ $(obj)/%.o: $(src)/%.c $(recordmcount_source) $$(objtool_dep) FORCE
|
||||
$(call if_changed_rule,cc_o_c)
|
||||
$(call cmd,force_checksrc)
|
||||
|
||||
ifdef CONFIG_LTO_CLANG
|
||||
# Module .o files may contain LLVM bitcode, compile them into native code
|
||||
# before ELF processing
|
||||
quiet_cmd_cc_lto_link_modules = LTO [M] $@
|
||||
cmd_cc_lto_link_modules = \
|
||||
$(LD) $(ld_flags) -r -o $@ \
|
||||
$(shell [ -s $(@:.lto.o=.o.symversions) ] && \
|
||||
echo -T $(@:.lto.o=.o.symversions)) \
|
||||
--whole-archive $(filter-out FORCE,$^)
|
||||
|
||||
ifdef CONFIG_STACK_VALIDATION
|
||||
# objtool was skipped for LLVM bitcode, run it now that we have compiled
|
||||
# modules into native code
|
||||
cmd_cc_lto_link_modules += ; \
|
||||
$(objtree)/tools/objtool/objtool $(objtool_args) --module $@
|
||||
endif
|
||||
|
||||
$(obj)/%.lto.o: $(obj)/%.o FORCE
|
||||
$(call if_changed,cc_lto_link_modules)
|
||||
endif
|
||||
|
||||
cmd_mod = { \
|
||||
echo $(if $($*-objs)$($*-y)$($*-m), $(addprefix $(obj)/, $($*-objs) $($*-y) $($*-m)), $(@:.mod=.o)); \
|
||||
$(undefined_syms) echo; \
|
||||
} > $@
|
||||
|
||||
$(obj)/%.mod: $(obj)/%.o FORCE
|
||||
$(obj)/%.mod: $(obj)/%$(mod-prelink-ext).o FORCE
|
||||
$(call if_changed,mod)
|
||||
|
||||
quiet_cmd_cc_lst_c = MKLST $@
|
||||
@ -381,7 +408,6 @@ $(subdir-builtin): $(obj)/%/built-in.a: $(obj)/% ;
|
||||
$(subdir-modorder): $(obj)/%/modules.order: $(obj)/% ;
|
||||
|
||||
# combine symversions for later processing
|
||||
quiet_cmd_update_lto_symversions = SYMVER $@
|
||||
ifeq ($(CONFIG_LTO_CLANG) $(CONFIG_MODVERSIONS),y y)
|
||||
cmd_update_lto_symversions = \
|
||||
rm -f $@.symversions \
|
||||
|
35
scripts/Makefile.clang
Normal file
35
scripts/Makefile.clang
Normal file
@ -0,0 +1,35 @@
|
||||
# Individual arch/{arch}/Makefiles should use -EL/-EB to set intended
|
||||
# endianness and -m32/-m64 to set word size based on Kconfigs instead of
|
||||
# relying on the target triple.
|
||||
CLANG_TARGET_FLAGS_arm := arm-linux-gnueabi
|
||||
CLANG_TARGET_FLAGS_arm64 := aarch64-linux-gnu
|
||||
CLANG_TARGET_FLAGS_hexagon := hexagon-linux-musl
|
||||
CLANG_TARGET_FLAGS_m68k := m68k-linux-gnu
|
||||
CLANG_TARGET_FLAGS_mips := mipsel-linux-gnu
|
||||
CLANG_TARGET_FLAGS_powerpc := powerpc64le-linux-gnu
|
||||
CLANG_TARGET_FLAGS_riscv := riscv64-linux-gnu
|
||||
CLANG_TARGET_FLAGS_s390 := s390x-linux-gnu
|
||||
CLANG_TARGET_FLAGS_x86 := x86_64-linux-gnu
|
||||
CLANG_TARGET_FLAGS := $(CLANG_TARGET_FLAGS_$(SRCARCH))
|
||||
|
||||
ifeq ($(CROSS_COMPILE),)
|
||||
ifeq ($(CLANG_TARGET_FLAGS),)
|
||||
$(error Specify CROSS_COMPILE or add '--target=' option to scripts/Makefile.clang)
|
||||
else
|
||||
CLANG_FLAGS += --target=$(CLANG_TARGET_FLAGS)
|
||||
endif # CLANG_TARGET_FLAGS
|
||||
else
|
||||
CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%))
|
||||
endif # CROSS_COMPILE
|
||||
|
||||
ifeq ($(LLVM_IAS),0)
|
||||
CLANG_FLAGS += -fno-integrated-as
|
||||
GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit))
|
||||
CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE))
|
||||
else
|
||||
CLANG_FLAGS += -fintegrated-as
|
||||
endif
|
||||
CLANG_FLAGS += -Werror=unknown-warning-option
|
||||
KBUILD_CFLAGS += $(CLANG_FLAGS)
|
||||
KBUILD_AFLAGS += $(CLANG_FLAGS)
|
||||
export CLANG_FLAGS
|
@ -225,17 +225,23 @@ dtc_cpp_flags = -Wp,-MMD,$(depfile).pre.tmp -nostdinc \
|
||||
$(addprefix -I,$(DTC_INCLUDE)) \
|
||||
-undef -D__DTS__
|
||||
|
||||
ifeq ($(CONFIG_LTO_CLANG),y)
|
||||
# With CONFIG_LTO_CLANG, .o files in modules might be LLVM bitcode, so we
|
||||
# need to run LTO to compile them into native code (.lto.o) before further
|
||||
# processing.
|
||||
mod-prelink-ext := .lto
|
||||
endif
|
||||
|
||||
# Objtool arguments are also needed for modfinal with LTO, so we define
|
||||
# then here to avoid duplication.
|
||||
objtool_args = \
|
||||
$(if $(CONFIG_UNWINDER_ORC),orc generate,check) \
|
||||
$(if $(part-of-module), --module,) \
|
||||
$(if $(part-of-module), --module) \
|
||||
$(if $(CONFIG_FRAME_POINTER),, --no-fp) \
|
||||
$(if $(or $(CONFIG_GCOV_KERNEL),$(CONFIG_LTO_CLANG)), \
|
||||
--no-unreachable,) \
|
||||
$(if $(CONFIG_RETPOLINE), --retpoline,) \
|
||||
$(if $(CONFIG_X86_SMAP), --uaccess,) \
|
||||
$(if $(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL), --mcount,)
|
||||
$(if $(CONFIG_GCOV_KERNEL)$(CONFIG_LTO_CLANG), --no-unreachable)\
|
||||
$(if $(CONFIG_RETPOLINE), --retpoline) \
|
||||
$(if $(CONFIG_X86_SMAP), --uaccess) \
|
||||
$(if $(CONFIG_FTRACE_MCOUNT_USE_OBJTOOL), --mcount)
|
||||
|
||||
# Useful for describing the dependency of composite objects
|
||||
# Usage:
|
||||
|
@ -9,7 +9,7 @@ __modfinal:
|
||||
include include/config/auto.conf
|
||||
include $(srctree)/scripts/Kbuild.include
|
||||
|
||||
# for c_flags and objtool_args
|
||||
# for c_flags and mod-prelink-ext
|
||||
include $(srctree)/scripts/Makefile.lib
|
||||
|
||||
# find all modules listed in modules.order
|
||||
@ -30,23 +30,6 @@ quiet_cmd_cc_o_c = CC [M] $@
|
||||
|
||||
ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
|
||||
|
||||
ifdef CONFIG_LTO_CLANG
|
||||
# With CONFIG_LTO_CLANG, reuse the object file we compiled for modpost to
|
||||
# avoid a second slow LTO link
|
||||
prelink-ext := .lto
|
||||
|
||||
# ELF processing was skipped earlier because we didn't have native code,
|
||||
# so let's now process the prelinked binary before we link the module.
|
||||
|
||||
ifdef CONFIG_STACK_VALIDATION
|
||||
cmd_ld_ko_o += \
|
||||
$(objtree)/tools/objtool/objtool $(objtool_args) \
|
||||
$(@:.ko=$(prelink-ext).o);
|
||||
|
||||
endif # CONFIG_STACK_VALIDATION
|
||||
|
||||
endif # CONFIG_LTO_CLANG
|
||||
|
||||
quiet_cmd_ld_ko_o = LD [M] $@
|
||||
cmd_ld_ko_o += \
|
||||
$(LD) -r $(KBUILD_LDFLAGS) \
|
||||
@ -72,7 +55,7 @@ if_changed_except = $(if $(call newer_prereqs_except,$(2))$(cmd-check), \
|
||||
|
||||
|
||||
# Re-generate module BTFs if either module's .ko or vmlinux changed
|
||||
$(modules): %.ko: %$(prelink-ext).o %.mod.o scripts/module.lds $(if $(KBUILD_BUILTIN),vmlinux) FORCE
|
||||
$(modules): %.ko: %$(mod-prelink-ext).o %.mod.o scripts/module.lds $(if $(KBUILD_BUILTIN),vmlinux) FORCE
|
||||
+$(call if_changed_except,ld_ko_o,vmlinux)
|
||||
ifdef CONFIG_DEBUG_INFO_BTF_MODULES
|
||||
+$(if $(newer-prereqs),$(call cmd,btf_ko))
|
||||
|
@ -41,7 +41,7 @@ __modpost:
|
||||
include include/config/auto.conf
|
||||
include $(srctree)/scripts/Kbuild.include
|
||||
|
||||
# for ld_flags
|
||||
# for mod-prelink-ext
|
||||
include $(srctree)/scripts/Makefile.lib
|
||||
|
||||
MODPOST = scripts/mod/modpost \
|
||||
@ -118,22 +118,6 @@ $(input-symdump):
|
||||
@echo >&2 ' Modules may not have dependencies or modversions.'
|
||||
@echo >&2 ' You may get many unresolved symbol warnings.'
|
||||
|
||||
ifdef CONFIG_LTO_CLANG
|
||||
# With CONFIG_LTO_CLANG, .o files might be LLVM bitcode, so we need to run
|
||||
# LTO to compile them into native code before running modpost
|
||||
prelink-ext := .lto
|
||||
|
||||
quiet_cmd_cc_lto_link_modules = LTO [M] $@
|
||||
cmd_cc_lto_link_modules = \
|
||||
$(LD) $(ld_flags) -r -o $@ \
|
||||
$(shell [ -s $(@:.lto.o=.o.symversions) ] && \
|
||||
echo -T $(@:.lto.o=.o.symversions)) \
|
||||
--whole-archive $^
|
||||
|
||||
%.lto.o: %.o
|
||||
$(call if_changed,cc_lto_link_modules)
|
||||
endif
|
||||
|
||||
modules := $(sort $(shell cat $(MODORDER)))
|
||||
|
||||
# KBUILD_MODPOST_WARN can be set to avoid error out in case of undefined symbols
|
||||
@ -144,9 +128,9 @@ endif
|
||||
# Read out modules.order to pass in modpost.
|
||||
# Otherwise, allmodconfig would fail with "Argument list too long".
|
||||
quiet_cmd_modpost = MODPOST $@
|
||||
cmd_modpost = sed 's/\.ko$$/$(prelink-ext)\.o/' $< | $(MODPOST) -T -
|
||||
cmd_modpost = sed 's/\.ko$$/$(mod-prelink-ext)\.o/' $< | $(MODPOST) -T -
|
||||
|
||||
$(output-symdump): $(MODORDER) $(input-symdump) $(modules:.ko=$(prelink-ext).o) FORCE
|
||||
$(output-symdump): $(MODORDER) $(input-symdump) $(modules:.ko=$(mod-prelink-ext).o) FORCE
|
||||
$(call if_changed,modpost)
|
||||
|
||||
targets += $(output-symdump)
|
||||
|
@ -42,10 +42,10 @@ $CONFIG_SHELL $srctree/scripts/gen_autoksyms.sh "$new_ksyms_file"
|
||||
changed=$(
|
||||
count=0
|
||||
sort "$cur_ksyms_file" "$new_ksyms_file" | uniq -u |
|
||||
sed -n 's/^#define __KSYM_\(.*\) 1/\1/p' | tr "A-Z_" "a-z/" |
|
||||
sed -n 's/^#define __KSYM_\(.*\) 1/\1/p' |
|
||||
while read sympath; do
|
||||
if [ -z "$sympath" ]; then continue; fi
|
||||
depfile="include/ksym/${sympath}.h"
|
||||
depfile="include/ksym/${sympath}"
|
||||
mkdir -p "$(dirname "$depfile")"
|
||||
touch "$depfile"
|
||||
# Filesystems with coarse time precision may create timestamps
|
||||
|
@ -21,14 +21,14 @@ get_canonical_version()
|
||||
echo $((10000 * $1 + 100 * ${2:-0} + ${3:-0}))
|
||||
}
|
||||
|
||||
# Clang fails to handle -Wa,--version unless -no-integrated-as is given.
|
||||
# We check -(f)integrated-as, expecting it is explicitly passed in for the
|
||||
# Clang fails to handle -Wa,--version unless -fno-integrated-as is given.
|
||||
# We check -fintegrated-as, expecting it is explicitly passed in for the
|
||||
# integrated assembler case.
|
||||
check_integrated_as()
|
||||
{
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ "$1" = -integrated-as -o "$1" = -fintegrated-as ]; then
|
||||
# For the intergrated assembler, we do not check the
|
||||
if [ "$1" = -fintegrated-as ]; then
|
||||
# For the integrated assembler, we do not check the
|
||||
# version here. It is the same as the clang version, and
|
||||
# it has been already checked by scripts/cc-version.sh.
|
||||
echo LLVM 0
|
||||
|
0
scripts/checkdeclares.pl
Normal file → Executable file
0
scripts/checkdeclares.pl
Normal file → Executable file
@ -329,7 +329,7 @@ def check_symbols_helper(pool, ignore):
|
||||
if REGEX_FILE_KCONFIG.match(gitfile):
|
||||
kconfig_files.append(gitfile)
|
||||
else:
|
||||
if ignore and not re.match(ignore, gitfile):
|
||||
if ignore and re.match(ignore, gitfile):
|
||||
continue
|
||||
# add source files that do not match the ignore pattern
|
||||
source_files.append(gitfile)
|
||||
|
@ -18,7 +18,7 @@ _DEFAULT_OUTPUT = 'compile_commands.json'
|
||||
_DEFAULT_LOG_LEVEL = 'WARNING'
|
||||
|
||||
_FILENAME_PATTERN = r'^\..*\.cmd$'
|
||||
_LINE_PATTERN = r'^cmd_[^ ]*\.o := (.* )([^ ]*\.c)$'
|
||||
_LINE_PATTERN = r'^cmd_[^ ]*\.o := (.* )([^ ]*\.c) *(;|$)'
|
||||
_VALID_LOG_LEVELS = ['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL']
|
||||
# The tools/ directory adopts a different build system, and produces .cmd
|
||||
# files in a different format. Do not support it.
|
||||
|
0
scripts/gcc-plugins/gen-random-seed.sh
Normal file → Executable file
0
scripts/gcc-plugins/gen-random-seed.sh
Normal file → Executable file
@ -26,18 +26,6 @@ if [ -n "$CONFIG_MODVERSIONS" ]; then
|
||||
needed_symbols="$needed_symbols module_layout"
|
||||
fi
|
||||
|
||||
# With CONFIG_LTO_CLANG, LLVM bitcode has not yet been compiled into a binary
|
||||
# when the .mod files are generated, which means they don't yet contain
|
||||
# references to certain symbols that will be present in the final binaries.
|
||||
if [ -n "$CONFIG_LTO_CLANG" ]; then
|
||||
# intrinsic functions
|
||||
needed_symbols="$needed_symbols memcpy memmove memset"
|
||||
# ftrace
|
||||
needed_symbols="$needed_symbols _mcount"
|
||||
# stack protector symbols
|
||||
needed_symbols="$needed_symbols __stack_chk_fail __stack_chk_guard"
|
||||
fi
|
||||
|
||||
ksym_wl=
|
||||
if [ -n "$CONFIG_UNUSED_KSYMS_WHITELIST" ]; then
|
||||
# Use 'eval' to expand the whitelist path and check if it is relative
|
||||
|
@ -4,7 +4,13 @@
|
||||
set -e
|
||||
|
||||
# List of exported symbols
|
||||
ksyms=$($NM $1 | sed -n 's/.*__ksym_marker_\(.*\)/\1/p' | tr A-Z a-z)
|
||||
#
|
||||
# If the object has no symbol, $NM warns 'no symbols'.
|
||||
# Suppress the stderr.
|
||||
# TODO:
|
||||
# Use -q instead of 2>/dev/null when we upgrade the minimum version of
|
||||
# binutils to 2.37, llvm to 13.0.0.
|
||||
ksyms=$($NM $1 2>/dev/null | sed -n 's/.*__ksym_marker_\(.*\)/\1/p')
|
||||
|
||||
if [ -z "$ksyms" ]; then
|
||||
exit 0
|
||||
@ -15,8 +21,7 @@ echo "ksymdeps_$1 := \\"
|
||||
|
||||
for s in $ksyms
|
||||
do
|
||||
echo $s | sed -e 's:^_*: $(wildcard include/ksym/:' \
|
||||
-e 's:__*:/:g' -e 's/$/.h) \\/'
|
||||
printf ' $(wildcard include/ksym/%s) \\\n' "$s"
|
||||
done
|
||||
|
||||
echo
|
||||
|
@ -28,6 +28,7 @@ usage() {
|
||||
echo " -r list redundant entries when merging fragments"
|
||||
echo " -y make builtin have precedence over modules"
|
||||
echo " -O dir to put generated output files. Consider setting \$KCONFIG_CONFIG instead."
|
||||
echo " -s strict mode. Fail if the fragment redefines any value."
|
||||
echo
|
||||
echo "Used prefix: '$CONFIG_PREFIX'. You can redefine it with \$CONFIG_ environment variable."
|
||||
}
|
||||
@ -37,6 +38,7 @@ ALLTARGET=alldefconfig
|
||||
WARNREDUN=false
|
||||
BUILTIN=false
|
||||
OUTPUT=.
|
||||
STRICT=false
|
||||
CONFIG_PREFIX=${CONFIG_-CONFIG_}
|
||||
|
||||
while true; do
|
||||
@ -75,6 +77,11 @@ while true; do
|
||||
shift 2
|
||||
continue
|
||||
;;
|
||||
"-s")
|
||||
STRICT=true
|
||||
shift
|
||||
continue
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
@ -141,6 +148,9 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do
|
||||
echo Previous value: $PREV_VAL
|
||||
echo New value: $NEW_VAL
|
||||
echo
|
||||
if [ "$STRICT" = "true" ]; then
|
||||
STRICT_MODE_VIOLATED=true
|
||||
fi
|
||||
elif [ "$WARNREDUN" = "true" ]; then
|
||||
echo Value of $CFG is redundant by fragment $ORIG_MERGE_FILE:
|
||||
fi
|
||||
@ -153,6 +163,11 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do
|
||||
cat $MERGE_FILE >> $TMP_FILE
|
||||
done
|
||||
|
||||
if [ "$STRICT_MODE_VIOLATED" = "true" ]; then
|
||||
echo "The fragment redefined a value and strict mode had been passed."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$RUNMAKE" = "false" ]; then
|
||||
cp -T -- "$TMP_FILE" "$KCONFIG_CONFIG"
|
||||
echo "#"
|
||||
|
@ -149,67 +149,54 @@ objtool_link()
|
||||
# ${2}, ${3}, ... - optional extra .o files
|
||||
vmlinux_link()
|
||||
{
|
||||
local lds="${objtree}/${KBUILD_LDS}"
|
||||
local output=${1}
|
||||
local objects
|
||||
local strip_debug
|
||||
local map_option
|
||||
local objs
|
||||
local libs
|
||||
local ld
|
||||
local ldflags
|
||||
local ldlibs
|
||||
|
||||
info LD ${output}
|
||||
|
||||
# skip output file argument
|
||||
shift
|
||||
|
||||
if [ -n "${CONFIG_LTO_CLANG}" ]; then
|
||||
# Use vmlinux.o instead of performing the slow LTO link again.
|
||||
objs=vmlinux.o
|
||||
libs=
|
||||
else
|
||||
objs="${KBUILD_VMLINUX_OBJS}"
|
||||
libs="${KBUILD_VMLINUX_LIBS}"
|
||||
fi
|
||||
|
||||
if [ "${SRCARCH}" = "um" ]; then
|
||||
wl=-Wl,
|
||||
ld="${CC}"
|
||||
ldflags="${CFLAGS_vmlinux}"
|
||||
ldlibs="-lutil -lrt -lpthread"
|
||||
else
|
||||
wl=
|
||||
ld="${LD}"
|
||||
ldflags="${KBUILD_LDFLAGS} ${LDFLAGS_vmlinux}"
|
||||
ldlibs=
|
||||
fi
|
||||
|
||||
ldflags="${ldflags} ${wl}--script=${objtree}/${KBUILD_LDS}"
|
||||
|
||||
# The kallsyms linking does not need debug symbols included.
|
||||
if [ "$output" != "${output#.tmp_vmlinux.kallsyms}" ] ; then
|
||||
strip_debug=-Wl,--strip-debug
|
||||
ldflags="${ldflags} ${wl}--strip-debug"
|
||||
fi
|
||||
|
||||
if [ -n "${CONFIG_VMLINUX_MAP}" ]; then
|
||||
map_option="-Map=${output}.map"
|
||||
ldflags="${ldflags} ${wl}-Map=${output}.map"
|
||||
fi
|
||||
|
||||
if [ "${SRCARCH}" != "um" ]; then
|
||||
if [ -n "${CONFIG_LTO_CLANG}" ]; then
|
||||
# Use vmlinux.o instead of performing the slow LTO
|
||||
# link again.
|
||||
objects="--whole-archive \
|
||||
vmlinux.o \
|
||||
--no-whole-archive \
|
||||
${@}"
|
||||
else
|
||||
objects="--whole-archive \
|
||||
${KBUILD_VMLINUX_OBJS} \
|
||||
--no-whole-archive \
|
||||
--start-group \
|
||||
${KBUILD_VMLINUX_LIBS} \
|
||||
--end-group \
|
||||
${@}"
|
||||
fi
|
||||
|
||||
${LD} ${KBUILD_LDFLAGS} ${LDFLAGS_vmlinux} \
|
||||
${strip_debug#-Wl,} \
|
||||
-o ${output} \
|
||||
${map_option} \
|
||||
-T ${lds} ${objects}
|
||||
else
|
||||
objects="-Wl,--whole-archive \
|
||||
${KBUILD_VMLINUX_OBJS} \
|
||||
-Wl,--no-whole-archive \
|
||||
-Wl,--start-group \
|
||||
${KBUILD_VMLINUX_LIBS} \
|
||||
-Wl,--end-group \
|
||||
${@}"
|
||||
|
||||
${CC} ${CFLAGS_vmlinux} \
|
||||
${strip_debug} \
|
||||
-o ${output} \
|
||||
${map_option:+-Wl,${map_option}} \
|
||||
-Wl,-T,${lds} \
|
||||
${objects} \
|
||||
-lutil -lrt -lpthread
|
||||
rm -f linux
|
||||
fi
|
||||
${ld} ${ldflags} -o ${output} \
|
||||
${wl}--whole-archive ${objs} ${wl}--no-whole-archive \
|
||||
${wl}--start-group ${libs} ${wl}--end-group \
|
||||
$@ ${ldlibs}
|
||||
}
|
||||
|
||||
# generate .BTF typeinfo from DWARF debuginfo
|
||||
|
@ -17,6 +17,7 @@
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
#include <limits.h>
|
||||
#include <stdbool.h>
|
||||
#include <errno.h>
|
||||
#include "modpost.h"
|
||||
#include "../../include/linux/license.h"
|
||||
@ -89,6 +90,14 @@ modpost_log(enum loglevel loglevel, const char *fmt, ...)
|
||||
error_occurred = true;
|
||||
}
|
||||
|
||||
static inline bool strends(const char *str, const char *postfix)
|
||||
{
|
||||
if (strlen(str) < strlen(postfix))
|
||||
return false;
|
||||
|
||||
return strcmp(str + strlen(str) - strlen(postfix), postfix) == 0;
|
||||
}
|
||||
|
||||
void *do_nofail(void *ptr, const char *expr)
|
||||
{
|
||||
if (!ptr)
|
||||
@ -2060,7 +2069,7 @@ static void read_symbols(const char *modname)
|
||||
if (!mod->is_vmlinux) {
|
||||
version = get_modinfo(&info, "version");
|
||||
if (version || all_versions)
|
||||
get_src_version(modname, mod->srcversion,
|
||||
get_src_version(mod->name, mod->srcversion,
|
||||
sizeof(mod->srcversion) - 1);
|
||||
}
|
||||
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@ -178,14 +177,6 @@ static inline unsigned int get_secindex(const struct elf_info *info,
|
||||
return info->symtab_shndx_start[sym - info->symtab_start];
|
||||
}
|
||||
|
||||
static inline bool strends(const char *str, const char *postfix)
|
||||
{
|
||||
if (strlen(str) < strlen(postfix))
|
||||
return false;
|
||||
|
||||
return strcmp(str + strlen(str) - strlen(postfix), postfix) == 0;
|
||||
}
|
||||
|
||||
/* file2alias.c */
|
||||
extern unsigned int cross_build;
|
||||
void handle_moddevtable(struct module *mod, struct elf_info *info,
|
||||
|
@ -391,14 +391,9 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
|
||||
struct md4_ctx md;
|
||||
char *fname;
|
||||
char filelist[PATH_MAX + 1];
|
||||
int postfix_len = 1;
|
||||
|
||||
if (strends(modname, ".lto.o"))
|
||||
postfix_len = 5;
|
||||
|
||||
/* objects for a module are listed in the first line of *.mod file. */
|
||||
snprintf(filelist, sizeof(filelist), "%.*smod",
|
||||
(int)strlen(modname) - postfix_len, modname);
|
||||
snprintf(filelist, sizeof(filelist), "%s.mod", modname);
|
||||
|
||||
buf = read_text_file(filelist);
|
||||
|
||||
|
0
scripts/syscallnr.sh
Normal file → Executable file
0
scripts/syscallnr.sh
Normal file → Executable file
0
scripts/xen-hypercalls.sh
Normal file → Executable file
0
scripts/xen-hypercalls.sh
Normal file → Executable file
@ -4,16 +4,6 @@
|
||||
#
|
||||
|
||||
obj-$(CONFIG_KEYS) += keys/
|
||||
subdir-$(CONFIG_SECURITY_SELINUX) += selinux
|
||||
subdir-$(CONFIG_SECURITY_SMACK) += smack
|
||||
subdir-$(CONFIG_SECURITY_TOMOYO) += tomoyo
|
||||
subdir-$(CONFIG_SECURITY_APPARMOR) += apparmor
|
||||
subdir-$(CONFIG_SECURITY_YAMA) += yama
|
||||
subdir-$(CONFIG_SECURITY_LOADPIN) += loadpin
|
||||
subdir-$(CONFIG_SECURITY_SAFESETID) += safesetid
|
||||
subdir-$(CONFIG_SECURITY_LOCKDOWN_LSM) += lockdown
|
||||
subdir-$(CONFIG_BPF_LSM) += bpf
|
||||
subdir-$(CONFIG_SECURITY_LANDLOCK) += landlock
|
||||
|
||||
# always enable default capabilities
|
||||
obj-y += commoncap.o
|
||||
@ -36,5 +26,4 @@ obj-$(CONFIG_BPF_LSM) += bpf/
|
||||
obj-$(CONFIG_SECURITY_LANDLOCK) += landlock/
|
||||
|
||||
# Object integrity file lists
|
||||
subdir-$(CONFIG_INTEGRITY) += integrity
|
||||
obj-$(CONFIG_INTEGRITY) += integrity/
|
||||
|
@ -6,7 +6,6 @@
|
||||
*/
|
||||
#ifndef __SND_AOA_CODEC_ONYX_H
|
||||
#define __SND_AOA_CODEC_ONYX_H
|
||||
#include <stddef.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <asm/pmac_low_i2c.h>
|
||||
#include <asm/prom.h>
|
||||
|
@ -58,7 +58,6 @@
|
||||
* and up to the hardware designer to not wire
|
||||
* them up in some weird unusable way.
|
||||
*/
|
||||
#include <stddef.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <asm/pmac_low_i2c.h>
|
||||
#include <asm/prom.h>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user