Kbuild updates for v6.6

- Enable -Wenum-conversion warning option
 
  - Refactor the rpm-pkg target
 
  - Fix scripts/setlocalversion to consider annotated tags for rt-kernel
 
  - Add a jump key feature for the search menu of 'make nconfig'
 
  - Support Qt6 for 'make xconfig'
 
  - Enable -Wformat-overflow, -Wformat-truncation, -Wstringop-overflow, and
    -Wrestrict warnings for W=1 builds
 
  - Replace <asm/export.h> with <linux/export.h> for alpha, ia64, and sparc
 
  - Support DEB_BUILD_OPTIONS=parallel=N for the debian source package
 
  - Refactor scripts/Makefile.modinst and fix some modules_sign issues
 
  - Add a new Kconfig env variable to warn symbols that are not defined anywhere
 
  - Show help messages of config fragments in 'make help'
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAmT3X/oVHG1hc2FoaXJv
 eUBrZXJuZWwub3JnAAoJED2LAQed4NsG58oQAIXDrka3r53Flky/uJjSl8ab620o
 XL3u4PF/ekv6qsZoLlU24WQP8BzcJO6gPHFz88mE9/J1+wHpNKZLZehjpgj1cCY3
 LatbEAa3DCZPC/c7P/nz+FT4mjTZpKOeQmvZVfA+xonBHmTyVUKgws0uDB/xuTjE
 GARyOX7ymD0AAZv84SUUCiaBe5Y2Bkrki67HfteS4bxW8GHg0rZWzrFUUkEkoG54
 elNOYR0WYROwyo8Iokd2MedVdK2SPZxvY8i67hXl2K+Qve6tLNk8dbRIENnYI0pk
 7oQVmIfC20eu9CteywHlyjt8jpTOeIrRc2yhJKR0YrjjIzKhulRGMh+pFAAwoySd
 Se60uWCS2AydcXWTrtb+iwFUyM2zRK4SaMlxleqnoE/bWYp6jhg9qbV9xpztWSYI
 j39k9aX7B19stN1drzJeyXdILRVtaAQCcax3RR+mGgm4Z5fuTDntPepvIv8J3lBg
 QZ4MCdOdtFw33eQaKa7O3LddD3q1X355xeaIITivEe3rAk5iIJYu3Ty1VY+/XTcH
 ktSVl83zQ5Ge3tvx8D6kCR9J8jAQyTLIKHxvr/j969HgZKguS2i37eChnPyKcu23
 ZMKJcmCJ1O7naQXVrb/TeiaMR0UEo/PSdrUjpEO3LlMpRthNXLVSLfgJGv8WLO7/
 pb/HFXHgKaSORiRV
 =lfUi
 -----END PGP SIGNATURE-----

Merge tag 'kbuild-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild updates from Masahiro Yamada:

 - Enable -Wenum-conversion warning option

 - Refactor the rpm-pkg target

 - Fix scripts/setlocalversion to consider annotated tags for rt-kernel

 - Add a jump key feature for the search menu of 'make nconfig'

 - Support Qt6 for 'make xconfig'

 - Enable -Wformat-overflow, -Wformat-truncation, -Wstringop-overflow,
   and -Wrestrict warnings for W=1 builds

 - Replace <asm/export.h> with <linux/export.h> for alpha, ia64, and
   sparc

 - Support DEB_BUILD_OPTIONS=parallel=N for the debian source package

 - Refactor scripts/Makefile.modinst and fix some modules_sign issues

 - Add a new Kconfig env variable to warn symbols that are not defined
   anywhere

 - Show help messages of config fragments in 'make help'

* tag 'kbuild-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (62 commits)
  kconfig: fix possible buffer overflow
  kbuild: Show marked Kconfig fragments in "help"
  kconfig: add warn-unknown-symbols sanity check
  kbuild: dummy-tools: make MPROFILE_KERNEL checks work on BE
  Documentation/llvm: refresh docs
  modpost: Skip .llvm.call-graph-profile section check
  kbuild: support modules_sign for external modules as well
  kbuild: support 'make modules_sign' with CONFIG_MODULE_SIG_ALL=n
  kbuild: move more module installation code to scripts/Makefile.modinst
  kbuild: reduce the number of mkdir calls during modules_install
  kbuild: remove $(MODLIB)/source symlink
  kbuild: move depmod rule to scripts/Makefile.modinst
  kbuild: add modules_sign to no-{compiler,sync-config}-targets
  kbuild: do not run depmod for 'make modules_sign'
  kbuild: deb-pkg: support DEB_BUILD_OPTIONS=parallel=N in debian/rules
  alpha: remove <asm/export.h>
  alpha: replace #include <asm/export.h> with #include <linux/export.h>
  ia64: remove <asm/export.h>
  ia64: replace #include <asm/export.h> with #include <linux/export.h>
  sparc: remove <asm/export.h>
  ...
This commit is contained in:
Linus Torvalds 2023-09-05 11:01:47 -07:00
commit 61401a8724
149 changed files with 1076 additions and 825 deletions

2
.gitignore vendored
View File

