linux-xiaomi-chiron/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
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
decompress.c
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
head-sharpsl.S
head-xscale.S
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
Makefile ARM: 8961/2: Fix Kbuild issue caused by per-task stack protector GCC plugin 2020-02-21 17:03:22 +00:00
misc.c
misc.h
piggy.S ARM: 8933/1: replace Sun/Solaris style flag on section directive 2019-11-15 22:21:19 +00:00
string.c
vmlinux.lds.S ARM: 8959/1: Remove unused .fixup section in boot stub 2020-02-21 17:11:04 +00:00