mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 03:40:35 +09:00
8108aab7a0ee7739c106d2612dd55734a7985f0e
__ll_sc_* functions are only referenced in inline assembly, which means lld won't see them when CONFIG_LTO_CLANG is enabled due to a bug in LLVM: https://bugs.llvm.org/show_bug.cgi?id=35841 When LTO and CONFIG_ARM64_LSE_ATOMICS are both enabled, linking fails with the following type of errors: ld.lld: error: relocation R_AARCH64_CALL26 cannot refer to absolute symbol: __ll_sc_atomic64_add_return_acquire >>> defined in vmlinux.o >>> referenced by atomic_lse.h:299 (arch/arm64/include/asm/atomic_lse.h:299) >>> vmlinux.o:(kernel_init_freeable) ... This change works around the problem by always linking in atomic_ll_sc.o to vmlinux, instead of placing it in arch/arm64/lib/lib.a. Bug: 63740206 Bug: 117299373 Bug: 124318741 Bug: 133186739 Change-Id: Idf2211034cce9cb0b6b2007bbdb1dfc1c1a1053d Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
Languages
C
97.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%