@ -74,7 +74,7 @@ modules.order
#
# RPM spec file (make rpm-pkg)
#
/*.spec
/kernel.spec
/rpmbuild/
#

View File

@ -56,6 +56,15 @@ KCONFIG_OVERWRITECONFIG
If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
break symlinks when .config is a symlink to somewhere else.
KCONFIG_WARN_UNKNOWN_SYMBOLS
----------------------------
This environment variable makes Kconfig warn about all unrecognized
symbols in the config input.
KCONFIG_WERROR
--------------
If set, Kconfig treats warnings as errors.
`CONFIG_`
---------
If you set `CONFIG_` in the environment, Kconfig will prefix all symbols
@ -212,6 +221,10 @@ Searching in menuconfig:
first (and in alphabetical order), then come all other symbols,
sorted in alphabetical order.
In this menu, pressing the key in the (#) prefix will jump
directly to that location. You will be returned to the current
search results after exiting this new menu.
----------------------------------------------------------------------
User interface options for 'menuconfig'
@ -264,6 +277,10 @@ Searching in nconfig:
F8 (SymSearch) searches the configuration symbols for the
given string or regular expression (regex).
In the SymSearch, pressing the key in the (#) prefix will
jump directly to that location. You will be returned to the
current search results after exiting this new menu.
NCONFIG_MODE
------------
This mode shows all sub-menus in one large tree.

View File

@ -25,50 +25,38 @@ objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
that supports C and the GNU C extensions required by the kernel, and is
pronounced "klang," not "see-lang."
Clang
-----
Building with LLVM
------------------
The compiler used can be swapped out via ``CC=`` command line argument to ``make``.
``CC=`` should be set when selecting a config and during a build. ::
Invoke ``make`` via::
make CC=clang defconfig
make LLVM=1
make CC=clang
to compile for the host target. For cross compiling::
Cross Compiling
---------------
make LLVM=1 ARCH=arm64
A single Clang compiler binary will typically contain all supported backends,
which can help simplify cross compiling. ::
The LLVM= argument
------------------
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
example: ::
clang --target=aarch64-linux-gnu foo.c
LLVM Utilities
--------------
LLVM has substitutes for GNU binutils utilities. They can be enabled individually.
The full list of supported make variables::
LLVM has substitutes for GNU binutils utilities. They can be enabled
individually. The full list of supported make variables::
make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld
To simplify the above command, Kbuild supports the ``LLVM`` variable::
make LLVM=1
``LLVM=1`` expands to the above.
If your LLVM tools are not available in your PATH, you can supply their
location using the LLVM variable with a trailing slash::
make LLVM=/path/to/llvm/
which will use ``/path/to/llvm/clang``, ``/path/to/llvm/ld.lld``, etc.
which will use ``/path/to/llvm/clang``, ``/path/to/llvm/ld.lld``, etc. The
following may also be used::
PATH=/path/to/llvm:$PATH make LLVM=1
If your LLVM tools have a version suffix and you want to test with that
explicit version rather than the unsuffixed executables like ``LLVM=1``, you
@ -78,31 +66,72 @@ can pass the suffix using the ``LLVM`` variable::
which will use ``clang-14``, ``ld.lld-14``, etc.
To support combinations of out of tree paths with version suffixes, we
recommend::
PATH=/path/to/llvm/:$PATH make LLVM=-14
``LLVM=0`` is not the same as omitting ``LLVM`` altogether, it will behave like
``LLVM=1``. If you only wish to use certain LLVM utilities, use their respective
make variables.
``LLVM=1``. If you only wish to use certain LLVM utilities, use their
respective make variables.
The integrated assembler is enabled by default. You can pass ``LLVM_IAS=0`` to
disable it.
The same value used for ``LLVM=`` should be set for each invocation of ``make``
if configuring and building via distinct commands. ``LLVM=`` should also be set
as an environment variable when running scripts that will eventually run
``make``.
Omitting CROSS_COMPILE
Cross Compiling
---------------
A single Clang compiler binary (and corresponding LLVM utilities) will
typically contain all supported back ends, which can help simplify cross
compiling especially when ``LLVM=1`` is used. If you use only LLVM tools,
``CROSS_COMPILE`` or target-triple-prefixes become unnecessary. Example::
make LLVM=1 ARCH=arm64
As an example of mixing LLVM and GNU utilities, for a target like ``ARCH=s390``
which does not yet have ``ld.lld`` or ``llvm-objcopy`` support, you could
invoke ``make`` via::
make LLVM=1 ARCH=s390 LD=s390x-linux-gnu-ld.bfd \
OBJCOPY=s390x-linux-gnu-objcopy
This example will invoke ``s390x-linux-gnu-ld.bfd`` as the linker and
``s390x-linux-gnu-objcopy``, so ensure those are reachable in your ``$PATH``.
``CROSS_COMPILE`` is not used to prefix the Clang compiler binary (or
corresponding LLVM utilities) as is the case for GNU utilities when ``LLVM=1``
is not set.
The LLVM_IAS= argument
----------------------
As explained above, ``CROSS_COMPILE`` is used to set ``--target=<triple>``.
Clang can assemble assembler code. You can pass ``LLVM_IAS=0`` to disable this
behavior and have Clang invoke the corresponding non-integrated assembler
instead. Example::
If ``CROSS_COMPILE`` is not specified, the ``--target=<triple>`` is inferred
from ``ARCH``.
make LLVM=1 LLVM_IAS=0
That means if you use only LLVM tools, ``CROSS_COMPILE`` becomes unnecessary.
``CROSS_COMPILE`` is necessary when cross compiling and ``LLVM_IAS=0``
is used in order to set ``--prefix=`` for the compiler to find the
corresponding non-integrated assembler (typically, you don't want to use the
system assembler when targeting another architecture). Example::
For example, to cross-compile the arm64 kernel::
make LLVM=1 ARCH=arm LLVM_IAS=0 CROSS_COMPILE=arm-linux-gnueabi-
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. ::
Ccache
------
make ARCH=arm64 LLVM=1 LLVM_IAS=0 CROSS_COMPILE=aarch64-linux-gnu-
``ccache`` can be used with ``clang`` to improve subsequent builds, (though
KBUILD_BUILD_TIMESTAMP_ should be set to a deterministic value between builds
in order to avoid 100% cache misses, see Reproducible_builds_ for more info):
KBUILD_BUILD_TIMESTAMP='' make LLVM=1 CC="ccache clang"
.. _KBUILD_BUILD_TIMESTAMP: kbuild.html#kbuild-build-timestamp
.. _Reproducible_builds: reproducible-builds.html#timestamps
Supported Architectures
-----------------------
@ -135,14 +164,17 @@ yet. Bug reports are always welcome at the issue tracker below!
* - hexagon
- Maintained
- ``LLVM=1``
* - loongarch
- Maintained
- ``LLVM=1``
* - mips
- Maintained
- ``LLVM=1``
* - powerpc
- Maintained
- ``CC=clang``
- ``LLVM=1``
* - riscv
- Maintained
- Supported
- ``LLVM=1``
* - s390
- Maintained
@ -171,7 +203,11 @@ Getting Help
Getting LLVM
-------------
We provide prebuilt stable versions of LLVM on `kernel.org <https://kernel.org/pub/tools/llvm/>`_.
We provide prebuilt stable versions of LLVM on `kernel.org
<https://kernel.org/pub/tools/llvm/>`_. These have been optimized with profile
data for building Linux kernels, which should improve kernel build times
relative to other distributions of LLVM.
Below are links that may be useful for building LLVM from source or procuring
it through a distribution's package manager.

View File

@ -11382,6 +11382,7 @@ F: scripts/dummy-tools/
F: scripts/mk*
F: scripts/mod/
F: scripts/package/
F: usr/
KERNEL HARDENING (not covered by other areas)
M: Kees Cook <keescook@chromium.org>

172
Makefile
View File

@ -280,8 +280,8 @@ no-dot-config-targets := $(clean-targets) \
# Installation targets should not require compiler. Unfortunately, vdso_install
# is an exception where build artifacts may be updated. This must be fixed.
no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
headers_install modules_install kernelrelease image_name
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
headers_install modules_install modules_sign kernelrelease image_name
no-sync-config-targets := $(no-dot-config-targets) %install modules_sign kernelrelease \
image_name
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %/
@ -510,7 +510,6 @@ LEX = flex
YACC = bison
AWK = awk
INSTALLKERNEL := installkernel
DEPMOD = depmod
PERL = perl
PYTHON3 = python3
CHECK = sparse
@ -564,14 +563,6 @@ KBUILD_CFLAGS += -funsigned-char
KBUILD_CFLAGS += -fno-common
KBUILD_CFLAGS += -fno-PIE
KBUILD_CFLAGS += -fno-strict-aliasing
KBUILD_CFLAGS += -Wall
KBUILD_CFLAGS += -Wundef
KBUILD_CFLAGS += -Werror=implicit-function-declaration
KBUILD_CFLAGS += -Werror=implicit-int
KBUILD_CFLAGS += -Werror=return-type
KBUILD_CFLAGS += -Werror=strict-prototypes
KBUILD_CFLAGS += -Wno-format-security
KBUILD_CFLAGS += -Wno-trigraphs
KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_RUSTFLAGS := $(rust_common_flags) \
@ -824,10 +815,6 @@ endif # may-sync-config
endif # need-config
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)
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
KBUILD_CFLAGS += -O2
@ -858,40 +845,15 @@ ifdef CONFIG_READABLE_ASM
KBUILD_CFLAGS += -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining
endif
ifneq ($(CONFIG_FRAME_WARN),0)
KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN)
endif
stackp-flags-y := -fno-stack-protector
stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector
stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
KBUILD_CFLAGS += $(stackp-flags-y)
KBUILD_CPPFLAGS-$(CONFIG_WERROR) += -Werror
KBUILD_CPPFLAGS += $(KBUILD_CPPFLAGS-y)
KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings
KBUILD_RUSTFLAGS += $(KBUILD_RUSTFLAGS-y)
ifdef CONFIG_CC_IS_CLANG
# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
KBUILD_CFLAGS += -Wno-gnu
else
# gcc inanely warns about local variables called 'main'
KBUILD_CFLAGS += -Wno-main
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)
# These result in bogus false positives
KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
ifdef CONFIG_FRAME_POINTER
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
KBUILD_RUSTFLAGS += -Cforce-frame-pointers=y
@ -1026,51 +988,12 @@ endif
# arch Makefile may override CC so keep this after arch Makefile is included
NOSTDINC_FLAGS += -nostdinc
# Variable Length Arrays (VLAs) should not be used anywhere in the kernel
KBUILD_CFLAGS += -Wvla
# disable pointer signed / unsigned warnings in gcc 4.0
KBUILD_CFLAGS += -Wno-pointer-sign
# In order to make sure new function cast mismatches are not introduced
# in the kernel (to avoid tripping CFI checking), the kernel should be
# globally built with -Wcast-function-type.
KBUILD_CFLAGS += $(call cc-option, -Wcast-function-type)
# To gain proper coverage for CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE,
# the kernel uses only C99 flexible arrays for dynamically sized trailing
# arrays. Enforce this for everything that may examine structure sizes and
# perform bounds checking.
KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3)
# disable stringop warnings in gcc 8+
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, 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
ifdef CONFIG_CC_IS_GCC
KBUILD_CFLAGS += -Wno-maybe-uninitialized
endif
# The allocators already balk at large sizes, so silence the compiler
# warnings for bounds checks involving those possible values. While
# -Wno-alloc-size-larger-than would normally be used here, earlier versions
# of gcc (<9.1) weirdly don't handle the option correctly when _other_
# warnings are produced (?!). Using -Walloc-size-larger-than=SIZE_MAX
# doesn't work (as it is documented to), silently resolving to "0" prior to
# version 9.1 (and producing an error more recently). Numeric values larger
# than PTRDIFF_MAX also don't work prior to version 9.1, which are silently
# ignored, continuing to default to PTRDIFF_MAX. So, left with no other
# choice, we must perform a versioned check to disable this warning.
# https://lore.kernel.org/lkml/20210824115859.187f272f@canb.auug.org.au
KBUILD_CFLAGS-$(call gcc-min-version, 90100) += -Wno-alloc-size-larger-than
KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
# disable invalid "can't wrap" optimizations for signed / pointers
KBUILD_CFLAGS += -fno-strict-overflow
@ -1082,15 +1005,6 @@ 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
# enforce correct pointer usage
KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
# Require designated initializers for all marked structures
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
# change __FILE__ to the relative path from the srctree
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
@ -1548,44 +1462,8 @@ modules: modules_prepare
modules_prepare: prepare
$(Q)$(MAKE) $(build)=scripts scripts/module.lds
export modules_sign_only :=
ifeq ($(CONFIG_MODULE_SIG),y)
PHONY += modules_sign
modules_sign: modules_install
@:
# modules_sign is a subset of modules_install.
# 'make modules_install modules_sign' is equivalent to 'make modules_install'.
ifeq ($(filter modules_install,$(MAKECMDGOALS)),)
modules_sign_only := y
endif
endif
endif # CONFIG_MODULES
modinst_pre :=
ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
modinst_pre := __modinst_pre
endif
modules_install: $(modinst_pre)
PHONY += __modinst_pre
__modinst_pre:
@rm -rf $(MODLIB)/kernel
@rm -f $(MODLIB)/source
@mkdir -p $(MODLIB)
ifdef CONFIG_MODULES
@ln -s $(abspath $(srctree)) $(MODLIB)/source
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
rm -f $(MODLIB)/build ; \
ln -s $(CURDIR) $(MODLIB)/build ; \
fi
@sed 's:^\(.*\)\.o$$:kernel/\1.ko:' modules.order > $(MODLIB)/modules.order
endif
@cp -f modules.builtin $(MODLIB)/
@cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
###
# Cleaning is done on three levels.
# make clean Delete most generated files
@ -1594,7 +1472,7 @@ endif
# make distclean Remove editor backup files, patch leftover files and the like
# Directories & files removed with 'make clean'
CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \
CLEAN_FILES += vmlinux.symvers modules-only.symvers \
modules.builtin modules.builtin.modinfo modules.nsdeps \
compile_commands.json .thinlto-cache rust/test rust/doc \
rust-project.json .vmlinux.objs .vmlinux.export.c
@ -1608,7 +1486,7 @@ MRPROPER_FILES += include/config include/generated \
certs/signing_key.pem \
certs/x509.genkey \
vmlinux-gdb.py \
*.spec rpmbuild \
kernel.spec rpmbuild \
rust/libmacros.so
# clean - Delete most, but leave enough to build external modules
@ -1675,7 +1553,6 @@ help:
@echo ' mrproper - Remove all generated files + config + various backup files'
@echo ' distclean - mrproper + remove editor backup and patch files'
@echo ''
@echo 'Configuration targets:'
@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
@echo ''
@echo 'Other generic targets:'
@ -1923,19 +1800,39 @@ help:
@echo ' rust-analyzer - generate rust-project.json rust-analyzer support file'
@echo ''
ifndef CONFIG_MODULES
modules modules_install: __external_modules_error
__external_modules_error:
@echo >&2 '***'
@echo >&2 '*** The present kernel disabled CONFIG_MODULES.'
@echo >&2 '*** You cannot build or install external modules.'
@echo >&2 '***'
@false
endif
endif # KBUILD_EXTMOD
# ---------------------------------------------------------------------------
# Modules
PHONY += modules modules_install modules_prepare
PHONY += modules modules_install modules_sign modules_prepare
modules_install:
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst \
sign-only=$(if $(filter modules_install,$(MAKECMDGOALS)),,y)
ifeq ($(CONFIG_MODULE_SIG),y)
# modules_sign is a subset of modules_install.
# 'make modules_install modules_sign' is equivalent to 'make modules_install'.
modules_sign: modules_install
@:
else
modules_sign:
@echo >&2 '***'
@echo >&2 '*** CONFIG_MODULE_SIG is disabled. You cannot sign modules.'
@echo >&2 '***'
@false
endif
ifdef CONFIG_MODULES
@ -1953,22 +1850,9 @@ PHONY += modules_check
modules_check: $(MODORDER)
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
quiet_cmd_depmod = DEPMOD $(MODLIB)
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
$(KERNELRELEASE)
modules_install:
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
$(call cmd,depmod)
else # CONFIG_MODULES
# Modules not configured
# ---------------------------------------------------------------------------
PHONY += __external_modules_error
modules modules_install: __external_modules_error
modules:
@:
KBUILD_MODULES :=
@ -2147,6 +2031,10 @@ kernelversion:
image_name:
@echo $(KBUILD_IMAGE)
PHONY += run-command
run-command:
$(Q)$(KBUILD_RUN_COMMAND)
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
cmd_rmfiles = rm -rf $(rm-files)

View File

@ -3,6 +3,5 @@
generated-y += syscall_table.h
generic-y += agp.h
generic-y += asm-offsets.h
generic-y += export.h
generic-y += kvm_para.h
generic-y += mcs_spinlock.h

View File

@ -3,8 +3,8 @@
* arch/alpha/lib/callback_srm.S
*/
#include <linux/export.h>
#include <asm/console.h>
#include <asm/export.h>
.text
#define HWRPB_CRB_OFFSET 0xc0

