mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
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:
commit
61401a8724
2
.gitignore
vendored
2
.gitignore
vendored
@ -74,7 +74,7 @@ modules.order
|
||||
#
|
||||
# RPM spec file (make rpm-pkg)
|
||||
#
|
||||
/*.spec
|
||||
/kernel.spec
|
||||
/rpmbuild/
|
||||
|
||||
#
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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
172
Makefile
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Zero an entire page.
|
||||
*/
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
.text
|
||||
.align 4
|
||||
.global clear_page
|
||||
|
@ -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...) \
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Copy an entire page.
|
||||
*/
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
.text
|
||||
.align 4
|
||||
.global copy_page
|
||||
|
@ -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...) \
|
||||
|
@ -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
|
||||
|
@ -46,7 +46,7 @@
|
||||
* $28 - compare status
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
#define halt .long 0
|
||||
|
||||
/*
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Zero an entire page.
|
||||
*/
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
.text
|
||||
.align 4
|
||||
.global clear_page
|
||||
|
@ -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; \
|
||||
|
@ -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
|
||||
|
@ -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; \
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
/*
|
||||
|
@ -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
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
* Temp usage notes:
|
||||
* $1,$2, - scratch
|
||||
*/
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
.set noreorder
|
||||
.set noat
|
||||
|
||||
|
@ -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
|
||||
|
@ -20,7 +20,7 @@
|
||||
* string once.
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
.text
|
||||
|
||||
.align 4
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -5,7 +5,7 @@
|
||||
*
|
||||
* Append a null-terminated string from SRC to DST.
|
||||
*/
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
|
||||
.text
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1 +1,2 @@
|
||||
# Help: DRAM base at 0x00000000
|
||||
CONFIG_DRAM_BASE=0x00000000
|
||||
|
@ -1 +1,2 @@
|
||||
# Help: DRAM base at 0xc0000000
|
||||
CONFIG_DRAM_BASE=0xc0000000
|
||||
|
@ -1 +1,2 @@
|
||||
# Help: DRAM base at 0xd0000000
|
||||
CONFIG_DRAM_BASE=0xd0000000
|
||||
|
@ -1,2 +1,3 @@
|
||||
# Help: Enable Large Physical Address Extension mode
|
||||
CONFIG_ARM_LPAE=y
|
||||
CONFIG_VMSPLIT_2G=y
|
||||
|
@ -1,3 +1,4 @@
|
||||
# Help: Virtualization guest
|
||||
#
|
||||
# Base options for platforms
|
||||
#
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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 \
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -12,8 +12,8 @@
|
||||
* Stephane Eranian <eranian@hpl.hp.com>
|
||||
*/
|
||||
|
||||
#include <linux/export.h>
|
||||
#include <asm/asmmacro.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
//
|
||||
// arguments
|
||||
|
@ -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]
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
||||
//
|
||||
//
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1 +1,2 @@
|
||||
# Help: Disable -Werror
|
||||
CONFIG_PPC_DISABLE_WERROR=y
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,4 @@
|
||||
# Help: Build a 32-bit image
|
||||
CONFIG_ARCH_RV32I=y
|
||||
CONFIG_32BIT=y
|
||||
# CONFIG_PORTABLE is not set
|
||||
|
@ -1,2 +1,3 @@
|
||||
# Help: Build a 64-bit image
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_64BIT=y
|
||||
|
@ -1 +1,2 @@
|
||||
# Help: Enable BTF debug info
|
||||
CONFIG_DEBUG_INFO_BTF=y
|
||||
|
@ -1,3 +1,4 @@
|
||||
# Help: Enable KASan for debugging
|
||||
CONFIG_KASAN=y
|
||||
CONFIG_KASAN_INLINE=y
|
||||
CONFIG_KASAN_VMALLOC=y
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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; \
|
||||
|
@ -14,7 +14,7 @@
|
||||
* BSD4.4 portable checksum routine
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
.text
|
||||
|
||||
csum_partial_fix_alignment:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -5,7 +5,7 @@ This file is part of GNU CC.
|
||||
|
||||
*/
|
||||
|
||||
#include <asm/export.h>
|
||||
#include <linux/export.h>
|
||||
.text
|
||||
.align 4
|
||||
.globl __divdi3
|
||||
|
@ -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
|
||||
|
||||
|
@ -5,8 +5,8 @@
|
||||
* and onward.
|
||||
*/
|
||||
|
||||
#include <linux/export.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
.text
|
||||
.register %g2, #scratch
|
||||
|
@ -5,8 +5,8 @@
|
||||
* and onward.
|
||||
*/
|
||||
|
||||
#include <linux/export.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <asm/export.h>
|
||||
|
||||
.text
|
||||
.register %g2, #scratch
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user