WSL2-Linux-Kernel/arch/arm/boot/compressed
Ard Biesheuvel a94691680b efi/arm: Deal with ADR going out of range in efi_enter_kernel()
Commit

  0698fac4ac ("efi/arm: Clean EFI stub exit code from cache instead of avoiding it")

introduced a PC-relative reference to 'call_cache_fn' into
efi_enter_kernel(), which lives way at the end of head.S. In some cases,
the ARM version of the ADR instruction does not have sufficient range,
resulting in a build error:

  arch/arm/boot/compressed/head.S:1453: Error: invalid constant (fffffffffffffbe4) after fixup

ARM defines an alternative with a wider range, called ADRL, but this does
not exist for Thumb-2. At the same time, the ADR instruction in Thumb-2
has a wider range, and so it does not suffer from the same issue.

So let's switch to ADRL for ARM builds, and keep the ADR for Thumb-2 builds.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Tested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20200409130434.6736-6-ardb@kernel.org
2020-04-14 08:32:14 +02:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Makefile ARM: 8961/2: Fix Kbuild issue caused by per-task stack protector GCC plugin 2020-02-21 17:03:22 +00:00
atags_to_fdt.c ARM: 8915/1: zImage: atags_to_fdt: fix __be32 and __be64 types 2019-10-27 21:14:46 +00:00
big-endian.S ARM: 8933/1: replace Sun/Solaris style flag on section directive 2019-11-15 22:21:19 +00:00
debug.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
decompress.c arch/arm/boot/compressed/decompress.c: fix build error due to lz4 changes 2019-06-01 15:51:31 -07:00
efi-header.S efi/libstub: Introduce symbolic constants for the stub major/minor version 2020-02-23 21:59:42 +01:00
head-sa1100.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head-sharpsl.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head-xscale.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
head.S efi/arm: Deal with ADR going out of range in efi_enter_kernel() 2020-04-14 08:32:14 +02:00
libfdt_env.h libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h 2019-11-26 13:35:25 -07:00
ll_char_wr.S treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
misc.c Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm 2018-04-09 09:19:30 -07:00
misc.h ARM: decompressor: fix warning introduced in fortify patch 2018-04-05 23:56:40 +01:00
piggy.S ARM: 8933/1: replace Sun/Solaris style flag on section directive 2019-11-15 22:21:19 +00:00
string.c ARM: boot: add strrchr function 2018-03-01 12:02:48 -06:00
vmlinux.lds.S ARM: 8959/1: Remove unused .fixup section in boot stub 2020-02-21 17:11:04 +00:00