View File

@ -4,7 +4,7 @@
*
* Zero an entire page.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 4
.global clear_page

View File

@ -10,7 +10,7 @@
* a successful copy). There is also some rather minor exception setup
* stuff.
*/
#include <asm/export.h>
#include <linux/export.h>
/* Allow an exception for an insn; exit if we get one. */
#define EX(x,y...) \

View File

@ -4,7 +4,7 @@
*
* Copy an entire page.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 4
.global copy_page

View File

@ -12,7 +12,7 @@
* exception setup stuff..
*/
#include <asm/export.h>
#include <linux/export.h>
/* Allow an exception for an insn; exit if we get one. */
#define EXI(x,y...) \

View File

@ -13,7 +13,7 @@
* added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
*/
#include <asm/export.h>
#include <linux/export.h>
.globl csum_ipv6_magic
.align 4
.ent csum_ipv6_magic

View File

@ -46,7 +46,7 @@
* $28 - compare status
*/
#include <asm/export.h>
#include <linux/export.h>
#define halt .long 0
/*

View File

@ -4,7 +4,7 @@
*
* Zero an entire page.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 4
.global clear_page

View File

@ -29,7 +29,7 @@
* want to leave a hole (and we also want to avoid repeating lots of work)
*/
#include <asm/export.h>
#include <linux/export.h>
/* Allow an exception for an insn; exit if we get one. */
#define EX(x,y...) \
99: x,##y; \

