Commit 61401a87 authored by Linus Torvalds's avatar Linus Torvalds

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>
  ...
parents 5eea5820 a3b7039b
...@@ -74,7 +74,7 @@ modules.order ...@@ -74,7 +74,7 @@ modules.order
# #
# RPM spec file (make rpm-pkg) # RPM spec file (make rpm-pkg)
# #
/*.spec /kernel.spec
/rpmbuild/ /rpmbuild/
# #
......
...@@ -56,6 +56,15 @@ KCONFIG_OVERWRITECONFIG ...@@ -56,6 +56,15 @@ KCONFIG_OVERWRITECONFIG
If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
break symlinks when .config is a symlink to somewhere else. 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_` `CONFIG_`
--------- ---------
If you set `CONFIG_` in the environment, Kconfig will prefix all symbols If you set `CONFIG_` in the environment, Kconfig will prefix all symbols
...@@ -212,6 +221,10 @@ Searching in menuconfig: ...@@ -212,6 +221,10 @@ Searching in menuconfig:
first (and in alphabetical order), then come all other symbols, first (and in alphabetical order), then come all other symbols,
sorted in alphabetical order. 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' User interface options for 'menuconfig'
...@@ -264,6 +277,10 @@ Searching in nconfig: ...@@ -264,6 +277,10 @@ Searching in nconfig:
F8 (SymSearch) searches the configuration symbols for the F8 (SymSearch) searches the configuration symbols for the
given string or regular expression (regex). 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 NCONFIG_MODE
------------ ------------
This mode shows all sub-menus in one large tree. 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 ...@@ -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 that supports C and the GNU C extensions required by the kernel, and is
pronounced "klang," not "see-lang." 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. ::
make CC=clang defconfig
make CC=clang
Cross Compiling Invoke ``make`` via::
---------------
A single Clang compiler binary will typically contain all supported backends, make LLVM=1
which can help simplify cross compiling. ::
make ARCH=arm64 CC=clang CROSS_COMPILE=aarch64-linux-gnu-
``CROSS_COMPILE`` is not used to prefix the Clang compiler binary, instead to compile for the host target. For cross compiling::
``CROSS_COMPILE`` is used to set a command line flag: ``--target=<triple>``. For
example: ::
clang --target=aarch64-linux-gnu foo.c make LLVM=1 ARCH=arm64
LLVM Utilities The LLVM= argument
-------------- ------------------
LLVM has substitutes for GNU binutils utilities. They can be enabled individually. LLVM has substitutes for GNU binutils utilities. They can be enabled
The full list of supported make variables:: individually. The full list of supported make variables::
make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \ make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \ OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld
To simplify the above command, Kbuild supports the ``LLVM`` variable:: ``LLVM=1`` expands to the above.
make LLVM=1
If your LLVM tools are not available in your PATH, you can supply their If your LLVM tools are not available in your PATH, you can supply their
location using the LLVM variable with a trailing slash:: location using the LLVM variable with a trailing slash::
make LLVM=/path/to/llvm/ 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 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 explicit version rather than the unsuffixed executables like ``LLVM=1``, you
...@@ -78,31 +66,72 @@ can pass the suffix using the ``LLVM`` variable:: ...@@ -78,31 +66,72 @@ can pass the suffix using the ``LLVM`` variable::
which will use ``clang-14``, ``ld.lld-14``, etc. 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=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 ``LLVM=1``. If you only wish to use certain LLVM utilities, use their
make variables. respective make variables.
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``.
The integrated assembler is enabled by default. You can pass ``LLVM_IAS=0`` to Cross Compiling
disable it. ---------------
Omitting CROSS_COMPILE 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::
make LLVM=1 LLVM_IAS=0
``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::
If ``CROSS_COMPILE`` is not specified, the ``--target=<triple>`` is inferred make LLVM=1 ARCH=arm LLVM_IAS=0 CROSS_COMPILE=arm-linux-gnueabi-
from ``ARCH``.
That means if you use only LLVM tools, ``CROSS_COMPILE`` becomes unnecessary.
For example, to cross-compile the arm64 kernel:: Ccache
------
make ARCH=arm64 LLVM=1 ``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):
If ``LLVM_IAS=0`` is specified, ``CROSS_COMPILE`` is also used to derive KBUILD_BUILD_TIMESTAMP='' make LLVM=1 CC="ccache clang"
``--prefix=<path>`` to search for the GNU assembler and linker. ::
make ARCH=arm64 LLVM=1 LLVM_IAS=0 CROSS_COMPILE=aarch64-linux-gnu- .. _KBUILD_BUILD_TIMESTAMP: kbuild.html#kbuild-build-timestamp
.. _Reproducible_builds: reproducible-builds.html#timestamps
Supported Architectures Supported Architectures
----------------------- -----------------------
...@@ -135,14 +164,17 @@ yet. Bug reports are always welcome at the issue tracker below! ...@@ -135,14 +164,17 @@ yet. Bug reports are always welcome at the issue tracker below!
* - hexagon * - hexagon
- Maintained - Maintained
- ``LLVM=1`` - ``LLVM=1``
* - loongarch
- Maintained
- ``LLVM=1``
* - mips * - mips
- Maintained - Maintained
- ``LLVM=1`` - ``LLVM=1``
* - powerpc * - powerpc
- Maintained - Maintained
- ``CC=clang`` - ``LLVM=1``
* - riscv * - riscv
- Maintained - Supported
- ``LLVM=1`` - ``LLVM=1``
* - s390 * - s390
- Maintained - Maintained
...@@ -171,7 +203,11 @@ Getting Help ...@@ -171,7 +203,11 @@ Getting Help
Getting LLVM 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 Below are links that may be useful for building LLVM from source or procuring
it through a distribution's package manager. it through a distribution's package manager.
......
...@@ -11382,6 +11382,7 @@ F: scripts/dummy-tools/ ...@@ -11382,6 +11382,7 @@ F: scripts/dummy-tools/
F: scripts/mk* F: scripts/mk*
F: scripts/mod/ F: scripts/mod/
F: scripts/package/ F: scripts/package/
F: usr/
KERNEL HARDENING (not covered by other areas) KERNEL HARDENING (not covered by other areas)
M: Kees Cook <keescook@chromium.org> M: Kees Cook <keescook@chromium.org>
......
This diff is collapsed.
...@@ -3,6 +3,5 @@ ...@@ -3,6 +3,5 @@
generated-y += syscall_table.h generated-y += syscall_table.h
generic-y += agp.h generic-y += agp.h
generic-y += asm-offsets.h generic-y += asm-offsets.h
generic-y += export.h
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += mcs_spinlock.h generic-y += mcs_spinlock.h
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
* arch/alpha/lib/callback_srm.S * arch/alpha/lib/callback_srm.S
*/ */
#include <linux/export.h>
#include <asm/console.h> #include <asm/console.h>
#include <asm/export.h>
.text .text
#define HWRPB_CRB_OFFSET 0xc0 #define HWRPB_CRB_OFFSET 0xc0
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* Zero an entire page. * Zero an entire page.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 4 .align 4
.global clear_page .global clear_page
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* a successful copy). There is also some rather minor exception setup * a successful copy). There is also some rather minor exception setup
* stuff. * stuff.
*/ */
#include <asm/export.h> #include <linux/export.h>
/* Allow an exception for an insn; exit if we get one. */ /* Allow an exception for an insn; exit if we get one. */
#define EX(x,y...) \ #define EX(x,y...) \
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* Copy an entire page. * Copy an entire page.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 4 .align 4
.global copy_page .global copy_page
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* exception setup stuff.. * exception setup stuff..
*/ */
#include <asm/export.h> #include <linux/export.h>
/* Allow an exception for an insn; exit if we get one. */ /* Allow an exception for an insn; exit if we get one. */
#define EXI(x,y...) \ #define EXI(x,y...) \
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
* added by Ivan Kokshaysky <ink@jurassic.park.msu.ru> * added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
*/ */
#include <asm/export.h> #include <linux/export.h>
.globl csum_ipv6_magic .globl csum_ipv6_magic
.align 4 .align 4
.ent csum_ipv6_magic .ent csum_ipv6_magic
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
* $28 - compare status * $28 - compare status
*/ */
#include <asm/export.h> #include <linux/export.h>
#define halt .long 0 #define halt .long 0
/* /*
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* *
* Zero an entire page. * Zero an entire page.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 4 .align 4
.global clear_page .global clear_page
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
* want to leave a hole (and we also want to avoid repeating lots of work) * 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. */ /* Allow an exception for an insn; exit if we get one. */
#define EX(x,y...) \ #define EX(x,y...) \
99: x,##y; \ 99: x,##y; \
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
destination pages are in the dcache, but it is my guess that this is destination pages are in the dcache, but it is my guess that this is
less important than the dcache miss case. */ less important than the dcache miss case. */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 4 .align 4
.global copy_page .global copy_page
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1 * 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. */ /* Allow an exception for an insn; exit if we get one. */
#define EXI(x,y...) \ #define EXI(x,y...) \
99: x,##y; \ 99: x,##y; \
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
* may cause additional delay in rare cases (load-load replay traps). * may cause additional delay in rare cases (load-load replay traps).
*/ */
#include <asm/export.h> #include <linux/export.h>
.globl csum_ipv6_magic .globl csum_ipv6_magic
.align 4 .align 4
.ent csum_ipv6_magic .ent csum_ipv6_magic
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
* Try not to change the actual algorithm if possible for consistency. * Try not to change the actual algorithm if possible for consistency.
*/ */
#include <asm/export.h> #include <linux/export.h>
#define halt .long 0 #define halt .long 0
/* /*
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1 * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
* Try not to change the actual algorithm if possible for consistency. * Try not to change the actual algorithm if possible for consistency.
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noreorder .set noreorder
.set noat .set noat
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
* Temp usage notes: * Temp usage notes:
* $1,$2, - scratch * $1,$2, - scratch
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noreorder .set noreorder
.set noat .set noat
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
* as fixes will need to be made in multiple places. The performance gain * as fixes will need to be made in multiple places. The performance gain
* is worth it. * is worth it.
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noat .set noat
.set noreorder .set noreorder
.text .text
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
* string once. * string once.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 4 .align 4
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1 * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
* Try not to change the actual algorithm if possible for consistency. * Try not to change the actual algorithm if possible for consistency.
*/ */
#include <asm/export.h> #include <linux/export.h>
#include <asm/regdef.h> #include <asm/regdef.h>
.set noreorder .set noreorder
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
* U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1 * U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1 * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noreorder .set noreorder
.set noat .set noat
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
* Try not to change the actual algorithm if possible for consistency. * Try not to change the actual algorithm if possible for consistency.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 4 .align 4
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1 * L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
*/ */
#include <asm/export.h> #include <linux/export.h>
#include <asm/regdef.h> #include <asm/regdef.h>
.set noreorder .set noreorder
......
...@@ -31,7 +31,7 @@ For correctness consider that: ...@@ -31,7 +31,7 @@ For correctness consider that:
- only minimum number of quadwords may be accessed - only minimum number of quadwords may be accessed
- the third argument is an unsigned long - the third argument is an unsigned long
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noreorder .set noreorder
.set noat .set noat
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* This is hand-massaged output from the original memcpy.c. We defer to * This is hand-massaged output from the original memcpy.c. We defer to
* memcpy whenever possible; the backwards copy loops are not unrolled. * memcpy whenever possible; the backwards copy loops are not unrolled.
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noat .set noat
.set noreorder .set noreorder
.text .text
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
* The scheduling comments are according to the EV5 documentation (and done by * 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..) * hand, so they might well be incorrect, please do tell me about it..)
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noat .set noat
.set noreorder .set noreorder
.text .text
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
* *
* Append a null-terminated string from SRC to DST. * Append a null-terminated string from SRC to DST.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Return the address of a given character within a null-terminated * Return the address of a given character within a null-terminated
* string, or null if it is not found. * string, or null if it is not found.
*/ */
#include <asm/export.h> #include <linux/export.h>
#include <asm/regdef.h> #include <asm/regdef.h>
.set noreorder .set noreorder
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Copy a null-terminated string from SRC to DST. Return a pointer * Copy a null-terminated string from SRC to DST. Return a pointer
* to the null-terminator in the source. * to the null-terminator in the source.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 3 .align 3
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
* do this instead of the 9 instructions that * do this instead of the 9 instructions that
* binary search needs). * binary search needs).
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noreorder .set noreorder
.set noat .set noat
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* past count, whereas libc may write to count+1. This follows the generic * past count, whereas libc may write to count+1. This follows the generic
* implementation in lib/string.c and is, IMHO, more sensible. * implementation in lib/string.c and is, IMHO, more sensible.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 3 .align 3
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* version has cropped that bit o' nastiness as well as assuming that * version has cropped that bit o' nastiness as well as assuming that
* __stxncpy is in range of a branch. * __stxncpy is in range of a branch.
*/ */
#include <asm/export.h> #include <linux/export.h>
.set noat .set noat
.set noreorder .set noreorder
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
* Return the address of the last occurrence of a given character * Return the address of the last occurrence of a given character
* within a null-terminated string, or null if it is not found. * within a null-terminated string, or null if it is not found.
*/ */
#include <asm/export.h> #include <linux/export.h>
#include <asm/regdef.h> #include <asm/regdef.h>
.set noreorder .set noreorder
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
# along with GCC; see the file COPYING. If not, write to the # along with GCC; see the file COPYING. If not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, # Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
# MA 02111-1307, USA. # MA 02111-1307, USA.
#include <asm/export.h> #include <linux/export.h>
.set noreorder .set noreorder
.set noat .set noat
......
# Help: DRAM base at 0x00000000
CONFIG_DRAM_BASE=0x00000000 CONFIG_DRAM_BASE=0x00000000
# Help: DRAM base at 0xc0000000
CONFIG_DRAM_BASE=0xc0000000 CONFIG_DRAM_BASE=0xc0000000
# Help: DRAM base at 0xd0000000
CONFIG_DRAM_BASE=0xd0000000 CONFIG_DRAM_BASE=0xd0000000
# Help: Enable Large Physical Address Extension mode
CONFIG_ARM_LPAE=y CONFIG_ARM_LPAE=y
CONFIG_VMSPLIT_2G=y CONFIG_VMSPLIT_2G=y
# Help: Virtualization guest
# #
# Base options for platforms # Base options for platforms
# #
......
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
generated-y += syscall_table.h generated-y += syscall_table.h
generic-y += agp.h generic-y += agp.h
generic-y += export.h
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += mcs_spinlock.h generic-y += mcs_spinlock.h
generic-y += vtime.h generic-y += vtime.h
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
* pNonSys: !pSys * pNonSys: !pSys
*/ */
#include <linux/export.h>
#include <linux/pgtable.h> #include <linux/pgtable.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/cache.h> #include <asm/cache.h>
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/unistd.h> #include <asm/unistd.h>
#include <asm/ftrace.h> #include <asm/ftrace.h>
#include <asm/export.h>
#include "minstate.h" #include "minstate.h"
......
...@@ -34,9 +34,9 @@ ...@@ -34,9 +34,9 @@
#define PSR_BITS_TO_SET \ #define PSR_BITS_TO_SET \
(IA64_PSR_BN) (IA64_PSR_BN)
#include <linux/export.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
/* /*
* Inputs: * Inputs:
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
* Support for CPU Hotplug * Support for CPU Hotplug
*/ */
#include <linux/export.h>
#include <linux/pgtable.h> #include <linux/pgtable.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/fpu.h> #include <asm/fpu.h>
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include <asm/mca_asm.h> #include <asm/mca_asm.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
#define SAL_PSR_BITS_TO_SET \ #define SAL_PSR_BITS_TO_SET \
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
* Table is based upon EAS2.6 (Oct 1999) * Table is based upon EAS2.6 (Oct 1999)
*/ */
#include <linux/export.h>
#include <linux/pgtable.h> #include <linux/pgtable.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/break.h> #include <asm/break.h>
...@@ -58,7 +58,6 @@ ...@@ -58,7 +58,6 @@
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/unistd.h> #include <asm/unistd.h>
#include <asm/errno.h> #include <asm/errno.h>
#include <asm/export.h>
#if 0 #if 0
# define PSR_DEFAULT_BITS psr.ac # define PSR_DEFAULT_BITS psr.ac
......
...@@ -13,9 +13,9 @@ ...@@ -13,9 +13,9 @@
* 05/24/2000 eranian Added support for physical mode static calls * 05/24/2000 eranian Added support for physical mode static calls
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/export.h>
.data .data
pal_entry_point: pal_entry_point:
......
...@@ -10,9 +10,9 @@ ...@@ -10,9 +10,9 @@
* 3/08/02 davidm Some more tweaking * 3/08/02 davidm Some more tweaking
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/export.h>
#ifdef CONFIG_ITANIUM #ifdef CONFIG_ITANIUM
# define L3_LINE_SIZE 64 // Itanium L3 line size # define L3_LINE_SIZE 64 // Itanium L3 line size
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
* Stephane Eranian <eranian@hpl.hp.com> * Stephane Eranian <eranian@hpl.hp.com>
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
// //
// arguments // arguments
......
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
* *
* 4/06/01 davidm Tuned to make it perform well both for cached and uncached copies. * 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/asmmacro.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/export.h>
#define PIPE_DEPTH 3 #define PIPE_DEPTH 3
#define EPI p[PIPE_DEPTH-1] #define EPI p[PIPE_DEPTH-1]
......
...@@ -60,9 +60,9 @@ ...@@ -60,9 +60,9 @@
* to fetch the second-half of the L2 cache line into L1, and the tX words are copied in * 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. * an order that avoids bank conflicts.
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/export.h>
#define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st) #define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st)
......
...@@ -30,8 +30,8 @@ ...@@ -30,8 +30,8 @@
* - fix extraneous stop bit introduced by the EX() macro. * - fix extraneous stop bit introduced by the EX() macro.
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
// //
// Tuneable parameters // Tuneable parameters
......
...@@ -8,9 +8,8 @@ ...@@ -8,9 +8,8 @@
* 05/28/05 Zoltan Menyhart Dynamic stride size * 05/28/05 Zoltan Menyhart Dynamic stride size
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
/* /*
* flush_icache_range(start,end) * flush_icache_range(start,end)
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions) * (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
#ifdef MODULO #ifdef MODULO
# define OP mod # define OP mod
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions) * (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
#ifdef MODULO #ifdef MODULO
# define OP mod # define OP mod
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
* Copyright (C) 2002, 2006 Ken Chen <kenneth.w.chen@intel.com> * Copyright (C) 2002, 2006 Ken Chen <kenneth.w.chen@intel.com>
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
/* /*
* Since we know that most likely this function is called with buf aligned * Since we know that most likely this function is called with buf aligned
......
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
* Stephane Eranian <eranian@hpl.hp.com> * Stephane Eranian <eranian@hpl.hp.com>
* David Mosberger-Tang <davidm@hpl.hp.com> * David Mosberger-Tang <davidm@hpl.hp.com>
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(memcpy) GLOBAL_ENTRY(memcpy)
......
...@@ -14,9 +14,9 @@ ...@@ -14,9 +14,9 @@
* Copyright (C) 2002 Intel Corp. * Copyright (C) 2002 Intel Corp.
* Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com> * Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com>
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/export.h>
#define EK(y...) EX(y) #define EK(y...) EX(y)
......
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
Since a stf.spill f0 can store 16B in one go, we use this instruction Since a stf.spill f0 can store 16B in one go, we use this instruction
to get peak speed when value = 0. */ to get peak speed when value = 0. */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
#undef ret #undef ret
#define dest in0 #define dest in0
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
* 09/24/99 S.Eranian add speculation recovery code * 09/24/99 S.Eranian add speculation recovery code
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
// //
// //
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
* by Andreas Schwab <schwab@suse.de>). * by Andreas Schwab <schwab@suse.de>).
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(__strncpy_from_user) GLOBAL_ENTRY(__strncpy_from_user)
alloc r2=ar.pfs,3,0,0,0 alloc r2=ar.pfs,3,0,0,0
......
...@@ -13,8 +13,8 @@ ...@@ -13,8 +13,8 @@
* Copyright (C) 1999, 2001 David Mosberger-Tang <davidm@hpl.hp.com> * Copyright (C) 1999, 2001 David Mosberger-Tang <davidm@hpl.hp.com>
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(__strnlen_user) GLOBAL_ENTRY(__strnlen_user)
.prologue .prologue
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* Optimized RAID-5 checksumming functions for IA-64. * Optimized RAID-5 checksumming functions for IA-64.
*/ */
#include <linux/export.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
GLOBAL_ENTRY(xor_ia64_2) GLOBAL_ENTRY(xor_ia64_2)
.prologue .prologue
......
# Help: Disable -Werror
CONFIG_PPC_DISABLE_WERROR=y CONFIG_PPC_DISABLE_WERROR=y
# Help: Common security options for PowerPC builds
# This is the equivalent of booting with lockdown=integrity # This is the equivalent of booting with lockdown=integrity
CONFIG_SECURITY=y CONFIG_SECURITY=y
CONFIG_SECURITYFS=y CONFIG_SECURITYFS=y
...@@ -12,4 +14,4 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y ...@@ -12,4 +14,4 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
# UBSAN bounds checking is very cheap and good for hardening # UBSAN bounds checking is very cheap and good for hardening
CONFIG_UBSAN=y CONFIG_UBSAN=y
# CONFIG_UBSAN_MISC is not set # CONFIG_UBSAN_MISC is not set
\ No newline at end of file
# Help: Build a 32-bit image
CONFIG_ARCH_RV32I=y CONFIG_ARCH_RV32I=y
CONFIG_32BIT=y CONFIG_32BIT=y
# CONFIG_PORTABLE is not set # CONFIG_PORTABLE is not set
......
# Help: Build a 64-bit image
CONFIG_ARCH_RV64I=y CONFIG_ARCH_RV64I=y
CONFIG_64BIT=y CONFIG_64BIT=y
# Help: Enable BTF debug info
CONFIG_DEBUG_INFO_BTF=y CONFIG_DEBUG_INFO_BTF=y
# Help: Enable KASan for debugging
CONFIG_KASAN=y CONFIG_KASAN=y
CONFIG_KASAN_INLINE=y CONFIG_KASAN_INLINE=y
CONFIG_KASAN_VMALLOC=y CONFIG_KASAN_VMALLOC=y
...@@ -2,6 +2,5 @@ ...@@ -2,6 +2,5 @@
generated-y += syscall_table_32.h generated-y += syscall_table_32.h
generated-y += syscall_table_64.h generated-y += syscall_table_64.h
generic-y += agp.h generic-y += agp.h
generic-y += export.h
generic-y += kvm_para.h generic-y += kvm_para.h
generic-y += mcs_spinlock.h generic-y += mcs_spinlock.h
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
* Copyright (C) 1997 Anton Blanchard (anton@progsoc.uts.edu.au) * Copyright (C) 1997 Anton Blanchard (anton@progsoc.uts.edu.au)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/pgtable.h> #include <linux/pgtable.h>
...@@ -30,7 +31,6 @@ ...@@ -30,7 +31,6 @@
#include <asm/unistd.h> #include <asm/unistd.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/export.h>
#define curptr g6 #define curptr g6
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
* CompactPCI platform by Eric Brower, 1999. * CompactPCI platform by Eric Brower, 1999.
*/ */
#include <linux/export.h>
#include <linux/version.h> #include <linux/version.h>
#include <linux/init.h> #include <linux/init.h>
...@@ -25,7 +26,6 @@ ...@@ -25,7 +26,6 @@
#include <asm/thread_info.h> /* TI_UWINMASK */ #include <asm/thread_info.h> /* TI_UWINMASK */
#include <asm/errno.h> #include <asm/errno.h>
#include <asm/pgtable.h> /* PGDIR_SHIFT */ #include <asm/pgtable.h> /* PGDIR_SHIFT */
#include <asm/export.h>
.data .data
/* The following are used with the prom_vector node-ops to figure out /* The following are used with the prom_vector node-ops to figure out
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#include <linux/version.h> #include <linux/version.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/export.h>
#include <linux/threads.h> #include <linux/threads.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/linkage.h> #include <linux/linkage.h>
...@@ -33,7 +34,6 @@ ...@@ -33,7 +34,6 @@
#include <asm/estate.h> #include <asm/estate.h>
#include <asm/sfafsr.h> #include <asm/sfafsr.h>
#include <asm/unistd.h> #include <asm/unistd.h>
#include <asm/export.h>
/* This section from from _start to sparc64_boot_end should fit into /* This section from from _start to sparc64_boot_end should fit into
* 0x0000000000404000 to 0x0000000000408000. * 0x0000000000404000 to 0x0000000000408000.
......
...@@ -6,10 +6,10 @@ ...@@ -6,10 +6,10 @@
*/ */
#ifdef __KERNEL__ #ifdef __KERNEL__
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/visasm.h> #include <asm/visasm.h>
#include <asm/asi.h> #include <asm/asi.h>
#include <asm/export.h>
#define GLOBAL_SPARE g7 #define GLOBAL_SPARE g7
#else #else
#define GLOBAL_SPARE g5 #define GLOBAL_SPARE g5
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) * Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/asi.h> #include <asm/asi.h>
...@@ -14,7 +15,6 @@ ...@@ -14,7 +15,6 @@
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/visasm.h> #include <asm/visasm.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/export.h>
/* On entry: %o5=current FPRS value, %g7 is callers address */ /* On entry: %o5=current FPRS value, %g7 is callers address */
/* May clobber %o5, %g1, %g2, %g3, %g7, %icc, %xcc */ /* May clobber %o5, %g1, %g2, %g3, %g7, %icc, %xcc */
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
* Copyright (C) 1999 David S. Miller (davem@redhat.com) * Copyright (C) 1999 David S. Miller (davem@redhat.com)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.text .text
ENTRY(__ashldi3) ENTRY(__ashldi3)
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.text .text
ENTRY(__ashrdi3) ENTRY(__ashrdi3)
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
* Copyright (C) 1999, 2007 2012 David S. Miller (davem@davemloft.net) * Copyright (C) 1999, 2007 2012 David S. Miller (davem@davemloft.net)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/asi.h> #include <asm/asi.h>
#include <asm/backoff.h> #include <asm/backoff.h>
#include <asm/export.h>
.text .text
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
* Copyright (C) 2000, 2007 David S. Miller (davem@davemloft.net) * Copyright (C) 2000, 2007 David S. Miller (davem@davemloft.net)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/asi.h> #include <asm/asi.h>
#include <asm/backoff.h> #include <asm/backoff.h>
#include <asm/export.h>
.text .text
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/export.h>
/* Zero out 64 bytes of memory at (buf + offset). /* Zero out 64 bytes of memory at (buf + offset).
* Assumes %g1 contains zero. * Assumes %g1 contains zero.
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* Copyright (C) 2005 David S. Miller <davem@davemloft.net> * Copyright (C) 2005 David S. Miller <davem@davemloft.net>
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.text .text
......
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
* BSD4.4 portable checksum routine * BSD4.4 portable checksum routine
*/ */
#include <linux/export.h>
#include <asm/errno.h> #include <asm/errno.h>
#include <asm/export.h>
#define CSUM_BIGCHUNK(buf, offset, sum, t0, t1, t2, t3, t4, t5) \ #define CSUM_BIGCHUNK(buf, offset, sum, t0, t1, t2, t3, t4, t5) \
ldd [buf + offset + 0x00], t0; \ ldd [buf + offset + 0x00], t0; \
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
* BSD4.4 portable checksum routine * BSD4.4 portable checksum routine
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
csum_partial_fix_alignment: csum_partial_fix_alignment:
......
...@@ -5,13 +5,13 @@ ...@@ -5,13 +5,13 @@
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com) * Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
*/ */
#include <linux/export.h>
#include <linux/pgtable.h> #include <linux/pgtable.h>
#include <asm/visasm.h> #include <asm/visasm.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/spitfire.h> #include <asm/spitfire.h>
#include <asm/head.h> #include <asm/head.h>
#include <asm/export.h>
/* What we used to do was lock a TLB entry into a specific /* What we used to do was lock a TLB entry into a specific
* TLB slot, clear the page with interrupts disabled, then * TLB slot, clear the page with interrupts disabled, then
......
...@@ -4,9 +4,9 @@ ...@@ -4,9 +4,9 @@
* Copyright (C) 1999, 2000, 2004 David S. Miller (davem@redhat.com) * Copyright (C) 1999, 2000, 2004 David S. Miller (davem@redhat.com)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/asi.h> #include <asm/asi.h>
#include <asm/export.h>
#define XCC xcc #define XCC xcc
......
...@@ -5,13 +5,13 @@ ...@@ -5,13 +5,13 @@
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com) * Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
*/ */
#include <linux/export.h>
#include <asm/visasm.h> #include <asm/visasm.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/page.h> #include <asm/page.h>
#include <linux/pgtable.h> #include <linux/pgtable.h>
#include <asm/spitfire.h> #include <asm/spitfire.h>
#include <asm/head.h> #include <asm/head.h>
#include <asm/export.h>
/* What we used to do was lock a TLB entry into a specific /* What we used to do was lock a TLB entry into a specific
* TLB slot, clear the page with interrupts disabled, then * TLB slot, clear the page with interrupts disabled, then
......
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
* Returns 0 if successful, otherwise count of bytes not copied yet * Returns 0 if successful, otherwise count of bytes not copied yet
*/ */
#include <linux/export.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/asmmacro.h> #include <asm/asmmacro.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/thread_info.h> #include <asm/thread_info.h>
#include <asm/export.h>
/* Work around cpp -rob */ /* Work around cpp -rob */
#define ALLOC #alloc #define ALLOC #alloc
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Copyright (C) 2005 David S. Miller <davem@davemloft.net> * Copyright (C) 2005 David S. Miller <davem@davemloft.net>
*/ */
#include <asm/export.h> #include <linux/export.h>
#ifdef __KERNEL__ #ifdef __KERNEL__
#define GLOBAL_SPARE %g7 #define GLOBAL_SPARE %g7
......
...@@ -5,7 +5,7 @@ This file is part of GNU CC. ...@@ -5,7 +5,7 @@ This file is part of GNU CC.
*/ */
#include <asm/export.h> #include <linux/export.h>
.text .text
.align 4 .align 4
.globl __divdi3 .globl __divdi3
......
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.register %g2,#scratch .register %g2,#scratch
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* and onward. * and onward.
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.text .text
.register %g2, #scratch .register %g2, #scratch
......
...@@ -5,8 +5,8 @@ ...@@ -5,8 +5,8 @@
* and onward. * and onward.
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.text .text
.register %g2, #scratch .register %g2, #scratch
......
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.text .text
.align 32 .align 32
......
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
.text .text
ENTRY(ip_fast_csum) /* %o0 = iph, %o1 = ihl */ ENTRY(ip_fast_csum) /* %o0 = iph, %o1 = ihl */
......
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz) * Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
*/ */
#include <linux/export.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/psr.h> #include <asm/psr.h>
#include <asm/smp.h> #include <asm/smp.h>
#include <asm/spinlock.h> #include <asm/spinlock.h>
#include <asm/export.h>
.text .text
.align 4 .align 4
......
/* SPDX-License-Identifier: GPL-2.0 */ /* SPDX-License-Identifier: GPL-2.0 */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
ENTRY(__lshrdi3) ENTRY(__lshrdi3)
cmp %o2, 0 cmp %o2, 0
......
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
* This can also be tweaked for kernel stack overflow detection. * This can also be tweaked for kernel stack overflow detection.
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/export.h>
/* /*
* This is the main variant and is called by C code. GCC's -pg option * This is the main variant and is called by C code. GCC's -pg option
......
...@@ -5,9 +5,9 @@ ...@@ -5,9 +5,9 @@
* Copyright (C) 2000, 2008 David S. Miller (davem@davemloft.net) * Copyright (C) 2000, 2008 David S. Miller (davem@davemloft.net)
*/ */
#include <linux/export.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <asm/asm.h> #include <asm/asm.h>
#include <asm/export.h>
.text .text
ENTRY(memcmp) ENTRY(memcmp)
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment