ARM: efistub: replace adrl pseudo-op with adr_l macro invocation
authorArd Biesheuvel <ardb@kernel.org>
Mon, 14 Sep 2020 09:28:01 +0000 (12:28 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Mar 2021 16:06:26 +0000 (17:06 +0100)
commitd291b2594f8503b07db7b67de1fc8d13e39db384
tree0f10cbae9056ee1c83d99f7ba0c46b315327fdd3
parentfd863653ad63a75d949050dfe2c208e1feb2fd93
ARM: efistub: replace adrl pseudo-op with adr_l macro invocation

commit 67e3f828bd4bf5e4eb4214dc4eb227d8f1c8a877 upstream.

The ARM 'adrl' pseudo instruction is a bit problematic, as it does not
exist in Thumb mode, and it is not implemented by Clang either. Since
the Thumb variant has a slightly bigger range, it is sometimes necessary
to emit the 'adrl' variant in ARM mode where Thumb mode can use adr just
fine. However, that still leaves the Clang issue, which does not appear
to be supporting this any time soon.

So let's switch to the adr_l macro, which works for both ARM and Thumb,
and has unlimited range.

Reviewed-by: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm/boot/compressed/head.S