View File

@ -57,7 +57,7 @@
destination pages are in the dcache, but it is my guess that this is
less important than the dcache miss case. */
#include <asm/export.h>
#include <linux/export.h>
.text
.align 4
.global copy_page

View File

@ -23,7 +23,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
*/
#include <asm/export.h>
#include <linux/export.h>
/* Allow an exception for an insn; exit if we get one. */
#define EXI(x,y...) \
99: x,##y; \

View File

@ -53,7 +53,7 @@
* may cause additional delay in rare cases (load-load replay traps).
*/
#include <asm/export.h>
#include <linux/export.h>
.globl csum_ipv6_magic
.align 4
.ent csum_ipv6_magic

View File

@ -56,7 +56,7 @@
* Try not to change the actual algorithm if possible for consistency.
*/
#include <asm/export.h>
#include <linux/export.h>
#define halt .long 0
/*

View File

@ -28,7 +28,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
* Try not to change the actual algorithm if possible for consistency.
*/
#include <asm/export.h>
#include <linux/export.h>
.set noreorder
.set noat

View File

@ -20,7 +20,7 @@
* Temp usage notes:
* $1,$2, - scratch
*/
#include <asm/export.h>
#include <linux/export.h>
.set noreorder
.set noat

View File

@ -27,7 +27,7 @@
* as fixes will need to be made in multiple places. The performance gain
* is worth it.
*/
#include <asm/export.h>
#include <linux/export.h>
.set noat
.set noreorder
.text

View File

@ -20,7 +20,7 @@
* string once.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 4

View File

@ -16,7 +16,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
* Try not to change the actual algorithm if possible for consistency.
*/
#include <asm/export.h>
#include <linux/export.h>
#include <asm/regdef.h>
.set noreorder

View File

@ -18,7 +18,7 @@
* U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
*/
#include <asm/export.h>
#include <linux/export.h>
.set noreorder
.set noat

View File

@ -21,7 +21,7 @@
* Try not to change the actual algorithm if possible for consistency.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 4

View File

@ -19,7 +19,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
*/
#include <asm/export.h>
#include <linux/export.h>
#include <asm/regdef.h>
.set noreorder

View File

@ -31,7 +31,7 @@ For correctness consider that:
- only minimum number of quadwords may be accessed
- the third argument is an unsigned long
*/
#include <asm/export.h>
#include <linux/export.h>
.set noreorder
.set noat

View File

@ -7,7 +7,7 @@
* This is hand-massaged output from the original memcpy.c. We defer to
* memcpy whenever possible; the backwards copy loops are not unrolled.
*/
#include <asm/export.h>
#include <linux/export.h>
.set noat
.set noreorder
.text

View File

@ -14,7 +14,7 @@
* The scheduling comments are according to the EV5 documentation (and done by
* hand, so they might well be incorrect, please do tell me about it..)
*/
#include <asm/export.h>
#include <linux/export.h>
.set noat
.set noreorder
.text

View File

@ -5,7 +5,7 @@
*
* Append a null-terminated string from SRC to DST.
*/
#include <asm/export.h>
#include <linux/export.h>
.text

View File

@ -6,7 +6,7 @@
* Return the address of a given character within a null-terminated
* string, or null if it is not found.
*/
#include <asm/export.h>
#include <linux/export.h>
#include <asm/regdef.h>
.set noreorder

View File

@ -6,7 +6,7 @@
* Copy a null-terminated string from SRC to DST. Return a pointer
* to the null-terminator in the source.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 3

View File

@ -12,7 +12,7 @@
* do this instead of the 9 instructions that
* binary search needs).
*/
#include <asm/export.h>
#include <linux/export.h>
.set noreorder
.set noat

View File

@ -10,7 +10,7 @@
* past count, whereas libc may write to count+1. This follows the generic
* implementation in lib/string.c and is, IMHO, more sensible.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 3

View File

@ -11,7 +11,7 @@
* version has cropped that bit o' nastiness as well as assuming that
* __stxncpy is in range of a branch.
*/
#include <asm/export.h>
#include <linux/export.h>
.set noat
.set noreorder

View File

@ -6,7 +6,7 @@
* Return the address of the last occurrence of a given character
* within a null-terminated string, or null if it is not found.
*/
#include <asm/export.h>
#include <linux/export.h>
#include <asm/regdef.h>
.set noreorder

View File

@ -25,7 +25,7 @@
# along with GCC; see the file COPYING. If not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA.
#include <asm/export.h>
#include <linux/export.h>
.set noreorder
.set noat

View File

@ -1 +1,2 @@
# Help: DRAM base at 0x00000000
CONFIG_DRAM_BASE=0x00000000

View File

@ -1 +1,2 @@
# Help: DRAM base at 0xc0000000
CONFIG_DRAM_BASE=0xc0000000

View File

@ -1 +1,2 @@
# Help: DRAM base at 0xd0000000
CONFIG_DRAM_BASE=0xd0000000

View File

@ -1,2 +1,3 @@
# Help: Enable Large Physical Address Extension mode
CONFIG_ARM_LPAE=y
CONFIG_VMSPLIT_2G=y

View File

@ -1,3 +1,4 @@
# Help: Virtualization guest
#
# Base options for platforms
#

View File

@ -1,7 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
generated-y += syscall_table.h
generic-y += agp.h
generic-y += export.h
generic-y += kvm_para.h
generic-y += mcs_spinlock.h
generic-y += vtime.h

View File

@ -37,7 +37,7 @@
* pNonSys: !pSys
*/
#include <linux/export.h>
#include <linux/pgtable.h>
#include <asm/asmmacro.h>
#include <asm/cache.h>
@ -49,7 +49,6 @@
#include <asm/thread_info.h>
#include <asm/unistd.h>
#include <asm/ftrace.h>
#include <asm/export.h>
#include "minstate.h"

View File

@ -34,9 +34,9 @@
#define PSR_BITS_TO_SET \
(IA64_PSR_BN)
#include <linux/export.h>
#include <asm/processor.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
/*
* Inputs:

View File

@ -20,7 +20,7 @@
* Support for CPU Hotplug
*/
#include <linux/export.h>
#include <linux/pgtable.h>
#include <asm/asmmacro.h>
#include <asm/fpu.h>
@ -33,7 +33,6 @@
#include <asm/mca_asm.h>
#include <linux/init.h>
#include <linux/linkage.h>
#include <asm/export.h>
#ifdef CONFIG_HOTPLUG_CPU
#define SAL_PSR_BITS_TO_SET \

View File

@ -47,7 +47,7 @@
* Table is based upon EAS2.6 (Oct 1999)
*/
#include <linux/export.h>
#include <linux/pgtable.h>
#include <asm/asmmacro.h>
#include <asm/break.h>
@ -58,7 +58,6 @@
#include <asm/thread_info.h>
#include <asm/unistd.h>
#include <asm/errno.h>
#include <asm/export.h>
#if 0
# define PSR_DEFAULT_BITS psr.ac

View File

@ -13,9 +13,9 @@
* 05/24/2000 eranian Added support for physical mode static calls
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/processor.h>
#include <asm/export.h>
.data
pal_entry_point:

View File

@ -10,9 +10,9 @@
* 3/08/02 davidm Some more tweaking
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/page.h>
#include <asm/export.h>
#ifdef CONFIG_ITANIUM
# define L3_LINE_SIZE 64 // Itanium L3 line size

View File

@ -12,8 +12,8 @@
* Stephane Eranian <eranian@hpl.hp.com>
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
//
// arguments

View File

@ -15,9 +15,9 @@
*
* 4/06/01 davidm Tuned to make it perform well both for cached and uncached copies.
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/page.h>
#include <asm/export.h>
#define PIPE_DEPTH 3
#define EPI p[PIPE_DEPTH-1]

View File

@ -60,9 +60,9 @@
* to fetch the second-half of the L2 cache line into L1, and the tX words are copied in
* an order that avoids bank conflicts.
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/page.h>
#include <asm/export.h>
#define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st)

View File

@ -30,8 +30,8 @@
* - fix extraneous stop bit introduced by the EX() macro.
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
//
// Tuneable parameters

View File

@ -8,9 +8,8 @@
* 05/28/05 Zoltan Menyhart Dynamic stride size
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
/*
* flush_icache_range(start,end)

View File

@ -15,8 +15,8 @@
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
#ifdef MODULO
# define OP mod

View File

@ -15,8 +15,8 @@
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
#ifdef MODULO
# define OP mod

View File

@ -13,8 +13,8 @@
* Copyright (C) 2002, 2006 Ken Chen <kenneth.w.chen@intel.com>
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
/*
* Since we know that most likely this function is called with buf aligned

View File

@ -14,8 +14,8 @@
* Stephane Eranian <eranian@hpl.hp.com>
* David Mosberger-Tang <davidm@hpl.hp.com>
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(memcpy)

View File

@ -14,9 +14,9 @@
* Copyright (C) 2002 Intel Corp.
* Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com>
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/page.h>
#include <asm/export.h>
#define EK(y...) EX(y)

View File

@ -18,8 +18,8 @@
Since a stf.spill f0 can store 16B in one go, we use this instruction
to get peak speed when value = 0. */
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
#undef ret
#define dest in0

View File

@ -17,8 +17,8 @@
* 09/24/99 S.Eranian add speculation recovery code
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
//
//

View File

@ -17,8 +17,8 @@
* by Andreas Schwab <schwab@suse.de>).
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(__strncpy_from_user)
alloc r2=ar.pfs,3,0,0,0

View File

@ -13,8 +13,8 @@
* Copyright (C) 1999, 2001 David Mosberger-Tang <davidm@hpl.hp.com>
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(__strnlen_user)
.prologue

View File

@ -5,8 +5,8 @@
* Optimized RAID-5 checksumming functions for IA-64.
*/
#include <linux/export.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(xor_ia64_2)
.prologue

View File

@ -1 +1,2 @@
# Help: Disable -Werror
CONFIG_PPC_DISABLE_WERROR=y

View File

@ -1,3 +1,5 @@
# Help: Common security options for PowerPC builds
# This is the equivalent of booting with lockdown=integrity
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
@ -12,4 +14,4 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# UBSAN bounds checking is very cheap and good for hardening
CONFIG_UBSAN=y
# CONFIG_UBSAN_MISC is not set
# CONFIG_UBSAN_MISC is not set

View File

@ -1,3 +1,4 @@
# Help: Build a 32-bit image
CONFIG_ARCH_RV32I=y
CONFIG_32BIT=y
# CONFIG_PORTABLE is not set

View File

@ -1,2 +1,3 @@
# Help: Build a 64-bit image
CONFIG_ARCH_RV64I=y
CONFIG_64BIT=y

View File

@ -1 +1,2 @@
# Help: Enable BTF debug info
CONFIG_DEBUG_INFO_BTF=y

View File

@ -1,3 +1,4 @@
# Help: Enable KASan for debugging
CONFIG_KASAN=y
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_VMALLOC=y

View File

@ -2,6 +2,5 @@
generated-y += syscall_table_32.h
generated-y += syscall_table_64.h
generic-y += agp.h
generic-y += export.h
generic-y += kvm_para.h
generic-y += mcs_spinlock.h

View File

@ -8,6 +8,7 @@
* Copyright (C) 1997 Anton Blanchard (anton@progsoc.uts.edu.au)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <linux/errno.h>
#include <linux/pgtable.h>
@ -30,7 +31,6 @@
#include <asm/unistd.h>
#include <asm/asmmacro.h>
#include <asm/export.h>
#define curptr g6

View File

@ -11,6 +11,7 @@
* CompactPCI platform by Eric Brower, 1999.
*/
#include <linux/export.h>
#include <linux/version.h>
#include <linux/init.h>
@ -25,7 +26,6 @@
#include <asm/thread_info.h> /* TI_UWINMASK */
#include <asm/errno.h>
#include <asm/pgtable.h> /* PGDIR_SHIFT */
#include <asm/export.h>
.data
/* The following are used with the prom_vector node-ops to figure out

View File

@ -9,6 +9,7 @@
#include <linux/version.h>
#include <linux/errno.h>
#include <linux/export.h>
#include <linux/threads.h>
#include <linux/init.h>
#include <linux/linkage.h>
@ -33,7 +34,6 @@
#include <asm/estate.h>
#include <asm/sfafsr.h>
#include <asm/unistd.h>
#include <asm/export.h>
/* This section from from _start to sparc64_boot_end should fit into
* 0x0000000000404000 to 0x0000000000408000.

View File

@ -6,10 +6,10 @@
*/
#ifdef __KERNEL__
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/visasm.h>
#include <asm/asi.h>
#include <asm/export.h>
#define GLOBAL_SPARE g7
#else
#define GLOBAL_SPARE g5

View File

@ -7,6 +7,7 @@
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/asi.h>
@ -14,7 +15,6 @@
#include <asm/ptrace.h>
#include <asm/visasm.h>
#include <asm/thread_info.h>
#include <asm/export.h>
/* On entry: %o5=current FPRS value, %g7 is callers address */
/* May clobber %o5, %g1, %g2, %g3, %g7, %icc, %xcc */

View File

@ -6,8 +6,8 @@
* Copyright (C) 1999 David S. Miller (davem@redhat.com)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.text
ENTRY(__ashldi3)

View File

@ -6,8 +6,8 @@
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.text
ENTRY(__ashrdi3)

View File

@ -4,10 +4,10 @@
* Copyright (C) 1999, 2007 2012 David S. Miller (davem@davemloft.net)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/asi.h>
#include <asm/backoff.h>
#include <asm/export.h>
.text

View File

@ -4,10 +4,10 @@
* Copyright (C) 2000, 2007 David S. Miller (davem@davemloft.net)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/asi.h>
#include <asm/backoff.h>
#include <asm/export.h>
.text

View File

@ -5,9 +5,9 @@
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/page.h>
#include <asm/export.h>
/* Zero out 64 bytes of memory at (buf + offset).
* Assumes %g1 contains zero.

View File

@ -5,8 +5,8 @@
* Copyright (C) 2005 David S. Miller <davem@davemloft.net>
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.text

View File

@ -14,8 +14,8 @@
* BSD4.4 portable checksum routine
*/
#include <linux/export.h>
#include <asm/errno.h>
#include <asm/export.h>
#define CSUM_BIGCHUNK(buf, offset, sum, t0, t1, t2, t3, t4, t5) \
ldd [buf + offset + 0x00], t0; \

View File

@ -14,7 +14,7 @@
* BSD4.4 portable checksum routine
*/
#include <asm/export.h>
#include <linux/export.h>
.text
csum_partial_fix_alignment:

View File

@ -5,13 +5,13 @@
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
*/
#include <linux/export.h>
#include <linux/pgtable.h>
#include <asm/visasm.h>
#include <asm/thread_info.h>
#include <asm/page.h>
#include <asm/spitfire.h>
#include <asm/head.h>
#include <asm/export.h>
/* What we used to do was lock a TLB entry into a specific
* TLB slot, clear the page with interrupts disabled, then

View File

@ -4,9 +4,9 @@
* Copyright (C) 1999, 2000, 2004 David S. Miller (davem@redhat.com)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/asi.h>
#include <asm/export.h>
#define XCC xcc

View File

@ -5,13 +5,13 @@
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
*/
#include <linux/export.h>
#include <asm/visasm.h>
#include <asm/thread_info.h>
#include <asm/page.h>
#include <linux/pgtable.h>
#include <asm/spitfire.h>
#include <asm/head.h>
#include <asm/export.h>
/* What we used to do was lock a TLB entry into a specific
* TLB slot, clear the page with interrupts disabled, then

View File

@ -12,11 +12,11 @@
* Returns 0 if successful, otherwise count of bytes not copied yet
*/
#include <linux/export.h>
#include <asm/ptrace.h>
#include <asm/asmmacro.h>
#include <asm/page.h>
#include <asm/thread_info.h>
#include <asm/export.h>
/* Work around cpp -rob */
#define ALLOC #alloc

View File

@ -4,7 +4,7 @@
* Copyright (C) 2005 David S. Miller <davem@davemloft.net>
*/
#include <asm/export.h>
#include <linux/export.h>
#ifdef __KERNEL__
#define GLOBAL_SPARE %g7

View File

@ -5,7 +5,7 @@ This file is part of GNU CC.
*/
#include <asm/export.h>
#include <linux/export.h>
.text
.align 4
.globl __divdi3

View File

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.register %g2,#scratch

View File

@ -5,8 +5,8 @@
* and onward.
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.text
.register %g2, #scratch

View File

@ -5,8 +5,8 @@
* and onward.
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.text
.register %g2, #scratch

View File

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.text
.align 32

View File

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
.text
ENTRY(ip_fast_csum) /* %o0 = iph, %o1 = ihl */

View File

@ -7,11 +7,11 @@
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
*/
#include <linux/export.h>
#include <asm/ptrace.h>
#include <asm/psr.h>
#include <asm/smp.h>
#include <asm/spinlock.h>
#include <asm/export.h>
.text
.align 4

View File

@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
ENTRY(__lshrdi3)
cmp %o2, 0

View File

@ -6,8 +6,8 @@
* This can also be tweaked for kernel stack overflow detection.
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/export.h>
/*
* This is the main variant and is called by C code. GCC's -pg option

View File

@ -5,9 +5,9 @@
* Copyright (C) 2000, 2008 David S. Miller (davem@davemloft.net)
*/
#include <linux/export.h>
#include <linux/linkage.h>
#include <asm/asm.h>
#include <asm/export.h>
.text
ENTRY(memcmp)

Some files were not shown because too many files have changed in this diff Show More